Кстати, интересно, c каким языками вы работаете.
Конечно все существующие не перечислить, поэтому выберу самые популярные.
Конечно все существующие не перечислить, поэтому выберу самые популярные.
Потрясающая статья о том, почему ООП - это плохо.
Самое забавное, что 70% компаний в требованиях к вакансии, даже для джуниоров, указывают знание ООП и дизайн паттернов.
Статья с доводами и примерами, не смотря на то, что она внушительно длинная, советую почитать.
https://link.medium.com/u7dX48d7b9
Самое забавное, что 70% компаний в требованиях к вакансии, даже для джуниоров, указывают знание ООП и дизайн паттернов.
Статья с доводами и примерами, не смотря на то, что она внушительно длинная, советую почитать.
https://link.medium.com/u7dX48d7b9
Medium
Object-Oriented Programming — The Trillion Dollar Disaster
OOP is considered by many to be the crown jewel of computer science. The final solution to code organization. The end to all of our…
Ребят, я там писал о своей истории, как я стал программистом https://news.1rj.ru/str/webmess/163.
Так вот, из-за этой истории попал в подкаст “запуск завтра”!
И сегодня он наконец-то вышел !
Я присоединяюсь где-то на 16-17 минуте.
Так вот, из-за этой истории попал в подкаст “запуск завтра”!
И сегодня он наконец-то вышел !
Я присоединяюсь где-то на 16-17 минуте.
Telegram
web mess
Ребят, привет!
Я написал свой первый лонгрид с деталями о том, как я в итоге устроился на работу разработчиком.
Было сложно уместить историю длиною в год в одной заметке, поэтому я постарался упоминать только самое важное.
Так что, велкам:
https://t…
Я написал свой первый лонгрид с деталями о том, как я в итоге устроился на работу разработчиком.
Было сложно уместить историю длиною в год в одной заметке, поэтому я постарался упоминать только самое важное.
Так что, велкам:
https://t…
Forwarded from запуск завтра
Обсуждаем с Федей в подкасте, как стать программистом. Я делюсь своим путем, Федя — своим, звоним вместе нашему слушателю и вспоминаем истории из жизни.
Книги или онлайн курсы? Какие языки учить? Стоит ли пытаться стать программистом гуманитарию или если тебе за 40? Куда податься новичку без связей в индустрии?
А ещё я вспоминаю загадку про волка, козу и капусту и объясняю, почему она ближе к математике, чем большинство школьных уроков, по недоразумению называемых так же.
Душевный выпуск.
Слушайте везде: Apple, Google, Castbox, Яндекс, Spotify, Overcast, ютуб и веб-версия.
Книги или онлайн курсы? Какие языки учить? Стоит ли пытаться стать программистом гуманитарию или если тебе за 40? Куда податься новичку без связей в индустрии?
А ещё я вспоминаю загадку про волка, козу и капусту и объясняю, почему она ближе к математике, чем большинство школьных уроков, по недоразумению называемых так же.
Душевный выпуск.
Слушайте везде: Apple, Google, Castbox, Яндекс, Spotify, Overcast, ютуб и веб-версия.
Для всех, кто хочет выучить Go.
Упорядоченный список того, что стоит выучить с ссылками на ресурс.
Часть - это материал, написанный самим автором, другая часть - ссылки на сторонние, в том числе официальные, ресурсы.
Велкам!
https://github.com/hoanhan101/ultimate-go
Упорядоченный список того, что стоит выучить с ссылками на ресурс.
Часть - это материал, написанный самим автором, другая часть - ссылки на сторонние, в том числе официальные, ресурсы.
Велкам!
https://github.com/hoanhan101/ultimate-go
GitHub
GitHub - hoanhan101/ultimate-go: The Ultimate Go Study Guide
The Ultimate Go Study Guide. Contribute to hoanhan101/ultimate-go development by creating an account on GitHub.
Forwarded from Node.JS [ru] | Серверный JavaScript
Встречайте tinyhttp, крошечная и быстрая альтернатива Express без легаси
Авторская статья (написанная мною, @talentless_guy), о том, зачем я начал писать свой фреймворк, какие проблемы он решает, и как начать им пользоваться. Будет интересно тем, кто пишет бекенд на Express, и хотел бы попробовать что-то новое, но с тем же API.
p.s. готовится статья про процессную многозадачность (на русском) в Node.js, в будущем будет опубликована
#jsarticle #javanoscript #backend #nodejs #tinyhttp #express #typenoscript
Авторская статья (написанная мною, @talentless_guy), о том, зачем я начал писать свой фреймворк, какие проблемы он решает, и как начать им пользоваться. Будет интересно тем, кто пишет бекенд на Express, и хотел бы попробовать что-то новое, но с тем же API.
p.s. готовится статья про процессную многозадачность (на русском) в Node.js, в будущем будет опубликована
#jsarticle #javanoscript #backend #nodejs #tinyhttp #express #typenoscript
DEV Community
Meet tinyhttp, a 0-legacy, tiny and fast alternative to Express
What tinyhttp is a modern Express-like web framework written in TypeScript and compiled to...
Судя по опросу в прошлом, здесь есть те, кто пишет на js.
Мой товарищ написал свой фрэймворк, похожий на Express,но без легаси кода.
Проект активно развивается и уже набрал больше 7к скачиваний и больше 200 звезд на гх.
Кому интересен бэкенд на js - советую попробовать, будет интересно ваше мнение 🙂
Мой товарищ написал свой фрэймворк, похожий на Express,но без легаси кода.
Проект активно развивается и уже набрал больше 7к скачиваний и больше 200 звезд на гх.
Кому интересен бэкенд на js - советую попробовать, будет интересно ваше мнение 🙂
Разных сервисов с free tier планом для разработчиков куча, это круто.
Но их настолько много, что сложно даже разобраться.
Нашел офигенный список с детальным описанием бесплатных фич всех крупных и не очень платформ.
Список не ограничивается только клауд провайдерами, там много разного, так что, зацените!
https://github.com/ripienaar/free-for-dev
Но их настолько много, что сложно даже разобраться.
Нашел офигенный список с детальным описанием бесплатных фич всех крупных и не очень платформ.
Список не ограничивается только клауд провайдерами, там много разного, так что, зацените!
https://github.com/ripienaar/free-for-dev
GitHub
GitHub - ripienaar/free-for-dev: A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev
A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev - ripienaar/free-for-dev
Скорее всего, это не очень объективная метрика для оценки продуктивности.
Но мне всегда нравится в конце рабочего дня смотреть, сколько времени я кодил/на каких языках/в каких репо.
Поэтому, пользуюсь Wakatime, который можно прикрутить к любому редактору.
В моём случае это - NeoVim.
Работает идеально, главвное чтобы на компе был правильно установлен Python.
Оставляю ссылку, если кто-то тоже захочет себе поставить.
https://wakatime.com/
Но мне всегда нравится в конце рабочего дня смотреть, сколько времени я кодил/на каких языках/в каких репо.
Поэтому, пользуюсь Wakatime, который можно прикрутить к любому редактору.
В моём случае это - NeoVim.
Работает идеально, главвное чтобы на компе был правильно установлен Python.
Оставляю ссылку, если кто-то тоже захочет себе поставить.
https://wakatime.com/
WakaTime
WakaTime - Dashboards for developers
Open source IDE plugins for programmers.
Forwarded from 🦖 Айти Тудэй 🦥
Всех причастных с Днём программиста! Ни утечки, ни сегфолта! Остальным соболезную, что приходится иметь дело с программистами.
Сегодня со мной случилось забавное и неожиданное открытие.
Приняли мой pr в дев ветку, я предварительно проверил всё, в докере билд проходил.
Из дева автоматически билдится новый образ в dockerhub.
В итоге захожу на докерхаб и статус моего билда - Failed.
Немного порылся и выяснилось, что если ты кладешь в репо файл с окончанием test.yaml - запускаются автотесты на этот контейнер.
Так я и узнал, что докерхаб умеет в автотесты.
Вот дока: https://docs.docker.com/docker-hub/builds/automated-testing/
Приняли мой pr в дев ветку, я предварительно проверил всё, в докере билд проходил.
Из дева автоматически билдится новый образ в dockerhub.
В итоге захожу на докерхаб и статус моего билда - Failed.
Немного порылся и выяснилось, что если ты кладешь в репо файл с окончанием test.yaml - запускаются автотесты на этот контейнер.
Так я и узнал, что докерхаб умеет в автотесты.
Вот дока: https://docs.docker.com/docker-hub/builds/automated-testing/
Docker Documentation
Automated repository tests
Automated tests
Интересная статья об обработке нескольких ошибок в го. И, кстати, да, я решил вернуться. Сейчас работаю на удаленке, поэтому времени на написание постов будет побольше.
https://medium.com/a-journey-with-go/go-multiple-errors-management-a67477628cf1
https://medium.com/a-journey-with-go/go-multiple-errors-management-a67477628cf1
Medium
Go: Multiple Errors Management
Error management in Go is always prone to debate and a recurrent topic in the annual survey about the biggest challenges developers are…
Во многих источниках по concurrency в go видел рекомендацию о том, что одна горутина не должна принимать из канала и одновременно писать в него.
Раньше не понимал почему, вплоть до момента, пока не столкнулся с последствиями такого решения в проде (автором того куска кода был не я).
В моём примере был локальный буфер для кликхауса, который собирал определенное количество строчек и потом делал bulk в сам кх.
Так вот, эти строки он получал из канала, складывал в массив. Потом по сигналу от тикера делал запись. В случае, если запись была неудачной - засовывал всё из массива обратно в канал. Размер канала 2000, одновременно с тем, как записи возвращались обратно в канал, они так же поступали в него из других горутин.
При этом, горутина, которая должна была читать что-то из канала была заблокирована и канал переполнялся и получался deadlock.
Вывод: одна горутина не должна одновременно читать и записывать в канал, получится deadlock. Нужно либо создавать другой, резервный канал для записи из этой горутины, либо запускать внутри этой горутины еще одну, которая будет записывать.
Раньше не понимал почему, вплоть до момента, пока не столкнулся с последствиями такого решения в проде (автором того куска кода был не я).
В моём примере был локальный буфер для кликхауса, который собирал определенное количество строчек и потом делал bulk в сам кх.
Так вот, эти строки он получал из канала, складывал в массив. Потом по сигналу от тикера делал запись. В случае, если запись была неудачной - засовывал всё из массива обратно в канал. Размер канала 2000, одновременно с тем, как записи возвращались обратно в канал, они так же поступали в него из других горутин.
При этом, горутина, которая должна была читать что-то из канала была заблокирована и канал переполнялся и получался deadlock.
Вывод: одна горутина не должна одновременно читать и записывать в канал, получится deadlock. Нужно либо создавать другой, резервный канал для записи из этой горутины, либо запускать внутри этой горутины еще одну, которая будет записывать.