Найти тему
Как решать LeetCode задачи
Как решать LeetCode задачи Отвечаю на вопрос "А как решать задачи на литкоде?", который часто встречаю в разных формулировках у себя в комментариях. Сразу обозначу, что чтобы научиться решать литкод задачи, нужно решать литкод задачи. Некоторые решают литкод задачи чтобы подготовиться к собеседованию. Некоторые просто для расширения кругозора, для набора общего опыта (я для этого решаю). Если вы думаете, что научившись решать литкод задачи вы станете классным прогаммистом, скажу, что это так не работает. Не станете. Решение задачек на литкоде это заучивание паттернов. Если вы пробовали решать дейли...
5 месяцев назад
Секрет в том, что секрета нет
Когда я только начинал программировать (писать сайты, создавать приложения с графическим интерфейсом), мне казалось, что есть какие-то секреты, тайны, которые скрывают настоящие программисты. Как делают сборку приложений? Как эти приложения запускают? А как обрабатывают пользовательские данные? Как реализуют уровни доступа? Оказалось, что никаких секретов нет. Делают как делают. Чаще всего делают как попало. Потому что самое главное, чтобы хоть как-то работало. А какой ужас творится под капотом...
8 месяцев назад
Зачем PlantUML, когда есть С4?
PlantUML Если вы хоть чуть-чуть в сфере ИТ, вы точно встречали PlantUML диаграммы. Это такие схемки с пошаговым описанием действий в системе, или описанием структуры проекта (сервисы, базы, и тд). Визуализация это, конечно, прекрасно, но хорошая визуализация ещё лучше. А PlantUML предоставляет хорошую визуализацию только для одного уровня абстракции. С4 В проекте всегда можно выделить несколько уровней абстракции, и именно про это модель C4. Четверка в названии означает уровни: 1. Диаграмма системы — что приносит пользу пользователю. Система состоит из контейнеров. 2. Диаграмма контейнера —...
8 месяцев назад
Качество подписчиков важнее количества
Вчера в Телеграм канале случилась первая тысяча подписчиков. У меня лучшие подписчики. Конечно, у каждого блогера именно его подписчики самые лучшие. Спасибо, что читаете. Отдельное спасибо всем, кто проявляет активность: ставит реакции, пишет комментарии. Например, этой ночью успели обсудить математические правила по приоритетам операций, финансовые инструменты (ипотеки, вклады), так ещё и успевали отвечать на вопросы по коду. Огромное спасибо тем, кто поддерживает на бусти, это очень приятно и сильно мотивирует...
8 месяцев назад
Единственный глупый вопрос это незаданный вопрос
Не начинайте с «А можно глупый вопрос?». Забудьте такое сочетание слов, это глупый вопрос. А самый глупый вопрос тот, который вы не задали. Если вы попали в чат / сообщество снобов, где вас высмеивают за ваши вопросы, ищите другое место, где вам подскажут. При этом важно уметь задавать вопрос. Если вы не можете описать проблему, сформулировать мысль, то вам не смогут помочь...
8 месяцев назад
Про синдром фронтендера
Фронтендер (если сомневается в себе) считает бекендера более крутым программистом, ведь тому нужно и с базами данных работать и авторизацию проверять. Это вам не кнопки красить. Бекендеру (веб) кажется, что реальные программисты это те ребята, что пишут нативные приложения на плюсах. Допускаю, что плюсовики могут позавидовать встройщикам, которые под embedded системы ужимают приложения в считанные килобайты...
8 месяцев назад
Эффект сарая, или цена договариваемости (он же закон тривиальности)
В какой цвет мне покрасить сарай? Или, может быть, вы подскажете, какой тренажёр установить во дворе? Несложные вопросы, правда? А как сделать атомный реактор? Сможете подсказать? Тут советов будет поменьше. Сложность договориться с человеком или группой людей достигает квадратичного значения в зависимости от количества людей. То есть, если на то, чтобы договориться с одним соседом / коллегой, вам нужно потратить единицу времени (или нервов), то на пятерых понадобится двадцать пять таких единиц. Паркинсон сформулировал закон тривиальности так: «Время, потраченное на обсуждение пункта, обратно пропорционально рассматриваемой сумме»...
9 месяцев назад
Программист должен быть ленивым
Ленитесь изобретать велосипеды. Ленитесь копипастить. Если вам лень написать нормально и поэтому вы копипастите - это неправильная лень. Потому что программист должен думать наперёд. Если вы что-то скопировали, потом придётся копировать снова. Вам должно быть лень скопировать снова, лучше один раз сделать нормально и потом переиспользовать...
9 месяцев назад
Моя проблема с незнакомыми номерами
Не берите трубки с незнакомых номеров. Совсем выключите приём звонков (от незнакомых номеров) на телефоне. Казалось бы, так можно избавиться от кучи лишней информации. Кто обычно звонит с незнакомого номера? Реклама (спам, холодные звонки), а также мошенники и прочие разводилы, которым нужны ваши деньги. Вот отключил ты звонки, и всё, никто тебя не отвлечёт и не разведёт. Все эти банки, спортивные клубы, мастера ремонта никогда не получат ваших денег. Вы к ним не приходили, а они с вас что-то хотят. Зачем их кормить? Как только мы перестанем отвечать на незнакомые номера, их дело умрёт. Всё ведь...
9 месяцев назад
Синхронность и асинхронность
Вы обращали внимание, что “синхронный” в реальном мире и “асинхронный” у программистов значат одно и то же? Хотя “а” говорит о противоположности, отрицании. Например, синхронное плавание было бы в программировании реализовано асинхронно - когда несколько исполнителей выполняют работу одновременно, не мешая друг другу. В программировании наоборот — синхронное выполнение это когда мы дожидаемся окончания первой задачи, и только потом переходим ко второй, и тд...
9 месяцев назад
Люди не поняли ночную тему
Во многих (если не во всех) приложениях есть ночная тема. В большинстве случаев всё белое меняется на черное, а всё черное на белое. Но есть особые случаи, про которые эта заметка. Есть программы, которые при включении ночной темы становятся СИНИМИ. Синий цвет. Ночная тема. Куча публикаций (и даже выступлений) про то, что синий цвет это лишний раздражитель, и что перед сном (то есть НОЧЬЮ) надо снижать присутствие синего цвета, поэтому у всех производителей давно есть всякие фильтры типа Night Shift (Apple) и Eye comfort shield / Night Light (Samsung и прочие андроиды), которые делают экран желтым или даже оранжевым (что ночью незаметно, но вот если отключить, то становится больно)...
9 месяцев назад
Циклические импорты
Как же легко натолкнуться на циклические импорты. Обычно исправить такую ошибку несложно, а ещё проще не доводить до такого совсем, ведь достаточно следовать нескольким простым правилам: Не бойтесь создавать новые модули и функции, никто не осудит вас за слишком маленькие файлы.. а вот за большие может прилететь по шапке...
9 месяцев назад