Как-то я занимался своим пет-проектом Projector для генерации каркаса программы из шаблонов. Теперь, по крайней мере для Go, в нем большого смысла нет, т.к. хоть пока и в качестве эксперимента, в тулчейн Go завозят ровно эту функциональность. Причем можно публиковать свои и использовать чужие шаблоны как обычные гошные модули.
❤️ • ютуб • бусти • патреон • платный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
Experimenting with project templates - The Go Programming Language
Announcing golang.org/x/tools/cmd/gonew, an experimental tool for starting new Go projects from predefined templates
🔥23👍2
Осенью пройдет второй сезон онлайн-конференции Podlodka Go Crew. В этот раз я в программном комитете, и я ищу спикеров!
Немного о самой конфе:
- Мероприятие растянуто на 1 неделю против 2 дней обычной конфы. Активности раскиданы так, чтобы можно было посетить все самое интересное, не отрываясь от работы. Ну и другие плюсы онлайна — отсутствие географических границ и вот это все.
- На конференции обычно бывает 200-350 человек, в основном мидлы и сеньоры.
Контент набираем не «все обо всем», а формируем темы недели. Участнику сразу становится понятно, какой будет дифф в его понимании индустрии до/после прошествия недели, а мы можем собирать спикеров по теме и играться с разными полезными форматами.
- Самое главное — форматы. Мы не верим в перенос офлайн-формата в онлайн as-is, со спикерами бубнящими свои доклады в камеру. Мы верим в то, что онлайн — это не ограничение, а новые возможности, в первую очередь для интерактива. Поэтому фокус делаем на групповых обсуждениях, внедряем игровые механики где только можно, берем интервью, устраиваем поединки между экспертами и большие сессии Q&A с включением участников, лайв-кодинга и всякого такого. Меньше времени на подготовку спикеров, больше вовлеченности участников — выходит win-win.
Тема сезона — хайлоад & Go (всё про перфоманс и его замеры самыми разными способами)
Подробнее о прошлых сезонах можно узнать на лендинге: https://podlodka.io/crew
Если вам интересно, то вот есть такая форма, там же про плюшки для спикеров https://docs.google.com/forms/d/e/1FAIpQLSf4LIylClDAVsoaq1cUGb0WmRYL94z1hWZDomHgeVRDDJzzuQ/viewform
❗️Если что — пишите, я готов ответить на любые вопросы. Сам был спикером в прошлом сезоне — мне помогали на всех этапах подготовки к выступлению, тоже самое будет и с вами. Если у вас нет конкретной темы или вы считаете, что вам не хватает интересного опыта, но вы все равно хотели бы выступить, всё равно напишите мне.
Немного о самой конфе:
- Мероприятие растянуто на 1 неделю против 2 дней обычной конфы. Активности раскиданы так, чтобы можно было посетить все самое интересное, не отрываясь от работы. Ну и другие плюсы онлайна — отсутствие географических границ и вот это все.
- На конференции обычно бывает 200-350 человек, в основном мидлы и сеньоры.
Контент набираем не «все обо всем», а формируем темы недели. Участнику сразу становится понятно, какой будет дифф в его понимании индустрии до/после прошествия недели, а мы можем собирать спикеров по теме и играться с разными полезными форматами.
- Самое главное — форматы. Мы не верим в перенос офлайн-формата в онлайн as-is, со спикерами бубнящими свои доклады в камеру. Мы верим в то, что онлайн — это не ограничение, а новые возможности, в первую очередь для интерактива. Поэтому фокус делаем на групповых обсуждениях, внедряем игровые механики где только можно, берем интервью, устраиваем поединки между экспертами и большие сессии Q&A с включением участников, лайв-кодинга и всякого такого. Меньше времени на подготовку спикеров, больше вовлеченности участников — выходит win-win.
Тема сезона — хайлоад & Go (всё про перфоманс и его замеры самыми разными способами)
Подробнее о прошлых сезонах можно узнать на лендинге: https://podlodka.io/crew
Если вам интересно, то вот есть такая форма, там же про плюшки для спикеров https://docs.google.com/forms/d/e/1FAIpQLSf4LIylClDAVsoaq1cUGb0WmRYL94z1hWZDomHgeVRDDJzzuQ/viewform
❗️Если что — пишите, я готов ответить на любые вопросы. Сам был спикером в прошлом сезоне — мне помогали на всех этапах подготовки к выступлению, тоже самое будет и с вами. Если у вас нет конкретной темы или вы считаете, что вам не хватает интересного опыта, но вы все равно хотели бы выступить, всё равно напишите мне.
podlodka.io
Podlodka Crew – онлайн-конференции нового формата
Онлайн-конференции про IT нового формата – однонедельные интенсивы с ежедневными интерактивными сессиями в Zoom, нон-стоп общением с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram. И все это – по цене в десять раз ниже привычных…
👍4❤🔥1😍1
Завтра у Мишки на севере обсудим Обсидиан и ведение базы знаний. Залетайте.
Telegram
Мишка на сервере
Мишка на сервере – Obsidian
Привет, %username%! В очередной раз уперевшись в неудобство Notion, я понял, что надо вернуться обратно на Obsidian – он более гибкий для работы с заметками.
Вопросы, которые стоит подсветить в этой теме:
- Неудобство Notion?…
Привет, %username%! В очередной раз уперевшись в неудобство Notion, я понял, что надо вернуться обратно на Obsidian – он более гибкий для работы с заметками.
Вопросы, которые стоит подсветить в этой теме:
- Неудобство Notion?…
🔥5👍3⚡1❤1🥱1
Хочу порекомендовать вам канал Go news. Там просто и доступно объясняют, как автоматизировать тесты в несколько строк кода, почему не всегда нужно использовать каналы, какие фишки новой версии ускорят ваш код. Посты сопровождаются наглядными сниппетами кода.
А ещё добавляйте себе маст-хэв папку для Go-разработчиков: https://t.me/addlist/6Gopr3hzAqBiMjcy
#партнерскийпост
А ещё добавляйте себе маст-хэв папку для Go-разработчиков: https://t.me/addlist/6Gopr3hzAqBiMjcy
#партнерскийпост
Telegram
Golang news
Свежие новости и статьи для Go разработчиков.
https://t.me/+zAIPzz2g29YxM2Uy - ссылка на канал
admin - @haarrp
https://t.me/+zAIPzz2g29YxM2Uy - ссылка на канал
admin - @haarrp
❤4👍1🔥1
Сразу две новости из мира AI и кодогенерации:
🤖 Stability AI, известная вам скорее всего по Stable Diffusion, представила опенсорсную модель Stable Code. Это ещё один конкурент GitHub Copilot. На старте поддерживает Python, Go, Java, JavaScript, C и C++.
🕸 Google анонсировал Project IDX — облачную IDE с похожей фичей. Пока что доступ по вейтлисту, но если там внутри Bard (а скорее всего так и есть), то будто бы и не очень надо.
❤️ • ютуб • бусти • патреон • платный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Stability AI
Announcing Stable Code Alpha — Stability AI
Stability AI has just announced the release of StableCode, its very first LLM generative AI product for coding. This product is designed to assist programmers with their daily work while also providing a great learning tool for new developers ready to take…
💩5🥱4👍2🤔1🐳1
Если вам хочется получить подробный разбор изменений в Go 1.21.0, то у Николая Тузова на днях вышел новый выпуск подкаста GoGetPodcast.
Горячо рекомендую.
❤️ • ютуб • бусти • патреон • платный канал
Горячо рекомендую.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Николай Тузов
Новый выпуск опубликован ❤️
https://youtu.be/hp0lOyGxpO0
Аудио версия:
- Mave
- Apple Podcasts
- Google Podcasts
- Яндекс Музыка
#gogetpodcast
https://youtu.be/hp0lOyGxpO0
Аудио версия:
- Mave
- Apple Podcasts
- Google Podcasts
- Яндекс Музыка
#gogetpodcast
👍12🔥5❤3❤🔥1
IBM выпустила библиотеку для функционального программирования на Go 🤡
Хоть я и люблю функциональное программирование и всё вокруг него, эту историю я просто не понимаю. Вот представьте: вы пишете на языке программирования. Вам всё в нём нравится, кроме одного — он не про ФП. Не в смысле переменные не иммутабельные и всё такое, а вот совсем не про ФП, да так что прямо в фундаменте языка местами заложены противоположные идеи.
В таком случае есть два пути: перейти на язык, где ФП — основная парадигма, либо пытаться гладить против шерсти текущий язык. Оба подхода имеют право на существование, но в каких-то разумных границах. Если вам так нравится ФП, что вы без него жить не можете, то почему бы не пойти по первому пути? А если это не так важно для вас, то в чём смысл усложнять себе жизнь, да ещё и говорить, что жить сложнее должно стать и другим?
В общем, если хотите обмазаться монадами и каррированием, то есть куча функциональных языков, классных и не очень. А Go не трогайте — мы его как раз и любим за то, что он простой, как дверь. Хоть иногда и слишком.
❤️ • ютуб • бусти • патреон • платный канал
Хоть я и люблю функциональное программирование и всё вокруг него, эту историю я просто не понимаю. Вот представьте: вы пишете на языке программирования. Вам всё в нём нравится, кроме одного — он не про ФП. Не в смысле переменные не иммутабельные и всё такое, а вот совсем не про ФП, да так что прямо в фундаменте языка местами заложены противоположные идеи.
В таком случае есть два пути: перейти на язык, где ФП — основная парадигма, либо пытаться гладить против шерсти текущий язык. Оба подхода имеют право на существование, но в каких-то разумных границах. Если вам так нравится ФП, что вы без него жить не можете, то почему бы не пойти по первому пути? А если это не так важно для вас, то в чём смысл усложнять себе жизнь, да ещё и говорить, что жить сложнее должно стать и другим?
В общем, если хотите обмазаться монадами и каррированием, то есть куча функциональных языков, классных и не очень. А Go не трогайте — мы его как раз и любим за то, что он простой, как дверь. Хоть иногда и слишком.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14💩5🤯4😢1
Как я уже ранее говорил, я сейчас занят подготовкой к Podlodka Go Crew #2 — на этот раз в программном комитете, а не в качестве докладчика. Пришло время рассказать, что это такое!
Podlodka Crew — это формат онлайн-конференций от команды подкаста Podlodka. В отличие от обычных конференций, секции (доклады, воркшопы и т.п.) не пытаются упаковать плотно в два дня, а равномерно распределяют по дням одной недели. Обычно одна секция утром, одна вечером. Зимой проходила первая Crew для нас с вами, т.е. для гоферов. Если интересно, можете посмотреть запись моего доклада.
Вторая Go Crew пройдёт уже совсем скоро — с 11 по 15 сентября. Каждый сезон конференции все доклады связаны одной общей темой — в этот раз будем обсуждать хайлоад:
- заглянем под капот устройства памяти;
- научимся превентивно находить потенциальные очаги - чрезмерной нагрузки;
- посмотрим на лучшие практики нагрузочного тестирования;
- изучим масштабируемую технологию NATS JetStream для очередей и асинхронной коммуникации;
+ 🎁 бонус: каждый желающий сможет выступить на открытом микрофоне.
❤️ Для моих любимых подписчиков есть ништяки:
💸 Промокод на скидку 500 ₽, который суммируется со скидкой на сайте до 4 сентября:
🎟️ Также хочу разыграть два билета среди вас. Я загадал от число от
⚠️ Важно: в комментарии также укажите, какую секцию вы хотите посетить больше всего и почему. Комментарии с просто числами не учитываются! Результаты подведём в эту пятницу.
Расписание докладов и вся остальная информация есть на сайте конференции.
#партнерскийпост
Podlodka Crew — это формат онлайн-конференций от команды подкаста Podlodka. В отличие от обычных конференций, секции (доклады, воркшопы и т.п.) не пытаются упаковать плотно в два дня, а равномерно распределяют по дням одной недели. Обычно одна секция утром, одна вечером. Зимой проходила первая Crew для нас с вами, т.е. для гоферов. Если интересно, можете посмотреть запись моего доклада.
Вторая Go Crew пройдёт уже совсем скоро — с 11 по 15 сентября. Каждый сезон конференции все доклады связаны одной общей темой — в этот раз будем обсуждать хайлоад:
- заглянем под капот устройства памяти;
- научимся превентивно находить потенциальные очаги - чрезмерной нагрузки;
- посмотрим на лучшие практики нагрузочного тестирования;
- изучим масштабируемую технологию NATS JetStream для очередей и асинхронной коммуникации;
+ 🎁 бонус: каждый желающий сможет выступить на открытом микрофоне.
❤️ Для моих любимых подписчиков есть ништяки:
💸 Промокод на скидку 500 ₽, который суммируется со скидкой на сайте до 4 сентября:
deferpanic_go2🎟️ Также хочу разыграть два билета среди вас. Я загадал от число от
0 до math.Uint8. Напишите любое число в этом диапазоне в комментариях к посту. Авторы двух комментариев с самыми близкими результатами к загаданному числу получат билеты.⚠️ Важно: в комментарии также укажите, какую секцию вы хотите посетить больше всего и почему. Комментарии с просто числами не учитываются! Результаты подведём в эту пятницу.
Расписание докладов и вся остальная информация есть на сайте конференции.
#партнерскийпост
👍9🔥3🤩1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжая тему геймдева и хайлоада на Go, хочу рассказать вам об одном канале, который будет полезен, даже если вы не пишете игры, но пишете высоконагруженные приложения.
Автор канала UnitOfTime в своих роликах рассказывает, как он разрабатывает свою инди-MMO на Go. Бэкенд любой сетевой игры, особенно MMO, довольно близок по своей сути к любому другому высоконагруженному бэкенду приложений, которые должны обновлять своё состояние на клиенте в реальном времени. Только подумайте: вам нужно синхронизировать мир для большого количества одновременно подключенных игроков, при этом защищаясь от читеров. Это не считая того, что есть в почти каждой MMO: чат(ы), торговая площадка, разные локации, аутентификация и авторизация и т.д. Из приложений, которые под капотом больше похожи на сетевую игру, мне в голову сразу приходит Miro.
Видосы довольно короткие, поэтому не успевают вас задушить кучей новой информации. Посмотрите один из последних роликов, в котором автор рассказывает, как добился обслуживания 100 одновременных игроков на сервере.
❤️ • ютуб • бусти • патреон • платный канал
Автор канала UnitOfTime в своих роликах рассказывает, как он разрабатывает свою инди-MMO на Go. Бэкенд любой сетевой игры, особенно MMO, довольно близок по своей сути к любому другому высоконагруженному бэкенду приложений, которые должны обновлять своё состояние на клиенте в реальном времени. Только подумайте: вам нужно синхронизировать мир для большого количества одновременно подключенных игроков, при этом защищаясь от читеров. Это не считая того, что есть в почти каждой MMO: чат(ы), торговая площадка, разные локации, аутентификация и авторизация и т.д. Из приложений, которые под капотом больше похожи на сетевую игру, мне в голову сразу приходит Miro.
Видосы довольно короткие, поэтому не успевают вас задушить кучей новой информации. Посмотрите один из последних роликов, в котором автор рассказывает, как добился обслуживания 100 одновременных игроков на сервере.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡10👍5❤2🔥2😍1
Мне было сегодня лет, когда я узнал, что в GoLand встроен плейграунд, и больше не нужно идти в браузер, чтобы проверить какой-то маленький кусок кода. Он умеет как выполнять локально, так и загружать код на официальный плейграунд, после чего можно поделиться ссылкой. Но пожалуй самое крутое — внутри встроенного плейграунда можно использовать все те же фичи, что в обычном режиме, включая дебаг, Copilot и т.д.!
Чтобы открыть, нажимаете два раза Shift или вызываете «поиск по всему», вводите “playground”, вы прекрасны!
https://www.jetbrains.com/go/guide/tips/integrated-go-playground/
❤️ • ютуб • бусти • патреон • платный канал
Чтобы открыть, нажимаете два раза Shift или вызываете «поиск по всему», вводите “playground”, вы прекрасны!
https://www.jetbrains.com/go/guide/tips/integrated-go-playground/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍8❤🔥1💩1🐳1
Добавил в Awesome Go Interview репозиторий GoBooks — список книг по Go, отсортированный по годам и сгруппированный по уровням.
Напомню, если у вас есть ресурс, который вы хотите добавить в список, буду рад вашим пулл-реквестам.
❤️ • ютуб • бусти • патреон • платный канал
Напомню, если у вас есть ресурс, который вы хотите добавить в список, буду рад вашим пулл-реквестам.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - defer-panic/awesome-go-interview: Collection of resources for preparation to technical interview in Go
Collection of resources for preparation to technical interview in Go - defer-panic/awesome-go-interview
👍13⚡7🔥2❤1
После завершения Podlodka Go Crew #2 у тбилисских участников была мысль организовать оффлайн-встречу. Я как-то пропустил этот момент, хоть сам и в Тбилиси сейчас. Решил, что пора организовать локальный чатик.
Так что если вы в Тбилиси (да и если нет тоже), то го в чат @golangtbilisi!
Там пока ничего не происходит (я его создал минут 15 назад), но как люди подтянутся, станет поживее. Чат не только и не столько для организации оффлайн-активностей, сколько просто для общения.
Так что если вы в Тбилиси (да и если нет тоже), то го в чат @golangtbilisi!
Там пока ничего не происходит (я его создал минут 15 назад), но как люди подтянутся, станет поживее. Чат не только и не столько для организации оффлайн-активностей, сколько просто для общения.
👍1
defer panic
После завершения Podlodka Go Crew #2 у тбилисских участников была мысль организовать оффлайн-встречу. Я как-то пропустил этот момент, хоть сам и в Тбилиси сейчас. Решил, что пора организовать локальный чатик. Так что если вы в Тбилиси (да и если нет тоже)…
А вот картинка для привлечения внимания
👍16💩7😁3❤2🔥1
В Go 1.22 изменится поведение циклов
Собственно, уже сейчас новое поведение можно включить с помощью специального флага. Суть изменения заключается в том, что раньше происходил захват переменной в цикле. Если вы не знакомы с этим явлением, то вот вам пример:
Что будет выведено программой? Конечно же,
Что? Да!
Чтобы не кошмарить новых адептов, авторы языка и вводят новое поведение для циклов — такое, какое вы ожидали бы без захвата переменной.
С одной стороны это нарушение обещания авторов языка о сохранении обратной совместимости. С другой стороны эта особенность циклов и правда фрустрирует и сложно представить ситуацию, когда это пригодилось бы. Т.е. обратная совместимость вроде и сломана, но перестанет работать корректно критически маленькая доля программ, которые написаны как-то по-наркомански и скомпилированы через Go 1.22.
Такие дела ¯\_(ツ)_/¯
❤️ • ютуб • бусти • патреон • платный канал
Собственно, уже сейчас новое поведение можно включить с помощью специального флага. Суть изменения заключается в том, что раньше происходил захват переменной в цикле. Если вы не знакомы с этим явлением, то вот вам пример:
var (
a = []int{1, 2, 3}
b []*int
)
for _, n := range a {
b = append(b, &n)
}
for _, n := range b {
fmt.Println(*n)
}
Что будет выведено программой? Конечно же,
3 3 3, а не 1 2 3. Так происходит, потому что та самая переменная n в цикле для экономии памяти не создаётся заново на каждой итерации, а по сути просто меняет свой указатель с одного места памяти на другое. Из-за чего и наблюдаем такой эффект. Это неочевидно для новичков и про это легко забыть. Чтобы этой проблемы избежать, обычно использовали некрасивый, но действенный трюк: внутри тела цикла объявляется новая переменная n, которой присваивается n: for _, n := range a {
n := n
…
}
Что? Да!
Чтобы не кошмарить новых адептов, авторы языка и вводят новое поведение для циклов — такое, какое вы ожидали бы без захвата переменной.
С одной стороны это нарушение обещания авторов языка о сохранении обратной совместимости. С другой стороны эта особенность циклов и правда фрустрирует и сложно представить ситуацию, когда это пригодилось бы. Т.е. обратная совместимость вроде и сломана, но перестанет работать корректно критически маленькая доля программ, которые написаны как-то по-наркомански и скомпилированы через Go 1.22.
Такие дела ¯\_(ツ)_/¯
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥4⚡2🥱2🤔1
Интересно, а есть ли у меня подписчики из Омска? В моём родном городе в октябре пройдёт DevFest Omsk 2023 — конференция для разработчиков, дизайнеров и тестировщиков разных профилей. Её делают мои друзья, поэтому могу ручаться за качество — в Омске мощное айти-сообщество. Можете убедиться сами, посмотрев записи докладов с прошлых конференций на ютубе. Особенно рекомендую заглянуть в плейлист с докладами с Golang-трека.
👨💻 На конференции будет отдельный трек по Golang из 4 -5 докладов. Участники узнают о том, как лучше писать интеграционные тесты с базой данных PostgreSQL, какие бывают подходы и способы оптимизации, как ускорить прототипирование для ваших стартапов и MVP, используя кодогенерацию, поговорим про реализации авторизации, довольно популярной задаче на любом проекте, но как всегда есть проблемы с ней, как их можно избежать, а также разберем все подходы реализации платформы, которые вы можете применить, на примере платформы СберМаркет.
📚 Суммарно на конференции будет 10 треков, 50+ экспертных докладов и 300+ участников. Также будет афтерпати в баре и отличный нетворкинг.
________________
За новостями и программой конференции можно следить в источниках:
🌐 www.devfestomsk.ru
💬 vk.com/devfestomsk
💬 @devfestomsk
Такое события нельзя пропускать! Мероприятие пройдет 6-8 октября.
Регистрируйтесь прямо сейчас по ссылке 👉 https://devfest-omsk.timepad.ru/event/2446752/
#партнерскийпост
👨💻 На конференции будет отдельный трек по Golang из 4 -5 докладов. Участники узнают о том, как лучше писать интеграционные тесты с базой данных PostgreSQL, какие бывают подходы и способы оптимизации, как ускорить прототипирование для ваших стартапов и MVP, используя кодогенерацию, поговорим про реализации авторизации, довольно популярной задаче на любом проекте, но как всегда есть проблемы с ней, как их можно избежать, а также разберем все подходы реализации платформы, которые вы можете применить, на примере платформы СберМаркет.
📚 Суммарно на конференции будет 10 треков, 50+ экспертных докладов и 300+ участников. Также будет афтерпати в баре и отличный нетворкинг.
________________
За новостями и программой конференции можно следить в источниках:
Такое события нельзя пропускать! Мероприятие пройдет 6-8 октября.
Регистрируйтесь прямо сейчас по ссылке 👉 https://devfest-omsk.timepad.ru/event/2446752/
#партнерскийпост
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6⚡1🔥1🦄1
Увидел у Андрея Ситника ссылку на очень красивое и наглядное объяснение работы CRDT.
CRDT или Conflict-free Replicated Data Type — это такая структура данных, которую можно изменять распределённо и одновременно, при этом при слиянии не будет возникать конфликтов, либо вероятность этого будет достаточно маленькой, чтобы не париться. CRDT используются часто там, где необходимо иметь возможность одновременной работы нескольких людей над одной сущностью: Миро, Гугл-доки, блокчейны и т.д.
https://jakelazaroff.com/words/an-interactive-intro-to-crdts/
CRDT или Conflict-free Replicated Data Type — это такая структура данных, которую можно изменять распределённо и одновременно, при этом при слиянии не будет возникать конфликтов, либо вероятность этого будет достаточно маленькой, чтобы не париться. CRDT используются часто там, где необходимо иметь возможность одновременной работы нескольких людей над одной сущностью: Миро, Гугл-доки, блокчейны и т.д.
https://jakelazaroff.com/words/an-interactive-intro-to-crdts/
Jakelazaroff
An Interactive Intro to CRDTs | jakelazaroff.com
CRDTs don't have to be all academic papers and math jargon. Learn what CRDTs are and how they work through interactive visualizations and code samples.
⚡7👍2
Есть шутка про фронтенд, что, мол, каждую неделю выходит новый JS-фреймворк. У Go тоже было такое, но про HTTP-роутеры. Разгоняли вплоть до того, что если ты не писал свой роутер, то ты не настоящий Go-разработчик :) Теперь этому мему скорее всего придёт конец — в Go 1.22 прокачают роутер, встроенный в стандартную библиотеку. Да, всё это время в Go уже был свой роутер — скупой, простой, зато родной. Его решили сделать чуточку удобнее: добавят роутинг по HTTP-методам и query-параметры:
Выглядит использование нового роутера всё ещё очень «по-гошному», а я всё ещё нежно люблю Echo. Но кажется, пришла пора с ним потихоньку прощаться. Я точно буду пробовать новинку в своих нерабочих проектах — в рабочих у меня сплошной gRPC.
P.S. Новость и сниппет я утащил из блога Eli Bendersky — горячо рекомендую, там часто очень годные посты.
❤ • ютуб • бусти • патреон • платный канал
func main() {
mux := http.NewServeMux()
mux.HandleFunc("GET /path/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "got path\n")
})
mux.HandleFunc("/task/{id}/", func(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "handling task with id=%v\n", id)
})
http.ListenAndServe("localhost:8090", mux)
}
И тут однозначно в выигрыше те, кто уже сидел на простых и, самое главное, максимально совместимых с net/http роутерах типа того же chi. Ведь по идее все уже написанные под net/http миддлвари и прочие инструменты должны спокойно встать и на рельсы нового роутера. Здесь же можно ожидать в будущем широкой поддержки во всех средах разработки.Выглядит использование нового роутера всё ещё очень «по-гошному», а я всё ещё нежно люблю Echo. Но кажется, пришла пора с ним потихоньку прощаться. Я точно буду пробовать новинку в своих нерабочих проектах — в рабочих у меня сплошной gRPC.
P.S. Новость и сниппет я утащил из блога Eli Bendersky — горячо рекомендую, там часто очень годные посты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥10❤7
Engineer’s Codex
How Airbnb Scaled by Moving Away From a Monolith
4 lessons from Airbnb's scaling strategy, with comparisons to other big tech companies
На Engineer's Codex в октябре вышла статья о том, как Airbnb за 15 лет из простого монолита превратился в большую систему.
4 ключевые мысли из статьи:
🔸 Начинайте инвестировать в инфраструктуру и платформенную разработку как можно раньше
🔸 Упрощайте зависимости между сервисами
🔸 Централизуйте обработку данных
🔸 Разделяйте логику UI и логику бэкенда
Сами мысли звучат очевидно, но не всегда очевидно, как собственно следовать этим принципам. В статье как раз раскрывается каждый пункт.
https://open.substack.com/pub/engineercodex/p/how-airbnb-scaled-by-moving-away
❤ • ютуб • бусти • патреон • платный канал
4 ключевые мысли из статьи:
🔸 Начинайте инвестировать в инфраструктуру и платформенную разработку как можно раньше
🔸 Упрощайте зависимости между сервисами
🔸 Централизуйте обработку данных
🔸 Разделяйте логику UI и логику бэкенда
Сами мысли звучат очевидно, но не всегда очевидно, как собственно следовать этим принципам. В статье как раз раскрывается каждый пункт.
https://open.substack.com/pub/engineercodex/p/how-airbnb-scaled-by-moving-away
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1