Forwarded from Ви.Tech
Наш коллега Денис Черносов записал видео "Принцип подстановки Барбары Лисков геометрическая интерпретация" https://www.youtube.com/watch?v=BwuiNEyegTc , который попал в свежий PHPDigest.
Для многих по отзывам этот самый непонятный приниц стал теперь более понятным. Спасибо!
Для многих по отзывам этот самый непонятный приниц стал теперь более понятным. Спасибо!
YouTube
2021 06 22 Принцип подстановки Барбары Лисков геометрическая интерпретация
SOLID Принцип подстановки Барбары Лисков.
https://habr.com/ru/post/559724/ - исходная статья, которая вдохновила меня на это видео.
https://habr.com/ru/post/559724/ - исходная статья, которая вдохновила меня на это видео.
https://github.com/direnv/direnv Когда работаете с сервисами, у которых не предусмотрена работа с .env файлами.
GitHub
GitHub - direnv/direnv: unclutter your .profile
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.
Строим веб сервис в новом выпуске отсобеседования. Никаких теорий, только практические задачки из реальной (почти) жизни.
Выпуск выдет на youtube завтра, сегдня для патронов.
Выпуск выдет на youtube завтра, сегдня для патронов.
Forwarded from Отсобеседование (Илья Бельский)
#18 Сеньор в 23? Собеседование Middle Backend разработчика
Новый выпуск уже доступен на патреоне: https://www.patreon.com/otsobes
Новый выпуск уже доступен на патреоне: https://www.patreon.com/otsobes
За последний месяц прошёл несколько собеседований. Хотел изучить рынок, узнать чего хотят, сколько платят. Пробежался по компаниям, о которых слышали не только вы но и ваши родители и знакомые. Получил кучу полезной информации, которой поделюсь в понедельник на стриме. Приходите) https://youtu.be/_7qEgYQWF9Q
YouTube
Фронтенд Кухня - Неудачные собеседования
Поделимся своими историями о неудачных собеседованиях, ответим на частые вопросы и просто пообщаемся.
https://github.com/emirpasic/gods Полезная реализация алгоритмов и структур данных для гоферов
GitHub
GitHub - emirpasic/gods: GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more
GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more - emirpasic/gods
https://github.com/vulcand/oxy Отличный двиг для тех кто пишет свой прокси. Кстати говоря используется в traefik
GitHub
GitHub - vulcand/oxy: Go middlewares for HTTP servers & proxies
Go middlewares for HTTP servers & proxies. Contribute to vulcand/oxy development by creating an account on GitHub.
IMG_20160123_222247.jpg
150.3 KB
Unit-тесты
Век живи - век учись. На собеседовании узнал от кандидата о существовании двух школ тестирования. Детройтской и Лондонской. Если не углубляться в подробности, то первая школа выступает за тестирование интеграционное, когда мы в первую очередь проверяем что наше приложение рабочее. Вторые выступают за юнит тесты, с моками всех зависимостей и проверкой в первую очередь работоспособности каждого элемента приложения.
Оказывается я отношусь к детройтской школе) Все никак не мог понять где я ошибаюсь, почему только я один считаю что юнит тесты:
- дольше и дороже
- если они выполнились это вообще не значит что приложение заработает в проде
Для меня очевидно, что в первую очередь надо тестировать апи методы, крон уитилиты, консьюмеры и т.д., а не каждый класс, из которого они состоят. Тем более что если наш идеальный мок работает именно так, не означает что реальная зависимость поведет себя также. Оказывается таких кто считает также как я много. Все, мне стало легче жить )
На картинке, которую я так долго искал, как раз мой взгляд на юнит тесты.
Они тоже конечно нужны и никто не призывает от них отказываться, ни в коем случае. Вопрос только в приоритезации.
Оказывается я отношусь к детройтской школе) Все никак не мог понять где я ошибаюсь, почему только я один считаю что юнит тесты:
- дольше и дороже
- если они выполнились это вообще не значит что приложение заработает в проде
Для меня очевидно, что в первую очередь надо тестировать апи методы, крон уитилиты, консьюмеры и т.д., а не каждый класс, из которого они состоят. Тем более что если наш идеальный мок работает именно так, не означает что реальная зависимость поведет себя также. Оказывается таких кто считает также как я много. Все, мне стало легче жить )
На картинке, которую я так долго искал, как раз мой взгляд на юнит тесты.
Они тоже конечно нужны и никто не призывает от них отказываться, ни в коем случае. Вопрос только в приоритезации.
Решил я тут значится недавно походить по собесам, на мир посмотреть, себя показать. Узнаю думаю сколько предлагают на рынке, чего хотят, кого ищут. Времени жалко было много тратить на это поэтому выбрал две очень известные компании из тех, что писали мне и согласился пройти интервью. Ну и закончилось все тем, что я теперь в команде архитектуры Авито. Неожиданно даже для самого себя.
Я нашел тут ту самую нишу, которая мне всегда была близка и интересна - платформенная разработка https://habr.com/ru/company/avito/blog/527400. Никакого больше бизнесового фиче-конвеера. Только кубер, service mesh, инфраструктура, golang и вот это все. Ну и контент будущий от меня тоже будет с этими темами чаще всего связан )
В мире полно интересных задач и даже в рамках только нашей страны. Желаю каждому найти рыбу своей мечты, наиболее подходящие под себя. Главное не ждать пока эта рыба найдет вас сама.
Я нашел тут ту самую нишу, которая мне всегда была близка и интересна - платформенная разработка https://habr.com/ru/company/avito/blog/527400. Никакого больше бизнесового фиче-конвеера. Только кубер, service mesh, инфраструктура, golang и вот это все. Ну и контент будущий от меня тоже будет с этими темами чаще всего связан )
В мире полно интересных задач и даже в рамках только нашей страны. Желаю каждому найти рыбу своей мечты, наиболее подходящие под себя. Главное не ждать пока эта рыба найдет вас сама.
Хабр
Платформа как сервис в Авито: как это устроено
Привет, Хабр! Меня зовут Александр Лукьянченко, я тимлид команды, которая занимается платформой в Авито. В этой статье я расскажу о проблемах, которые возникали у нас...
Долгое время не работал с go чтоб прям плотно. В основном только посмотреть/поправить. Теперь окунулся с головой и вижу что особо ничего не изменилось за время моего отсутствия 🙂 Как страдали все с обработками ошибок так и страдают, как не было стандартов логирования так и нет, ну и тд. Но я в общем-то не про это, к тому же эти минусы перевешаны плюсами. Попутно откопал еще полезняшек для гоферов.
Гайд от Uber https://github.com/uber-go/guide/blob/master/style.md Думаю каждый сможет найти что-то полезное или на подумать.
https://github.com/dariubs/GoBooks Полезный список полезных книг (некоторые даже переведены на русский https://github.com/sefus/the-little-go-book/blob/master/ru/go.md). Взял себе пару в список на чтение по вечерам.
Ну и конечно роадмап https://github.com/Alikhll/golang-developer-roadmap. Я бы конечно похоливарил насчет наличия там ветки ОРМ. Но это данность, с которой точно придется жить в обозримом будущем. А в остальном подсвечены правильные направления.
Гайд от Uber https://github.com/uber-go/guide/blob/master/style.md Думаю каждый сможет найти что-то полезное или на подумать.
https://github.com/dariubs/GoBooks Полезный список полезных книг (некоторые даже переведены на русский https://github.com/sefus/the-little-go-book/blob/master/ru/go.md). Взял себе пару в список на чтение по вечерам.
Ну и конечно роадмап https://github.com/Alikhll/golang-developer-roadmap. Я бы конечно похоливарил насчет наличия там ветки ОРМ. Но это данность, с которой точно придется жить в обозримом будущем. А в остальном подсвечены правильные направления.
GitHub
guide/style.md at master · uber-go/guide
The Uber Go Style Guide. Contribute to uber-go/guide development by creating an account on GitHub.
У меня тут образовалась лицензия свободная на любую IDE от JetBrains на год (включая саму IntelliJ IDEA Ultimate). Долго думал куда пристроить. Хоть иди и первому встречному вручай. Но в итоге подумал что спортивнее и справедливее будет придумать какой-то квест простой.
У меня есть одна проблема - я вообще не умею придумывать названия, ни для чего. Всегда получается так себе. И вот возникла идея может кто сможет предложить интересное название для канала 🙂 Автор лучшего и получит заслуженную лицензию.
Если есть интетересная идея - пиши в форму https://docs.google.com/forms/d/e/1FAIpQLSeljXYik4EI_eHs6GTqlzT7or0BhTKaKNlQny1em1275DqqiA/viewform Даже если она кажется бредовой все равно пиши) Кроме меня эти варианты больше никто не увидит.
У меня есть одна проблема - я вообще не умею придумывать названия, ни для чего. Всегда получается так себе. И вот возникла идея может кто сможет предложить интересное название для канала 🙂 Автор лучшего и получит заслуженную лицензию.
Если есть интетересная идея - пиши в форму https://docs.google.com/forms/d/e/1FAIpQLSeljXYik4EI_eHs6GTqlzT7or0BhTKaKNlQny1em1275DqqiA/viewform Даже если она кажется бредовой все равно пиши) Кроме меня эти варианты больше никто не увидит.
Контроль секретов в коде https://github.com/GitGuardian/ggshield Очень актуально когда над проектом работает (или уже поработало) много людей. Вероятно что среди них были те, кто внедрял «по-быстрому», не имея времени ли желания разбираться как организовать секреты. А чаще всего я видел варианты «потом переделаем». В итоге находишь потом различные токены от API или даже от БД.
Есть интеграции со всеми популярными системами: GitHub, GitLab, Jenkins и т.д. Один раз добавил и спишь спокойно.
Есть интеграции со всеми популярными системами: GitHub, GitLab, Jenkins и т.д. Один раз добавил и спишь спокойно.
GitHub
GitHub - GitGuardian/ggshield: Detect and validate 500+ types of hardcoded secrets with advanced checks. Use it as a pre-commit…
Detect and validate 500+ types of hardcoded secrets with advanced checks. Use it as a pre-commit hook, GitHub Action, or CLI for proactive secret detection and security. - GitGuardian/ggshield
В продолжении темы CI есть вот такая книжка по GitHub Actions https://actionsbook.com/ Как по мне дороговато по российским меркам за то, что скорее всего довольно быстро устареет. Однако для тех, кто серьезно связан с GitHub-ом может оказаться очень кстати именно сейчас. Быстро прочитать все самое нужное в одном месте, чем по крупицам собирать по Интернетам и все равно что-то пропустить.
Actionsbook
Building GitHub Actions
Learn how to build GitHub Actions to solve the issues you hit every single day, using any programming language you like
Вы все еще боитесь собеседований? Или что-то поменять в своей жизни к лучшему?) https://vc.ru/hr/293852-analitika-dlya-hantinga-i-rekomendacii-po-naymu-it-specialistov
vc.ru
Аналитика для хантинга и рекомендации по найму ИТ-специалистов — Карьера на vc.ru
В этой статье мы расскажем, сколько сейчас стоит нанять востребованных разработчиков, девопсов, SRE, QA, продакт менеджеров, продуктовых аналитиков. Опишем, какие факторы аффектят сейчас рынок найма в ИТ, и отметим растущие тренды, которые будут определять…
Говорят исходники платформы для голосования утекли https://github.com/moscow-technologies/blockchain-voting_2021 Информацию проверить невозможно конечно, однако всегда интересно посмотреть что там внутри )
GitHub
GitHub - moscow-technologies/blockchain-voting_2021: Moscow city blockchain electronic voting system
Moscow city blockchain electronic voting system. Contribute to moscow-technologies/blockchain-voting_2021 development by creating an account on GitHub.
Не коммитил в опен сорс уже несколько лет, с тех пор как с Yii завязал ) И тут на тебе, пофиксил багу в traefik https://github.com/traefik/traefik/pull/8381 Мелочь но все равно приятно что правка попала в релиз.
GitHub
Fix empty body error for mirroring middleware by antgubarev · Pull Request #8381 · traefik/traefik
What does this PR do?
Fix bug #8045
Motivation
I need usefull feature
fixes #8045
More
Added/updated tests
Added/updated documentation
Fix bug #8045
Motivation
I need usefull feature
fixes #8045
More
Added/updated tests
Added/updated documentation
На удивление часто слышу неверное понимание некоторых базвордов в API. Вот тут как раз под руку попалось описание что к чему https://inlaymansterms.io/blog/api
Там кстати на это сайте есть еще и другие определения, которые могут некторым оказаться полезными.
Там кстати на это сайте есть еще и другие определения, которые могут некторым оказаться полезными.
Уже готово описание вчерашней глобальной проблемы https://blog.cloudflare.com/october-2021-facebook-outage/ А вот у кого-то возникла похожая проблема :)