defer panic
3.07K subscribers
83 photos
10 videos
204 links
Канал про айти в целом и про Go в частности.
YouTube → youtube.com/@deferpanic
Все вопросы в личку канала
Поддержать канал:
ETH — tomakado.eth
TON — tomakado.ton
BTC — 19xwFstmVQsVYqZP64iMVg1StLNSah6Smo
Download Telegram
defer panic
Напишите в комментариях, в каких доменах вы используете или хотели попробовать Go. Двум случайным комментаторам я завтра выдам бесплатные проходки!
Бог рандома решил, что проходки получают @solidshake @aohoyd 🎉

Стучитесь в личку канала за промокодами ✌️

Для остальных всё ещё актуален скидочный промокод в посте-анонсе
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤯1😱1
Недавно вышло новое исследование от DevCrowd о Go-разработчиках.

Из интересного:

- Go продолжает усиливаться в компаниях: всё больше команд пишут только на Go, а микросервисы и Kubernetes стали стандартом.
- AI быстро внедряется: почти половина разработчиков уже используют ИИ в тестировании и автодополнении, а доля «не использующих» упала почти в три раза.
- Доходы стабильны и растут: медианные зарплаты миддлв и сеньоров остаются высокими, а у джуниоров заметно вырос нижний порог.
- Go-разработчики в основном работают удалённо: офис — скорее исключение, и только ради команды или смены обстановки.
- Большинство входит в профессию без профильного образования: диплом помогает, но не является необходимым для роста и найма.
- В IDE и редакторах происходит важный сдвиг: GoLand ещё доминирует, но его доля падает, а VS Code и даже AI-редакторы вроде Cursor и Zed активно отъедают рынок.

Читать исследование полностью: https://devcrowd.ru/go-2025
🔥1343👏2💅2💊2🤩11
Коллеги заопенсорсили инструмент, позволяющий использовать S3-совместимое хранилище для хранения кэшей сборки

https://github.com/platacard/cacheprog
19🔥411👀11
Я к вам с пятничными вакансиями. На этот раз не про Go, но я знаю, что меня читают не только гоферы и не только разработчики.

Ищем QA-инженеров-автоматизаторов для мобильного приложения на Свифте и на Котлине.

Что за команда/продукт?
Команда CAA (Cards & Accounts) — это продуктовая команда, отвечающая за бэкенд и фронтенд функций, связанных с обработкой платежей, включая наши наиболее важные экраны, отображающие основную информацию о счете, картах, выписках и кэшбэке. Кроме того, эти же данные предоставляются CRM-сервисам. Главная задача команды — сделать взаимодействие наших клиентов со своими счетами и картами в приложении удобным и приятным.

Я сам до недавнего времени был частью Cards & Accounts. Могу сказать, что одна из самых крутых и профессиональных команд, в которых мне довелось поработать.

Что предлагаем:
- Помощь в переезде в один из наших хабов — на Кипр, в Испанию, Сербию или Казахстан — с поддержкой для сотрудника и его семьи.
- Гибкий график работы из одного из наших офисов или удаленно.
- Медицинское страхование.
- Бюджет на образование: языковые курсы, профессиональное обучение и сертификация.
- Бюджет на оздоровление: компенсация расходов на поддержание психического здоровья и физическую активность.
- Отпускные: 20 дней ежегодного отпуска и оплачиваемый больничный.

Чтобы откликнуться, можно заполнить форму на странице вакансии или написать мне в личку.
👍522🥰1💘1
За последние несколько лет я провел много собеседований. На масштабе начинают проявляться паттерны, и кандидаты часто сводятся к некоторым архетипам, если это так можно назвать.

Один из таких архетипов — «инфраструктурный решала». Извините, лучше названия нет и не будет. Так вот, такой разработчик отлично разбирается в СУБД, очередях, кэшах и прочих хранилках и молотилках. Он знает, как строчки в табличке мапятся на страницы на диске. Он может рассказать всё про блокировки и уровни изоляции. Он действительно решал все эти проблемы на практике, по крайней мере он так звучит и может так же уверенно отвечать на вопросы, уходящие вглубь. Нередко от таких кандидатов возникает ощущение, что они знают и умеют больше меня.

Но вот кандидату задается вопрос не про СУБД или что-то вокруг, а про, внезапно, программирование. Причем вопрос необязательно про специфику конкретного языка. Тут-то вся уверенность куда-то исчезает. Теперь почти все ответы строятся на робких предположениях и на том, что кандидат где-то когда-то прочитал или услышал.

Когда я столкнулся с инфраструктурным решалой впервые, я не очень понимал, как его оценивать. Вроде бы человек задачи закрывает, сложные кейсы разруливает, кажется, даже умеет в архитектуру. Но, например, найти баг в конкурентном коде — уже проблема.

У меня долго это не укладывалось в голове. Потом я понял: дело в том, что мы как индустрия планомерно переносили сложность из разработки в эксплуатацию. Это хорошо, поскольку так мы можем победить сложность один раз, спрятать её и больше об этом не думать. Но бывает так, что сложность победили не до конца или спрятали, но так, что уши всё ещё торчат.

Мой любимый пример — постгрес. С одной стороны, это самая популярная, народная СУБД. С другой — полиэтиленовый пакет с абстракциями, вытекшими наружу из-за того, что пакет дырявый. Причина, по которой на любом техническом интервью есть секция, посвященная отдельно постгресу, — сложность, которую он должен как бы скрывать, но в итоге просто превращает в другую сложность. Нельзя просто создать индекс и рассчитывать, что постгрес будет его использовать. Почему? Потому что постгрес умный и может решить, что индекс ему не нужен, и пройти сексканом будет быстрее и лучше. Что? Да! И как бы да, часто он в этом прав. Но это лишь один пример одной из множества неочевидных деталей внутреннего поведения СУБД, о которой необходимо знать, чтобы не попасть впросак. Да и насчет «прав» я погорячился — быстрее всё равно не стало, зато появилось что расследовать. И в конце концов, его никто не просил этого делать.

Сумма всей сложности в замкнутой системе остаётся постоянной — как ни старайся её перекладывать из одного угла в другой.

Поэтому в глазах индустрии умение именно программировать больше не имеет такого значения. Точнее, может, и имеет, но сам процесс происходит в большей степени не в коде, а в других местах: базе данных, кубернетесе, очереди или слаке. Плохо ли это? Я не знаю. Опять же, какая разница, если задачи решаются, цели достигаются и при этом качественно? А что если нужно будет сделать всё то же самое, но вместо WhoopSQL будет нужен PoopSQL? Пока опыт подсказывает, что в таких случаях решалы чаще всего впадают в ступор — в отличие от тех, кто учился программировать, а не быть оператором.

Под умением программировать я, конечно, не имею в виду вещи типа «чем инт отличается от флоата», «как работает наследование» и т.п. Скорее речь про системное мышление, умение переносить концепции и абстракции из одной области в другую. Ну и, конечно, те самые «фундаментальные знания».

Короче, я что сказать-то хотел. Изучайте постгрес, кафку и кубернетес — это вам сильно поможет тактически. Но не забывайте про само программирование, чтобы не проиграть стратегически.
44👍18🤔4🔥3👎2111
Вышел Go 1.26. Релиз с виду небольшой, но интересный:

• в new можно теперь передавать выражения
• go fix теперь запускает модернайзеры — тулы для авто-исправления кода согласно новым стандартам (например, замена strings.Split на итератор strings.SplitSeq внутри for-range). Обещают позже раскрыть больше подробностей в блоге
• новый сборщик мусора теперь включен по умолчанию
• pprof научился находить утекшие горутины
2🎉36854
🤖 AI в практике разработчиков: новый сезон Podlodka AI Crew

«Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так.

Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает.

С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии.

👀 В программе:
единый AI-workflow для разработчика
автоматизация стендапов и работы с документацией
Claude Code, субагенты для кодинга
практические кейсы внедрения AI в SRE
подходы к созданию промптов с насыщенным контекстом

Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.

Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику.

👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку.

😉Также проходки получат два случайных человека, которые расскажут в комментах о том, как они используют AI в разработке. Результат — на выходных.

#партнерскийпост
3🔥21
Пару недель назад собрал на коленке штуку, которая обходит rss-фиды сайтов с новостями индустрии развлечений, выбирает по разным признакам самые интересные статьи и постит мне в отдельный канал.

Мне было в первую очередь интересно поиграться с новым инструментом, но в какой-то момент обнаружил, что я реально читаю канал, и это теперь мой основной источник новостей про игры и технологии про игры.

Все что угодно может пойти не так или сломаться, но если интересно, заходите в @glashatai_feed
🔥93🎉2👎1😱1
Forwarded from Golang Дайджест
🧬 Proposal: Generic Methods для Go

Robert Griesemer (один из авторов языка) открыл proposal, который многие считали невозможным. Go FAQ буквально говорил:

> We do not anticipate that Go will ever add generic methods

Но теперь — возможно, добавят 👍

Суть в том, что раньше дженерик-методы блокировались по цепочке: если методы могут принимать параметры типов, значит и методы интерфейсов тоже должны. А это не знали как реализовать эффективно — в Go тип реализует интерфейс неявно, поэтому компилятор не может знать заранее, для каких конкретных типов нужно будет скомпилировать метод.

Ключевой сдвиг в мышлении: метод — это не только способ реализовать интерфейс. Метод — это функция, привязанная к типу, удобная для организации кода и читаемая слева направо. Эти две вещи ортогональны.

Поэтому компромисс такой: методы могут быть generic, но не могут реализовывать интерфейсы с generic методами — их просто не будет. Вот как это выглядит:

type Reader struct{ … }
func (*Reader) Read[E any]([]E) (int, error) { … }


Reader не реализует io.Reader — и это нормально. Зато метод полезен сам по себе.

При этом изменение полностью обратно совместимо и не закрывает возможность добавить такое в будущем, если придумают как.

————

Дискуссия горячая — 156 комментариев. Кто-то радуется, кто-то боится усложнения языка, классика. За то и люблю наше сообщество

Я сам редко работаю с дженериками, но при этом даже я не раз сталкивался с этим ограничением. Приходится делать standalone функции вместо методов — цепочки вызовов ломаются, читаемость страдает.

За я или против? Честно, не знаю — вопрос действительно непростой, если вникать глубоко в проблематику и доводы обоих сторон. Поэтмоу я предпочитаю делегировать столь сложные вопросы бородатым мужчинам — я в них верю! ❤️

Посмотрим, примут ли. Но сам факт, что Griesemer это открыл — уже хороший сигнал.

🟢Кстати, тема дженериков довольно забористая, и понимаю что не все поймут, что тут вообще имеется в виду. Если хотите, я напишу пост с более простым объяснением и разбором этой темы.

#proposal #generics
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥203🙏3
Эмулятор x86-процессора на CSS. Без джаваскрипта вообще. Можно запускать свои программы.

Ждем doom.css?

https://lyra.horse/x86css/
🔥10😱8👎2💯21
Есть блог Not a Number, в котором автор не просто пишет туториалы, а делает их интерактивными. Посты там в основном про фронтенд, но есть, например, и про написание собственной key-value базы данных.

Меня всегда цепляют авторы, которые подходят к каждому блог-посту как к отдельному спецпроекту. Это подкупает, я сильнее вовлекаюсь в статью, а интерактивные части только усиливают эффект.
121🔥9👍33
Media is too big
VIEW IN TELEGRAM
Вышел Zed 1.0

Не обращайте внимания на версию — Зедом можно было пользоваться уже очень давно. Зед был моим «вторым» редактором последние несколько лет, периодически меняясь с Вимом. Где-то с начала этого года или конца предыдущего это мой единственный редактор. В том смысле, что я в этом году ни разу не запустил ни GoLand, ни Visual Studio Code.

Зед одновременно невероятно быстрый и отзывчивый (по ощущениям примерно как Саблайм) и фичастый, как Visual Studio Code. И это не форк последнего, а буквально написанный с нуля редактор. Авторами Атома, кстати. И так как он написан с нуля, это позволило разработчикам перепридумать UX в некоторых местах в лучшую сторону.

Я могу долго рассказывать, почему если вы поставите Зед, вам больше не нужен будет никакой другой редактор или IDE. Но лучше поставьте и попробуйте сами.
32🔥6🎉1🏆1🎄1
⚙️ Лучшие практики в Go: разбираем на Podlodka Go Crew

Пишете на Go и хотите узнать, как закладывать надёжную основу для своих проектов? С 1 по 5 июня Podlodka Go Crew вместе с 2ГИС проведут сезон «Лучшие практики в Go». Организаторы собрали сильную программу с акцентом на живой опыт и прикладные кейсы.

Вот несколько сессий, на которые советуем обратить внимание:

🚀 «Практика Go оптимизаций: растем вместе с нагрузкой», Алексей Акулович —
про то, как сервис растёт до миллионов RPS, оптимизацию CPU, grpc и protobuf, а также про собственный GC поверх гошного.

🏗 «Эволюция структуры Go-проекта: как 30 человек пушат в один репозиторий», Кирилл Возжеников — как развивается продуктовый монорепозиторий и строятся хорошие архитектурные практики.

🧩 «Как и зачем писать свой CDC на Go», Юра Саргсян —
когда приходится выходить за стандартные решения: Postgres, Kafka, гарантии доставки и подводные камни логической репликации.

В конце сезона участников ждёт «Битва кейсов: 50 оттенков межсервисного взаимодействия» — разбор архитектурных задач с метриками, схемами и поиском решений в реальном времени.

🎟 И это ещё не всё — смотрите полную программу на сайте и забирайте билет!

Для подписчиков скидка 500 р по промокоду: deferpanic_7

#партнерскийпост
51🔥1🎉1
🥂Большой выпуск про PaaS — как Avito и Plata строят платформу для разработки / GoGetPodcast

- Видео
- Ссылки на аудио-площадки

Когда-то давно я часто ходил на IT конференции, и один из немногих запомнившихся мне докладов был про PaaS Авито. Очень впечатлило, как у них там по нажатию одной кнопочки происходят сложные автоматизации процессов.

К сожалению, поработать у них и пощупать это руками мне так и не довелось, поэтому я решил пообщаться с лидом команды DevSupport их платформы — Владом. А чтобы было ещё интересней, мы с моим бывших коллегой Ильдаром сравнили всё это с начинаниями в Plata, которая тоже активно строит свою платформу.

Участники:

- Владислав Сикач, тимлид команды DevSupport в Авито
- Ильдар Карымов  , инженер команды Developer Experience в Plata

🟢Все ссылки, упомянутые в выпуске, и разборы сложных понятий есть на сайте подкаста

#gogetpodcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥621👏1💘1