Техлидошная | Golang Infra Dev | Project Leading – Telegram
Техлидошная | Golang Infra Dev | Project Leading
547 subscribers
25 photos
1 file
159 links
Про платформенную (инфраструктурную) разработку, golang, техлидерство проектов, профессиональному росту и всему остальному, что связано с IT.
Автор: Антон Губарев (https://antgubarev.tech/ru/) @antgubarev. Инеженер Авито PaaS, архитектор и техлид
Download Telegram
Век живи - век учись. На собеседовании узнал от кандидата о существовании двух школ тестирования. Детройтской и Лондонской. Если не углубляться в подробности, то первая школа выступает за тестирование интеграционное, когда мы в первую очередь проверяем что наше приложение рабочее. Вторые выступают за юнит тесты, с моками всех зависимостей и проверкой в первую очередь работоспособности каждого элемента приложения.

Оказывается я отношусь к детройтской школе) Все никак не мог понять где я ошибаюсь, почему только я один считаю что юнит тесты:
- дольше и дороже
- если они выполнились это вообще не значит что приложение заработает в проде
Для меня очевидно, что в первую очередь надо тестировать апи методы, крон уитилиты, консьюмеры и т.д., а не каждый класс, из которого они состоят. Тем более что если наш идеальный мок работает именно так, не означает что реальная зависимость поведет себя также. Оказывается таких кто считает также как я много. Все, мне стало легче жить )

На картинке, которую я так долго искал, как раз мой взгляд на юнит тесты.

Они тоже конечно нужны и никто не призывает от них отказываться, ни в коем случае. Вопрос только в приоритезации.
Решил я тут значится недавно походить по собесам, на мир посмотреть, себя показать. Узнаю думаю сколько предлагают на рынке, чего хотят, кого ищут. Времени жалко было много тратить на это поэтому выбрал две очень известные компании из тех, что писали мне и согласился пройти интервью. Ну и закончилось все тем, что я теперь в команде архитектуры Авито. Неожиданно даже для самого себя.

Я нашел тут ту самую нишу, которая мне всегда была близка и интересна - платформенная разработка 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. Я бы конечно похоливарил насчет наличия там ветки ОРМ. Но это данность, с которой точно придется жить в обозримом будущем. А в остальном подсвечены правильные направления.
У меня тут образовалась лицензия свободная на любую IDE от JetBrains на год (включая саму IntelliJ IDEA Ultimate). Долго думал куда пристроить. Хоть иди и первому встречному вручай. Но в итоге подумал что спортивнее и справедливее будет придумать какой-то квест простой.
У меня есть одна проблема - я вообще не умею придумывать названия, ни для чего. Всегда получается так себе. И вот возникла идея может кто сможет предложить интересное название для канала 🙂 Автор лучшего и получит заслуженную лицензию.
Если есть интетересная идея - пиши в форму https://docs.google.com/forms/d/e/1FAIpQLSeljXYik4EI_eHs6GTqlzT7or0BhTKaKNlQny1em1275DqqiA/viewform Даже если она кажется бредовой все равно пиши) Кроме меня эти варианты больше никто не увидит.
Channel name was changed to «Техлидошная»
Контроль секретов в коде https://github.com/GitGuardian/ggshield Очень актуально когда над проектом работает (или уже поработало) много людей. Вероятно что среди них были те, кто внедрял «по-быстрому», не имея времени ли желания разбираться как организовать секреты. А чаще всего я видел варианты «потом переделаем». В итоге находишь потом различные токены от API или даже от БД.
Есть интеграции со всеми популярными системами: GitHub, GitLab, Jenkins и т.д. Один раз добавил и спишь спокойно.
В продолжении темы CI есть вот такая книжка по GitHub Actions https://actionsbook.com/ Как по мне дороговато по российским меркам за то, что скорее всего довольно быстро устареет. Однако для тех, кто серьезно связан с GitHub-ом может оказаться очень кстати именно сейчас. Быстро прочитать все самое нужное в одном месте, чем по крупицам собирать по Интернетам и все равно что-то пропустить.
Говорят исходники платформы для голосования утекли https://github.com/moscow-technologies/blockchain-voting_2021 Информацию проверить невозможно конечно, однако всегда интересно посмотреть что там внутри )
Не коммитил в опен сорс уже несколько лет, с тех пор как с Yii завязал ) И тут на тебе, пофиксил багу в traefik https://github.com/traefik/traefik/pull/8381 Мелочь но все равно приятно что правка попала в релиз.
На удивление часто слышу неверное понимание некоторых базвордов в API. Вот тут как раз под руку попалось описание что к чему https://inlaymansterms.io/blog/api
Там кстати на это сайте есть еще и другие определения, которые могут некторым оказаться полезными.
Уже готово описание вчерашней глобальной проблемы https://blog.cloudflare.com/october-2021-facebook-outage/ А вот у кого-то возникла похожая проблема :)
https://github.com/evilmartians/lefthook Полезная тулза для человекопонятной работы с хуками гита. Вместо черного колдовста на баше без танцев и смс пишем простой yaml. Вообще хуки отличная вещь для автоматизации рутинных операций. Например запуск линтеров перед коммитов, который часто делать забываю и потом появляются коммиты вида «fix linters», засоряющие историю.
Раньше часто пользовался ngrok.com когда надо было работать с вебхуками от внешних сервисов. Запускаешь у себя тунель и погнал тестировать все кейсы, которые прилетают от живого трафика. Оказывается есть целая подборка альтернатив для этого сервиса https://github.com/anderspitman/awesome-tunneling
С помощью этой утилиты можно настроить свой промт вообще как угодно https://ohmyposh.dev/ на любой вкус и цвет. Думаю многим будет полезно.
Себе не забираю, потому что мой промт выглядит как на скрине :) Мне не нужно там видеть имя пользователя, потому что это требуется ультра редко и делается с помощью whoami, мне не нужно там видеть текущую директорию, так как она указана в заголовке iTerm и прочие штуки, которые часто вижу у других. Это все отнимает и место и внимание.
Хотел вчера немного описать шишки, которые собрал, когда боролся с дубликатами в ClickHouse и агрегировал очень много данных, но в итоге получилось очень много букв и не влазило в телеговский пост. Поэтому вот https://antgubarev.dev/ru/posts/clickhousemv/ первая часть. На днях доделаю вторую.
https://avitotech.timepad.ru/event/1804678/ Митап от коллег по юниту, в котором работаю. Как устроена платформа в Авито, для чего нужна, из каких частей состоит, какие есть возможности и т.д. Должно быть интересно тем, у кого количество сервисов растет и уже становится сложно с ними управляться.