Найти в Дзене
Не занимайтесь ерундой или занимайтесь ею.
Ни для кого не секрет, что некоторые программисты в свободное от работы время программируют. Но у каждого такого программиста свой интерес. Кто-то пишет петпроект, на который возлагает большие надежды. Кто-то помогает знакомым поднять проект мобильного приложения (да, тот товарищ из анекдота). А кто-то занимается ерундой. Я конечно из тех, кто бесцельно пишет код, когда находит свободное время. Во-первых, это помогает отвлечься от тех проблем, которые я решаю на работе. Во-вторых, это помогает мне развивать мою способность писать код, который отличается от того кода, который я пишу на работе...
2 года назад
Есть два типа программистов: одних сколько не корми, другие все равно в лес смотрят.
На самом деле существует множество типов программистов. Классифицировать их можно по бесконечному числу параметров, но сегодня я хочу рассказать о делении программистов по одному конкретному признаку, который считаю очень важным. Итак... Что первично, Архитектура или Код? Несколько лет назад в диалоге с коллегой я встретил такой аргумент: "да что ты сделал, всего то проект написал, а я написал код!" Безусловно этот довод совершенно бесспорный, ведь без кода результата работы нет. Но и я в свою очередь...
2 года назад
Чеклист для HighLoad стартапа
Эта статья будет полезна, если вы начинаете проект, который может перерасти в HL или у вас уже есть проект, который имеет высокую нагрузку. Я не буду тут говорить про вертикальное и горизонтальное масштабирование, о микросервисах, балансировке нагрузки, важности тестирования и прочем таком. Будем считать, что читатели все это уже знают, ну а если кто-то не знает, пусть гуглит сейчас. Кроме того, я не заявляю, что по окончании прочтения этой статьи все преисполнятся новыми знаниями - нет. Цель этой статьи собрать воедино какой-никакой удобоваримый чек-лист для создания HighLoad системы...
3 года назад
Как я написал обертку для работы с базой данных... на каналах
Сломать конкурентность при выполнении запросов к базе данных? Получать данные из базы с помощью каналов, которые необходимо вычитывать до конца? Наворотить такого, что потом никто не разберется? Да... Знаем, практикуем, умеем. Стоп! Что? Ни для кого не секрет, что в go нужно делать так: Обращаю внимание на `defer rows.Close()` сразу после корректного выполнения `db.Query` и `rows.Next()` перед каждой `rows.Scan`. Ну традиция. Вернее, теперь это, наверно, классика, т.к. так поступать уже не модно...
3 года назад
Golang, ну все. Хорош... Не делай так... Как правильно отменять контекст.
Ну ладно, я сразу к делу. Когда я вижу какую то очередную статью типа "как корректно завершить приложение на go" в которой вижу вот такие кусочки кода, то сразу хватаюсь за голову... Ну ладно, я не буду тут паясничать, сразу скажу, что не так. Во-первых, в представленном коде defer cancel - это как если вы выходя из дома решили не закрывать дверь - она же сама постепенно закроется, пока вы спускаетесь по лестнице. Я сейчас, как автор этой "сломанной статьи" приведу пример из официальной документации GO...
3 года назад
Повелитель багов
Привет. Я - повелитель багов. А теперь стоп и отмотаем немного назад. Решил я как то написать немного о себе. Причин много - брат пишет, какие то люди пишут, да все вокруг пишут, а я только работаю и ем. При этом копится внутри какая то невысказанная суета. Хочется поговорить - пристаю к Коляну по телефону, но вот он уже все про меня знает, а хочется поговорить еще и получить больше фидбэков... Надо что-то написать. Устроился я как то на работу в компанию и думал, что это хорошо и что мне очень повезло...
3 года назад