Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
101 - Telegram Web
Telegram Web
Ультимативный гайд по созданию REST API сервера

Доступно в дух форматах:

- Видео на YouTube
- Статья на Хабре

В гайде очень подробно разбирается процесс создания REST API сервера на примере URL Shortener'а и его деплой на сервер через GitHub Actions.

На выходе получается готовый к использованию pet-проект (а не просто игрушка в стол):

- для него подобран актуальный http-роутер - chi
- ответственная работа с логами с использованием slog, которого мы очень ждём в stdlib
- разобраны различные виды тестов: unit-тесты, тесты хэндлеров и функциональные,
- объясняется, как настроить автоматический деплой через GitHub Actions
и др.

#гайды #rest_api
🔥38👍134
gonew - генератор каркасов проектов в стандартной библиотеке

https://go.dev/blog/gonew

Новость из официального блога авторов Go, совсем свежая

Авторы языка экспериментируют с новым пакетом - gonew, котрый умеет генерировать проект из указанного шаблона. Шаблоны представляют собой обычные пакеты, которые управляются через go mod, что очень удобно.

Сейчас gonew минималистичен, и авторы активно собирают фидбэк сообщества, чтобы понимать как его развивать дальше.

Как установить:

go install golang.org/x/tools/cmd/gonew@latest

Как пользоваться:

gonew golang.org/x/example/helloserver example.com/myserver

Примеры шаблонов от авторов:

- hello: консольная утилита
- helloserver: HTTP-сервер

————

Мне очень нравится эта идея, т.к. это ещё один шаг в сторону стандартизации накапливющегося зоопарка, как и в случае slog. Сейчас у каждой компании (а то и у многих отдельных разработчиков) есть свой велосипед для генерации бойлерплэйтов, который далеко не тривиален. И выглядит это немного печально.

⚠️ Ещё раз подчеркиваю - пакет экспериментальный, а значит не спешите тащить его в свои проекты, особенно рабочие. Сейчас с ним можно просто поиграть, разобраться и написать фидбэк автрам, если есть что сказать

Расскажите в комментариях, что думаете об этой штуке?

#package #experimental
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍104😁1
Опрос для исследования рынка Go-разработчиков от DevCrowd

https://survey.alchemer.eu/s3/90588566/Go-2023

Исследование интересное, поэтому предлагаю и вам сделать свой небольшой вклад, а потом будем вместе ждать отчет с результатами.

Что хотят выяснить:

- Какие навыки для go-разработчиков самые важные
- Какие инструменты используются в работе
- Как попадают в профессию и куда из нее уходят
- Полезные для развития каналы, курсы и книги

#опрос
👍7
Forwarded from Go Update
Релиз Go 1.21

Вот и состоялся релиз новой версии Go. Кроме того, что указано здесь, у нас так-же появились:

- Довольной большой пакет slices: среди прочего содержит функции Min / Max, функцию сортировки и функцию поиска в сортированном слайсе. И больше не нужно писать страшные блоки вставки и удаления элементов из слайса.
- Пакет maps: по сравнению со слайсами как-то бедновато, но есть удобная функция копирования.
- Пакет cmp: содержит обьявление всех сравниваемых по порядку типов и две базовые функции для работы с ними. Нужно скорее для пакетов maps и slices, а так-же разработчикам библиотек с коллекциями.
- Profile-guide optimization (PGO - оптимизация основанная на данных профилировки) вышла из превью и теперь применяется всегда если присутствует файл default.pgo в директории main пакета. Говорят, что благодаря ей удалось ускорить компилятор примерно на 6%.
- Улучшение пакета context: теперь можно вешать функцию на отмену контекста (удобно когда вам нужно закрыть канал или прекратить чтение из сокета) и отвязать дочерний контекст от отмены родителя.
- При выводе очень глубоких стеков теперь показывают 50 самых верхних и 50 самых нижних фреймов (названий функции) вместо 100 самых верхних как это было ранее. Должно помочь с отладкой паник в рекурсивных функциях.
🔥23👍52
Анонимная сеть в 200 строк кода на Go

https://habr.com/ru/articles/745256/

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

Всё как мы любим: краткий и интересный ликбез по теме, затем практика - реализация анонимной сети своими руками.

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

#article #dyi #сети
👍10🔥4
Go v1.21 - обсуждение важных изменений | GoGetPodcast №10

https://youtu.be/hp0lOyGxpO0

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

Аудио версия:

- Mave
- Apple Podcasts
- Google Podcasts
- Яндекс Музыка

#gogetpodcast #go_release
🔥16👍8
Интересные блоги по Go

Чтение блогов часто может быть полезней чтения книг, особенно если у вас уже есть опыт разработки на Go. Это помогает быть в курсе текущих тенденций развития языка, понимать мотивацию авторов, узнавать новые тонкости внутреннего устройства и др.

- https://research.swtch.com - автор блога Russ Cox - ведущий разработчик Go. Регулярно пишет о планах развития языка, о мотивации различных решений и в целом про язык

- https://go.dev/blog - официальный блог авторов Go

- https://www.ardanlabs.com/categories/go-programing/ - ArdanLabs - отличные образовательные посты, разборы различных нюансов и тонкостей языка

- https://dave.cheney.net - контрибьютор Go. Блог перестал обновляться с 2021 года, но имеющиеся посты часто тоже очень интересны.

#blogs
👍12🔥4
Golang Дайджест
Интересные блоги по Go Чтение блогов часто может быть полезней чтения книг, особенно если у вас уже есть опыт разработки на Go. Это помогает быть в курсе текущих тенденций развития языка, понимать мотивацию авторов, узнавать новые тонкости внутреннего устройства…
Какие блоги по Go читаете вы?

Помимо приведенных выше

Можете просто скидывать ссылки, но краткий комментарий делает ссылку в разы ценнее - почему на этот блог стоит обратить внимание?

Можно также делиться блогами по разработке в целом, если они будут полезны именно Go-разработчикам.

#discussion #blogs
👍5
Авторы Go про slog и structured logs

https://go.dev/blog/slog

Свежий пост, в котором авторы языка рассказывают про structured logs и пакет slog:

- Краткое введение в slog
- Производительность
- Процесс дизайна пакета slog

#post #logs #slog
👍19
Серия постов про новый пакет slices от ArdanLabs

В статьях разбираются функции из нового пакета:

- Binary Search
- Clip, Clone, and Compact
- Compare
- Contains, Delete, and Equal

В случае постов ArdanLabs и конкретно от William Kennedy, мои комментарии излишни - он пишет хорошо, интересно, с кучей примеров.

#ardanlabs
👍25
Конференция по Go от Podlodka Crew

11 сентября состоится очередная конференция Podlodka Go Crew

Общая тема в этот раз - Highload на Go:

- заглянем под капот устройства памяти
- научимся превентивно находить потенциальные очаги чрезмерной нагрузки
- посмотрим на лучшие практики нагрузочного тестирования
- изучим масштабируемую технологию NATS JetStream для очередей и асинхронной коммуникации

Кроме того, каждый желающий сможет выступить на открытом микрофоне.

Подробности тут
————

Если решили купить билет, держите промокод на скидку в 500р: ntuzov_go2

#podlodka #конференция
3🔥2👍1
Воспроизводимость и верификация тулчейна Go

https://go.dev/blog/rebuild

Russ Cox в статье для официального блога Go пишет про проблему supply chain attack, как она связана с воспроизводимостью билдов (reproducible builds), как это помогает верифицировать билды.

Также тут подробно разобрано, что было с воспроизводимостью в разных версия Go, и что в Go 1.21 она "идеальная":

> Go 1.21.0 is the first Go toolchain with perfectly reproducible builds

Думаю, девопсам эта статья будет особенно полезна и интересна

#статья #russ_cox
👍8
Как вы предпочитаете именовать подобные функции - вместо MyFunc? (см. опрос ниже)

Расскажите в комментариях, почему именно так. Считаете ли вы какой-то подход идиоматичным?
👍3
Garbage Collection: как работает и почему это важно знать

https://habr.com/ru/companies/avito/articles/753244/

Хорошая авторская статья про GC в Go - с кучей примеров и картинок(!) ☕️
Читается легко, интересно.

Ещё раз подчеркну - это в кои-то веки авторская статья, а не перевод. В последнее время это стало редкостью.

#post #habr #gc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍333🤔1
Profile-guided optimization in Go 1.21

https://go.dev/blog/pgo

Michael Pratt в статье в официальном блоге Go рассказывает про PGO - что это и как пользоваться.
И самое интересное - он показывает конкретный пример оптимизации приложения.

Полная документация по PGO тут: https://go.dev/doc/pgo

#pgo #go_official
👍52🤯2
Forwarded from defer panic
Мне было сегодня лет, когда я узнал, что в GoLand встроен плейграунд, и больше не нужно идти в браузер, чтобы проверить какой-то маленький кусок кода. Он умеет как выполнять локально, так и загружать код на официальный плейграунд, после чего можно поделиться ссылкой. Но пожалуй самое крутое — внутри встроенного плейграунда можно использовать все те же фичи, что в обычном режиме, включая дебаг, Copilot и т.д.!

Чтобы открыть, нажимаете два раза Shift или вызываете «поиск по всему», вводите “playground”, вы прекрасны!

https://www.jetbrains.com/go/guide/tips/integrated-go-playground/

❤️ютуббустипатреонплатный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥331👍1🤔1
2025/07/11 18:29:33
Back to Top
HTML Embed Code: