defer panic
3.08K subscribers
83 photos
10 videos
204 links
Канал про айти в целом и про Go в частности.
YouTube → youtube.com/@deferpanic
Все вопросы в личку канала
Поддержать канал:
ETH — tomakado.eth
TON — tomakado.ton
BTC — 19xwFstmVQsVYqZP64iMVg1StLNSah6Smo
Download Telegram
Пару недель назад собрал на коленке штуку, которая обходит 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

#партнерскийпост
5🔥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
🔥521👏1💘1