Golang Books
16.3K subscribers
246 photos
4 videos
334 files
245 links
Библиотека Golang разработчика

По всем вопросам- @haarrp

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

@itchannels_telegram - 🔥лучшие ит-каналы

№ 5032829002
Download Telegram
Forwarded from Golang
👣 Эта статья рассказывает об эффективном способе управления SQL-транзакциями в Go, минимизируя утечку деталей базы данных в бизнес-логику!

💡 Автор представляет библиотеку Transactor, которая позволяет использовать транзакции в сервисном слое без прямого импорта пакета database/sql. Обсуждаются преимущества такого подхода, примеры реализации, включая вложенные транзакции, и пошаговая реализация транзактора для Go.

🔗 Ссылка: *клик*

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.iss.one/ai_machinelearning_big_data
C++ t.iss.one/cpluspluc
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Хакинг: https://t.iss.one/+i__6ED-eRfkwOTYy
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_ci
Java: t.iss.one/javatg
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Docker: t.iss.one/DevopsDocker
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
Собеседования МЛ: t.iss.one/machinelearning_interview
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat

💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
👣 В этой статье автор делится опытом разработки безголового браузера на языке Go, предназначенного для тестирования веб-приложений с использованием HTMX!

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

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
⭐️ Шпаргалка по командам Docker Compose

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 "Painful intelligence: What AI can tell us about human suffering

Эта бесплатная книга — путеводитель по миру машинного обучения!

Основное, что в ней рассматривается:
• Базовые концепции: Алгоритмы, математические основы и принципы построения моделей.
• Глубокое обучение: Нейронные сети, методы оптимизации и регуляризация для повышения качества моделей.
• Практические кейсы: Реальные примеры применения ML в различных отраслях, от анализа данных до прогнозирования.
• Современные методики: Настройка гиперпараметров, интерпретация результатов и стратегии улучшения производительности.

Для специалиста по машинному обучению эта книга станет полезным ресурсом, помогая углубить знания, найти новые подходы и повысить эффективность проектов.

📚 Книга

#freebook #book #ai #ml #machinelearning #opensource
Forwarded from Golang
👣 go-msquic — это обертка на Go для библиотеки MsQuic, разработанной Microsoft, которая реализует протокол QUIC!

🌟 Она предоставляет Go-разработчикам интерфейс для работы с протоколами, основанными на QUIC, такими как HTTP/3. API go-msquic вдохновлено проектом quic-go и может использоваться в качестве его замены. Однако, учитывая необходимость работы с C-библиотеками, рекомендуется использовать quic-go, если вы не готовы к взаимодействию с C-кодом.

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье рассказывается о построении Retrieval-Augmented Generation (RAG) приложения с использованием Go, Ent, Atlas и pgvector! Автор объясняет, как комбинировать эти технологии для создания эффективной системы поиска и генерации ответов на основе векторных представлений данных.

🔗 Ссылка: *клик*
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 AnyQuery — это кроссплатформенное настольное приложение, разработанное для выполнения SQL-запросов к практически всем базам данных!

🌟 Оно поддерживает JSON, CSV, Parquet, SQLite, Google Sheets и многое другое, а также предоставляет интуитивно понятный интерфейс, позволяющий пользователям управлять подключениями, визуализировать данные в табличном формате и использовать автодополнение при написании SQL-кода.

🔐 Лицензия: AGPL

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 The Ultra-Scale Playbook: руководство по обучению крупных языковых моделей на GPU-кластерах!

💡 Это руководство посвящено обучению больших языковых моделей на масштабируемых GPU-кластерах. В рамках этого проекта было проведено более 4000 экспериментов по масштабированию на кластере с использованием до 512 GPU, с целью измерения пропускной способности и эффективности обучения.

🔗 Ссылка: *клик*

#курс #machinelearning
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
👣 NativeWebP — это библиотека на Go, предназначенная для кодирования изображений в формате WebP без зависимости от внешних библиотек, таких как libwebp!

🌟 Её основное преимущество — высокая производительность и эффективность, позволяющая создавать файлы меньшего размера по сравнению со стандартным Go-энкодером PNG, при этом обеспечивая примерно на 50% более быструю скорость работы.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Это — подробное руководство по использованию GitHub Actions для автоматизации процессов разработки, таких как сборка, тестирование и деплой приложений!

🔗 Ссылка: *клик*
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье автор описывает процесс разработки масштабируемого распределённого чат-приложения, используя Golang для серверной части, React.js для фронтенда и Redis для управления сообщениями!

🔗 Ссылка: *клик*
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 practice-go — коллекция задач по Go-программированию, предназначенных для практики и совершенствования навыков разработки!

🌟 Каждая задача расположена в отдельной директории и снабжена файлом README.md с описанием задания, а также тестовым файлом *_test.go для проверки корректности решения. Участникам предлагается реализовать требуемую функцию, избегая использования сторонних пакетов, после чего запустить тесты для оценки производительности.

🖥 Github

@golang_books
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 «Goroutines in Go: A Practical Guide to Concurrency» статя, которая посвящена тому, как в языке программирования Go реализована конкурентность с помощью горутин и каналов.

Автор подробно объясняет, почему традиционное последовательное выполнение может приводить к узким местам в работе приложения и как горутины помогают решать эту проблему, обеспечивая эффективное распределение задач и улучшение отзывчивости программ.

Основные моменты статьи:

- Последовательное vs конкурентное выполнение:
Рассматривается, как традиционные программы выполняют задачи по очереди, что может создавать задержки, особенно при выполнении долгих операций, и почему для современных приложений важно использовать конкурентное выполнение.

- Конкурентность и параллелизм:
Объясняется разница между конкурентностью (одновременная работа нескольких задач, даже на одном ядре) и параллелизмом (реальное одновременное выполнение на разных ядрах).

- Горутины в Go:
Показано, как с помощью ключевого слова go можно запускать функции в виде легковесных потоков (горутин), что позволяет выполнять задачи параллельно без накладных расходов, свойственных обычным потокам ОС.

- Синхронизация горутин:
Рассмотрены способы синхронизации, в том числе использование sync.WaitGroup для ожидания завершения всех горутин, что является более надежным методом по сравнению с time.Sleep.

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

- Предотвращение гонок данных:
Обсуждаются подходы к избежанию гонок, когда несколько горутин одновременно обращаются к общим данным, с использованием каналов и мьютексов (sync.Mutex).

- Паттерны конкурентности:
Приводятся популярные шаблоны проектирования, такие как Fan-Out/Fan-In и Worker Pools, которые помогают масштабировать выполнение задач в реальных приложениях.

- Практический пример:
В статье приведён пример реализации простого конкурентного веб-сервера, где горутины используются для обработки запросов (например, вычисления факториала), что демонстрирует практическую пользу конкурентного подхода.

- Лучшие практики:
Завершается статья рекомендациями по эффективному использованию горутин в производственном коде: управление количеством запущенных горутин, правильное использование синхронизации и применение инструментов для выявления гонок.

Читать

@golang_books
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Microsoft анонсировала радикальное улучшение производительности TypeScript за счет новой нативной реализации компилятора, написанной на Go.

Самое главное:

В 10 раз (!) быстрее компиляция, в 2 раза меньше памяти просит;
На видео как раз тест нового компилятора: 0.63 секунды против 3.35 на старом;
Проект пилят с августа 2024, готово уже 80%;

Полный переход займёт годы 😢;
В версии на Go не работает «манкипатчинг», что сделает API TypeScript более безопасным;
Планируют интеграцию с LLM (надеюсь, локальными);
Полный переход на TypeScript-Go не отменяет поддержку старой версии;
Кодовая база TypeScript в Go расходится с оригиналом, так что некоторые фичи (вроде JSDoc и JSX) могут полететь.


Проект в разработке с августа 2024, готово уже 80%.


Полное интервью с апдейтами тут глянуть на YouTube

Github: https://github.com/microsoft/typescript-go
Microsoft blog: https://devblogs.microsoft.com/typescript/typescript-native-port/

#dotnet #golang #programming #typescript #webdev

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
This media is not supported in your browser
VIEW IN TELEGRAM
👣 bubbletea — фреймворк на Go для создания интерактивных текстовых пользовательских интерфейсов (TUI)!

🌟 Bubble Tea основан на архитектуре Model-Update-View (MUV), вдохновлённой Elm, что позволяет писать чистый, модульный и поддерживаемый код. Этот фреймворк идеально подходит для создания консольных приложений, игр, инструментов визуализации данных и других текстовых интерфейсов.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 "Benchmarking: What you cannot miss in Go 1.24" статья, которая посвящена ключевым моментам бенчмаркинга в новой версии Go 1.24.

📌 Основная cуть:
    • Рассматриваются лучшие практики и новые возможности для написания и проведения бенчмарков в Go 1.24.
    • Автор делится опытом, демонстрирует примеры, объясняет, как правильно измерять производительность и избегать распространённых ошибок.

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

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

📌 Читать

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 ОAtomixDB — это инновационный инструмент для управления данными, созданный разработчиком Sahilb315 на GitHub.

Атомарность операций: гарантирует, что каждая транзакция выполняется полностью или не выполняется вовсе, что существенно снижает риск ошибок и потери данных.
Простота интеграции: интуитивно понятный API позволяет легко внедрять AtomixDB в проекты разного масштаба, от небольших приложений до распределённых систем.
Масштабируемость: инструмент спроектирован с учётом современных требований к производительности, что делает его подходящим для высоконагруженных систем.
Открытый исходный код: вы можете свободно изучать, модифицировать и расширять функциональность AtomixDB под специфические нужды вашего проекта.

Если вы ищете надёжное, эффективное и гибкое решение для управления данными с гарантией целостности, AtomixDB — отличный выбор для реализации современных приложений.

📌 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
«Go: Structs & Interfaces» на GetStream.io рассказывает о ключевых аспектах использования структур (structs) и интерфейсов (interfaces) в языке Go.

Основные моменты статьи:

Структуры (structs):
Рассматриваются как базовые составные типы данных, позволяющие группировать связанные поля вместе. Показаны примеры создания и использования структур для хранения информации.

Интерфейсы (interfaces):
Объясняется, как интерфейсы позволяют задавать набор методов для типов, обеспечивая абстракцию и полиморфизм. Особое внимание уделено тому, что реализация интерфейса происходит неявно — если тип содержит необходимые методы, он автоматически удовлетворяет интерфейсу.

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

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

📌 Читать

@golang_books
«Docker Cypress in 2025: How I've Perfected My E2E Testing Setup» гайд, в котором рассказывает о том, как автор усовершенствовал свою систему end-to-end тестирования, используя интеграцию Cypress с Docker.

Основное внимание уделяется тому, как создать стабильное, масштабируемое и воспроизводимое окружение для автоматизированного тестирования.

Интеграция с Docker:
 Автор объясняет, как использование контейнеров помогает стандартизировать тестовое окружение и устранять различия между локальной разработкой и CI/CD пайплайнами.

Оптимизация процесса тестирования:
 Подробно описываются шаги по настройке, конфигурации и оптимизации тестовой среды с Cypress в Docker, что позволяет ускорить и улучшить качество тестирования.

Преимущества и вызовы:
 Статья выделяет ключевые преимущества использования Docker в тестировании – от стабильности окружения до легкости масштабирования, а также обсуждаются возникающие проблемы и способы их решения.

Современные практики CI/CD:
 Рассматривается, как такая настройка вписывается в современные процессы непрерывной интеграции и доставки, делая тестирование более надежным и предсказуемым.

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

📌 Читать

@golang_books
👣 Новый пост официального блога Go рассказывает о том, как концепция «core types», введённая вместе с обобщениями в Go 1.18 для упрощения работы с операндами типа-параметров, оказалась излишне сложной. Основные моменты таковы:

Истоки и проблемы: В Go 1.18 появились типовые параметры и ограничения, которые требовали введения core types для унификации операций над обобщёнными типами. Однако это добавило сложности как в спецификацию языка, так и в понимание работы некоторых операций (например, срезов и индексирования) даже для негeneric-кода.

Изменения в Go 1.25: В предстоящем релизе Go 1.25 концепция core types была полностью удалена из спецификации. Вместо этого теперь используются более явные и понятные правила, что упрощает изучение языка и повышает ясность спецификации без изменения поведения существующего кода.

Таким образом, пост подчёркивает, что отказ от core types делает спецификацию Go проще и понятнее, одновременно открывая возможности для будущих улучшений языка.

🔗 Читать

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM