Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🖼️ 👩‍💻 FrankenPHP 1.0 Beta — еще один сервер приложений для PHP, написанный на Go и построенный на основе Caddy, который упрощает деплой PHP-приложений и привносит в PHP новые функции.

🤔Если эта идея звучит знакомо, возможно, вы уже столкнулись с RoadRunner, еще одним сервером PHP-приложений на базе Go, который использует совершенно другой подход.

👀 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍1
🚀В новом выпуске Game Bytes от GitHub упомянуты несколько игр и инструментов для разработки игр, которые написаны на языке Go. И это не может не радовать.

📌Вот несколько упомянутых в статье инструментов, которые использовались в разработке:

🔧Ebitengine — игровой движок 2D, написанный на Go.
🔧Oto — низкоуровневая Go-библиотека для воспроизведения звука на нескольких платформах.
🔧Tmx — парсер TMX, написанный на Go.

Подробнее👇
4🔥2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤩Game Bytes — ежемесячная серия, посвященная миру разработки игр на GitHub, в которой представлены обновления игровых движков, игры с открытым исходным кодом, моды, карты и многое другое.

🔥Knight Dreams — бесконечная аркада на JavaScript и, абсолютно заслуженно, игра месяца.

📌Обновления игр и игровых движков:

🎮Roboden — изобретательная стратегия в реальном времени. В последнем выпуске представлена ​​новая среда Inferno с новыми угрозами.
🎮Aaaaxy — 2D-платформер-головоломка, который чертовски сложно объяснить, но команда GitHub сделала это.
🎮Crazee Rider — гонки на мотоциклах, подобные игре 80-х годов. Почему бы не окунуться немного в прошлое?
⚡️Обновлен мод Scavengers в Beyond All Reason. Из анонса вы узнаете не только о новом игровом процессе, но и о тяжелой работе, проделанной при разработке мода.
⚡️Unreal Engine 5.3 (хотя исходный код не открыт, подписчики имеют доступ к нему через GitHub).

📌Игровые новости, свежие карты, моды, инструменты и многое другое читайте в статье.

#разработкаигр
🔥5👍2
🤔Видишь такое и думаешь: «Зачем тогда использовать Go, если у него нет будущего?». Согласны?

😎На Хабре, кстати, недавно появился любопытный перевод, который не похож на пресловутые «Rust vs Go». Автор использует одну и ту же задачу и популярные библиотеки для обоих языков, поэтому в нем могут быть некоторые детали, на которых не акцентировали внимание в других сравнениях.
👍31
Владимир Балун делится опытом прохождения собеса в Яндекс и рассказывает про его различные секции.

⏱️Таймкоды:

00:00 — Введение
00:08 — Разговор с HR по телефону
00:25 — Алгоритмические секции
02:15 — Секция по System Design
03:22 — Финальные секции
04:59 — Заключение
🥱16👍122😁2🌚1
🤩Go отлично подходит для специалистов по кибербезопасности. Это подтверждает огромное количество инструментов, которых с каждым днем появляется всё больше.

🚀Jozef Reisinger, старший инженер по безопасности в Empatica, приводит и другие аргументы в пользу использования Go в этой области и представляет практическое применение, написав простой Go-инструмент для определения версии TLS сервера.

🔸Часть 1: введение
🔸Часть 2: продолжение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
This media is not supported in your browser
VIEW IN TELEGRAM
🥱8👍4👏2
Нас уже больше 14 000 🥳🎊🎂! Спасибо за интерес к «Библиотеке Go-разработчика».
Please open Telegram to view this post
VIEW IN TELEGRAM
40🔥3🤔1
Переменная GOMAXPROCS ограничивает количество потоков операционной системы, которые могут одновременно выполнять код Go.

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

Это означает, что ваше приложение может работать медленнее. К счастью, есть очень простое решение!

Просто добавьте в main.go: import _ "go.uber.org/automaxprocs",

где «_» вызовет функцию init() пакета.

Как вы уже поняли, automaxprocs от команды Uber автоматически устанавливает GOMAXPROCS в соответствии с квотой процессора Linux-контейнера. Может это и не «лучшая практика», но свою задачу выполняет.

#tip by Matt Boyle
👍382
grpcurl — CLI-инструмент, который позволяет взаимодействовать с gRPC-серверами. Своего рода curl для gRPC-серверов, разработанный на Go.

📌Несколько простых примеров использования:
$ grpcurl grpc.server.com:443 my.custom.server.Service/Method
$ grpcurl -d '{"id": 1234, "tags": ["foo","bar"]}' grpc.server.com:443 my.custom.server.Service/Method
$ grpcurl localhost:8787 list

🔗 GitHub
👍30
🤔Очередной гайд про использование интерфейсов в Go? А вот и нет!

☑️Цель этого руководства — углубиться в практику и объяснить все доступным языком. Автор создает простой интерфейс для взаимодействия с базой данных и пишет несколько тестов.

🔗 Читать
👍10🥱2
📊JSON Benchmarks — репозиторий, в котором представлены бенчмарки различных реализаций Go JSON (в скобках — количество импортов).

• JSONv1 — encoding/json (1.3M)
• JSONv2 — github.com/go-json-experiment/json (47)
• JSONIterator — github.com/json-iterator/go (17k)
• SegmentJSON — github.com/segmentio/encoding/json (347)
• GoJSON — github.com/goccy/go-json (2k)
• SonicJSON — github.com/bytedance/sonic (517)

🔗 GitHub
🔥11
🤔 С вами было такое, что в выходные не успевали переделать и половины из того, что планировали? И даже физические и электронные ToDo-списки не выручат?

🤷‍♂️Может стоит попробовать использовать простой календарь?

📆 Calendar Blocking — метод планирования дел для повышения продуктивности, который позволяет контролировать время работы и отдыха с использованием календаря.

Валерий Жила в недавнем треде подробно написал про него. Говорит, что это очень простой и действенный метод повышения продуктивности и контроля своего ментального здоровья.

📌Что нужно делать?

👉 Берём свой календарь, заполняем какими-то рамками — например, время отхода ко сну и подъема. Стараемся планировать крупные дела наперёд, а по ходу дня всякую мелочь. Не слишком подробно (блоки от 30 минут с буферами), честно и быстро.

📌Что это даёт?

👉 Помогает концентрироваться на одном деле за раз. Помогает принимать оперативные решения и улучшать work-life balance. Помогает снизить тревожность и разгрузить память — великолепный «второй мозг» для планирования.

❗️Важно

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

О том, как это работает на практике, как и с помощью каких инструментов всё это сделать, читайте в его треде: в соцсети X или в приложении Threadreader, если бывший Твиттер у вас не открывается.

💬 Используете что-то подобное для планирования своего дня? Поделитесь в комментариях👇

#холивар
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4
⚡️Помогите «Библиотеке программиста» начать публиковать сторис

Каналы могут публиковать сторис в телеграм — правда, для этого им нужно набрать достаточно голосов пользователей. А голосовать могут только те, у кого есть премиум.

Что мы будем публиковать в сторис?
🧠Логические задачки — чтобы тренировать мозги
📰Только важные новости — оперативно
👨‍🏫Истории компаний, инструментов и софта по особым поводам (например, историю Linux в честь его дня создания)
Анонсы наших вебинаров и самых интересных статей

Если вы хотите увидеть наши сторисы в «Библиотеке программиста», вот что нужно сделать:
1️⃣ обновить телеграм на телефоне
2️⃣ перейти по ссылке ➡️ https://t.me/proglibrary?boost
3️⃣ нажать кнопку «голосовать»
🥱23🎉2🌚2🙏1
⚡️На популярном ресурсе Learn Go with Tests появился новый раздел, посвященный работе без моков

Новая глава погрузит вас в fakes и contracts, которые могут принести много пользы вашей стратегии тестирования.

👉 Подробнее
👍15