Эксперименты с шаблонами проектов с помощью gonew
Команда Go представила новый экспериментальный инструмент для создания новых проектов Go из предопределенных шаблонов. Любой может написать эти шаблоны, которые затем упаковываются и распространяются в виде модулей, используя Go module proxy и checksum database для повышения безопасности и доступности.
📌 Устанавливаем:
>
📌 Используем:
>
>
Команда Go представила новый экспериментальный инструмент для создания новых проектов Go из предопределенных шаблонов. Любой может написать эти шаблоны, которые затем упаковываются и распространяются в виде модулей, используя Go module proxy и checksum database для повышения безопасности и доступности.
📌 Устанавливаем:
>
go install golang.org/x/tools/cmd/gonew@latest
📌 Используем:
>
gonew golang.org/x/example/helloserver example.com/myserver
>
cd ./myserver
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👍1🙏1
Встраиваем Hello World на Go в ядро Linux
Автор материала представил малоизвестную функцию ядра Linux. Вместо запуска программы из файловой системы, независимо от того, виртуальная она или нет, также можно встроить программу user-space непосредственно в сам образ ядра и запускать оттуда👇
Читать
Автор материала представил малоизвестную функцию ядра Linux. Вместо запуска программы из файловой системы, независимо от того, виртуальная она или нет, также можно встроить программу user-space непосредственно в сам образ ядра и запускать оттуда👇
Читать
🔥21
#tip #go #beginner
О случайном порядке итерации типа map
Встроенные мапы Go не поддерживают порядок входных значений. Поэтому при использовании цикла for-range для итерации записей мапы порядок записей рандомизируется. Запустив код из примера, вы увидите, что результаты могут отличаться.
Но обратите внимание, что функции вывода на экран в стандартном пакете fmt сортируют записи (по ключам) мапы. То же самое происходит с выводами вызовов функции json.Marshal.
О случайном порядке итерации типа map
Встроенные мапы Go не поддерживают порядок входных значений. Поэтому при использовании цикла for-range для итерации записей мапы порядок записей рандомизируется. Запустив код из примера, вы увидите, что результаты могут отличаться.
Но обратите внимание, что функции вывода на экран в стандартном пакете fmt сортируют записи (по ключам) мапы. То же самое происходит с выводами вызовов функции json.Marshal.
👍25
Разработка базовой поисковой системы на Go: пошаговое руководство
🔸Настройка необходимых инструментов/библиотек и создание структуры проекта с модулями Go
🔸Создание поискового робота и индексатора
🔸Реализация перечисленных компонентов и алгоритма поиска с подробным объяснением основных концепций: настройки HTTP-клиента, сканирования и индексирования веб-страницы, обработки URL-адреса и извлечения данных
🔸Модульное и сквозное тестирование проекта + базовые вопросы теплая
🔸Настройка необходимых инструментов/библиотек и создание структуры проекта с модулями Go
🔸Создание поискового робота и индексатора
🔸Реализация перечисленных компонентов и алгоритма поиска с подробным объяснением основных концепций: настройки HTTP-клиента, сканирования и индексирования веб-страницы, обработки URL-адреса и извлечения данных
🔸Модульное и сквозное тестирование проекта + базовые вопросы теплая
👍15
profile-guided-optimization-pgo-in-go.pdf
5.4 MB
С Go 1.20 компилятор Go начал поддерживать механизм Profile Guided Optimization (PGO) для оптимизации сборок.
О том, что из себя представляет PGO и как его использовать в своих проектах, читайте в статье👇
Читать (pdf-файл для тех, у кого не открывается Medium)
О том, что из себя представляет PGO и как его использовать в своих проектах, читайте в статье👇
Читать (pdf-файл для тех, у кого не открывается Medium)
❤10⚡2
🗒️ Примечания к выпуску
⬇️ Скачать
💯 — конечно
🥱 — нет, уже сбился со счета
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54🥱37💯21👍4🌚3
📌 Подборка всех частей бесплатного мини-курса от Ardan Labs:
🌐 How to Install a Package Locally
🌐 What is a Module Mirror?
🌐 The Deploy First Mentality
🌐 Package Anti-Patterns
🌐 How Does a Cluster Work?
🌐 A Mental Model For Configuration
🌐 Concurrent Logging
🌐 Deploy A pprof Debug Service
🌐 Defining the Function Signature of a Web Handler
🌐 A Prelude to Middleware
🌐 How Middleware Works
🌐 Ephemeral Request Storage API
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤2
❤5👍5🌚5
⚡️Команда werf выпустила бесплатный самоучитель по CI/CD и Kubernetes для Go-разработчиков
Что внутри:
🔸Подготовка окружения и сборка образа
🔸Основы Kubernetes
🔸Создание приложения на Go, работа с файлами и БД
🔸Лучшие практики деплоя
🔸Построение CI/CD-пайплайна
GitLab CI/CD, GitHub Actions, ArgoCD
👉 Читать гайд
Что внутри:
🔸Подготовка окружения и сборка образа
🔸Основы Kubernetes
🔸Создание приложения на Go, работа с файлами и БД
🔸Лучшие практики деплоя
🔸Построение CI/CD-пайплайна
GitLab CI/CD, GitHub Actions, ArgoCD
👉 Читать гайд
ru.werf.io
Первые шаги | Go | werf
Инструмент консистентной доставки. Используем Git как единый источник истины. Собираем, деплоим в Kubernetes, синхронизируем изменения.
🔥31❤6👍2
🚀 Глубокое погружение в интеграцию Go с Kafka: подробный гайд по использование Go для обмена сообщениями в реальном времени.
Читать
Читать
❤25👍6
#холивар
К сертификации в айти-сфере работодатели относятся по-разному. Кто-то уверен, что это лучший способ доказать свою профпригодность, а другие не видят в них никакой практической ценности.
🤷♂️ Некоторые работодатели приветствуют желание разработчиков развиваться и оплачивают сертификаты.
💬 А у вас такое практикуется? Если бы у вас была возможность получить любой сертификат, какой выберете?
К сертификации в айти-сфере работодатели относятся по-разному. Кто-то уверен, что это лучший способ доказать свою профпригодность, а другие не видят в них никакой практической ценности.
🤷♂️ Некоторые работодатели приветствуют желание разработчиков развиваться и оплачивают сертификаты.
💬 А у вас такое практикуется? Если бы у вас была возможность получить любой сертификат, какой выберете?
❤5
🔓Socket представляет поддержку Go
Проект Socket, основанный известным JavaScript-разработчиком Feross Aboukhadijeh, был запущен в 2022 году с акцентом на предоставление инструментов для улучшения ситуации с цепочкой поставок npm. Теперь разработчики проекта делают шаги в сторону анализа безопасности зависимостей Go.
Подробнее
Проект Socket, основанный известным JavaScript-разработчиком Feross Aboukhadijeh, был запущен в 2022 году с акцентом на предоставление инструментов для улучшения ситуации с цепочкой поставок npm. Теперь разработчики проекта делают шаги в сторону анализа безопасности зависимостей Go.
Подробнее
Socket
Introducing Go Support - Socket
We're excited to announce that Socket now supports the Go programming language.
👍9❤6🤔2🌚1
#чтопроисходит
📌 Подборка для Go-разработчика:
⚡️ Через шесть месяцев после выпуска версии Go 1.20 выходит версия 1.21.
🤔 proposal: spec: allow append(nil, arg).
🤔 proposal: x/sync: add multimap.
🤔 proposal: log/slog: add iterator form of Record.Attrs.
🤔 proposal: Go 2: left side syntax for new variable.
🔸 Oto 3 — низкоуровневая кроссплатформенная библиотека, используемая игровым движком Ebitengine 2D для воспроизведения звука на значительном количестве платформ: от Windows, macOS и Linux до более интригующих вариантов, таких как Nintendo Switch и iOS.
🔸 BadgerDB 4.2 — встраиваемая и быстрая база данных key-value, написанная на чистом Go.
🔸 Validator 10.15.0 — проверка значений для структур и полей.
🔸 Pop 0.2 — CLI-инструмент для отправки электронных писем из вашего терминала. Новая версия добавляет поддержку SMTP.
🔸 OpenFGA 1.3 — механизм авторизации/разрешения, вдохновленный Google Zanzibar.
🔸 retry-go 4.5 — простая библиотека для реализации механизма повторных попыток.
🔸 Kratos 2.7 — фреймворк для разработки cloud-native микросервисов.
📌 Подборка для Go-разработчика:
⚡️ Через шесть месяцев после выпуска версии Go 1.20 выходит версия 1.21.
🔸 Oto 3 — низкоуровневая кроссплатформенная библиотека, используемая игровым движком Ebitengine 2D для воспроизведения звука на значительном количестве платформ: от Windows, macOS и Linux до более интригующих вариантов, таких как Nintendo Switch и iOS.
🔸 BadgerDB 4.2 — встраиваемая и быстрая база данных key-value, написанная на чистом Go.
🔸 Validator 10.15.0 — проверка значений для структур и полей.
🔸 Pop 0.2 — CLI-инструмент для отправки электронных писем из вашего терминала. Новая версия добавляет поддержку SMTP.
🔸 OpenFGA 1.3 — механизм авторизации/разрешения, вдохновленный Google Zanzibar.
🔸 retry-go 4.5 — простая библиотека для реализации механизма повторных попыток.
🔸 Kratos 2.7 — фреймворк для разработки cloud-native микросервисов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3🎉2🤔1
⚒️ Ensure — фреймворк для тестирования Go-проектов на основе сценариев. Это новый проект, предоставляющий еще один способ структурирования тестов.
Как говорит автор: «Мне нравятся текстовые описания моего теста, поэтому я написал ensure, немного основываясь на своем опыте работы с XBehave в .NET».
🔗 GitHub
Как говорит автор: «Мне нравятся текстовые описания моего теста, поэтому я написал ensure, немного основываясь на своем опыте работы с XBehave в .NET».
🔗 GitHub
GitHub
GitHub - iamkoch/ensure: A scenario-based testing framework for Go
A scenario-based testing framework for Go. Contribute to iamkoch/ensure development by creating an account on GitHub.
❤11👍3🥱2
Итераторы в Go: по мотивам range over func, предлагаемого расширения языка Go
Практический взгляд на потенциал этой функции в реальных ситуациях, прежде чем сделать вывод: «В общем, итераторы довольно удобны».
🔗 Читать
Практический взгляд на потенциал этой функции в реальных ситуациях, прежде чем сделать вывод: «В общем, итераторы довольно удобны».
🔗 Читать
GitHub
spec: add range over int, range over func · Issue #61405 · golang/go
Following discussion on #56413, I propose to add two new types that a for-range statement can range over: integers and functions. In the spec, the table that begins the section would have a few mor...
👍10
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕️Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕️Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
❤1
✍️«Библиотека программиста» собирает кейсы использования нейросетей
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
😁1
💡Lazygit исполняется 5 лет: размышления о Git, TUI и открытом исходном коде
Автор Lazygit Jesse Duffield рассуждает о пяти годах разработки проекта:
▪️Где сейчас находится проект?
▪️Извлеченные уроки
▪️Что будет дальше?
▪️Так ли хорош Git?
▪️CLI vs UI
Автор Lazygit Jesse Duffield рассуждает о пяти годах разработки проекта:
▪️Где сейчас находится проект?
▪️Извлеченные уроки
▪️Что будет дальше?
▪️Так ли хорош Git?
▪️CLI vs UI
Jesseduffield
Lazygit Turns 5: Musings on Git, TUIs, and Open Source
❤17