Ru
Главная → Каналы → IT → Библиотека Go-разработчика | Golang

Библиотека Go-разработчика | Golang 🕘 история названий (1)

@goproglib · IT
24 100подписчиков сейчас
Подписаться в Telegram

Публикации всего: 105

Постов на странице: 10 30 50 Страница 1 из 11
🔎 Go 1.27 находит утечки горутин Обработчик запустил воркеры, получил ошибку и вернулся. Остальные горутины продолжают отправлять результаты в небуферизованный канал — только читать его уже некому. В Go 1.27 появился профиль goroutineleak, который помогает находить такие зависания в работающем приложении. Если у сервиса уже подключён net/http/pprof, профиль доступен по адресу:
/debug/pprof/goroutineleak
🔴 Что он видит: — блокировки на каналах; — ожидание Mutex, RWMutex, WaitGroup и Cond; — некоторые взаимные блокировки, которые обычный профиль горутин не отличает от нормального ожидания. Ожидание сетевого или файлового I/O этим механизмом не проверяется. Пустой профиль ещё не доказывает, что утечек нет. ➡️ Примеры ошибок и устройство профилировщика 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика
👍 9 ❤ 1 Перейти к публикации →
Гоферы, дайте отдохнуть себе и коду — приходите на Go Weekend 17 октября Конференция Lamoda Tech для тех, кто пишет на Go и может говорить о нем часами. Вас ждут два трека, 6 часов и 80+ амбассадоров Go-комьюнити. Примите участие в дискуссии о будущем языка и применении AI, задайте неудобные вопросы и потравите кодерские байки за пиццей. Трек Tech: доклады про архитектурные решения, спорные идеи и реальные кейсы. 🎙 Дмитрий Буров, Senior Golang-разработчик, Lamoda Tech «Тернарный оператор в Go. Принять нельзя отклонить» 🎙 Станислав Королев, Senior Golang-разработчик, Авито «Почему spec-driven development плохо работает на микросервисах» 🎙 Эдгар Сипки, Founder, EasyP && Sipki tech «MCP on Go, или Как случайно сломать безопасность вашей системы?» Трек Activities: круглый стол о будущем Go, «13 злых вопросов» экспертам и игры с призами. 🗓 17 октября ⏰ 12:00–18:00 📍 Москва, ул. Крылатская, 15   ➡️ Все подробности и регистрация на сайте Реклама. ООО "ЛАМОДА ТЕХ". ИНН 7734461512. erid: 2W5zFGPv2g1
🥱 4 ❤ 3 Перейти к публикации →
Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и примерно 45 минут активного участия автора. Так Армин Ронахер оценивает основной перенос MiniJinja с Rust на Go. MiniJinja собирает текст по шаблонам. Он начал с Opus 4.5 внутри Pi, а оставшиеся исправления тестов передал GPT-5.2 Codex. Рабочая среда оставалась той же; Go-реализацию сверяли с сохранёнными результатами тестов Rust-версии. По ходу работы агент отказался от проверок, в которых программа должна завершаться ошибкой: текст сообщений не совпадал дословно. Ронахер вмешался и сохранил эти тесты, изменив способ сравнения сообщений. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика
Перейти к публикации →
🎓 Тестовый собес с Go Senior из Гамбурга, с опытом работы в Yandex и Uzum [ + эталонные ответы на 50 сложных вопросов в подарок ] В четверг, 8 октября, в 19:00 МСК приходи онлайн на тестовое собеседование. Можно посмотреть, как всё устроено изнутри, и понять, насколько ты готов к такому интервью. Интервьюер: Маруф Караев — Senior Software Engineer из Гамбурга, ex-Yandex, ex-Uzum. Как это будет: 📂 Маруф задаст разработчику-добровольцу те вопросы и задачи, которые даёт кандидатам на своих интервью. Заранее их никто не знает; 📂 После каждого ответа Маруф даст обратную связь: что прозвучало сильно, а что стоило раскрыть иначе. Так станет понятнее, на что обращают внимание на собесе; 📂 В конце сможешь задать Маруфу любой вопрос и получить развёрнутый ответ; Эфир проходит в рамках менторской программы ШОРТКАТ для Go-разработчиков, которые хотят сменить работу и вырасти в грейде и зарплате. 🎁 Подарок для всех, кто зарегается на веб: файл с эталонными ответами на 50 сложных вопросов с Go-интервью 🔥 Жми на кнопку, чтобы попасть на эфир и забрать подарок ↓ @shortcut_go_bot Реклама. О рекламодателе.
🥱 5 👍 2 😁 1 Перейти к публикации →
🧑‍💻 Эмулятор AWS-сервисов Kumo — это небольшой инструмент на Go для локальной имитации AWS-сервисов. Он помогает разработчикам тестировать приложения без облака. Проект подходит для unit-тестов, где нужен мок для облачных вызовов. Устанавливается через
go install github.com/sivchari/kumo@latest
🟡 Запускается как прокси, а SDK настраивается на локальный эндпоинт. Поддерживает базовые операции над S3: создание бакетов, загрузку объектов, список файлов. Для DynamoDB эмулирует таблицы, put/get item. Конфиг через флаги или env. ➡️ Репозиторий 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoLive
🙏 10 🔥 7 🤩 3 Перейти к публикации →
👨‍💻 Библиотека для написания LSP-серверов Написать свой Language Server с нуля на Go сложно. Нужно разобраться с JSON-RPC фреймингом, маршрутизацией сообщений, типами LSP, управлением жизненным циклом соединения. И всё это до того, как начнёшь писать саму языковую логику. go-lsp берёт всё это на себя. Библиотека реализует LSP 3.17 и даёт чистый интерфейс, где вы просто описываете, что ваш сервер умеет делать. go-lsp состоит из трёх пакетов. jsonrpc отвечает за JSON-RPC 2.0 поверх io.ReadWriteCloser. lsp содержит Go-типы для всех структур протокола, без логики. server связывает всё вместе: принимает хендлер, смотрит какие интерфейсы он реализует и автоматически регистрирует соответствующие LSP-методы. Устанавливаем:
go get github.com/owenrumney/go-lsp
Минимальный сервер с поддержкой hover:
package main

import (
    "context"
    "os"

    "github.com/owenrumney/go-lsp/lsp"
    "github.com/owenrumney/go-lsp/server"
)

type Handler struct{}

func (h *Handler) Initialize(ctx context.Context, params *lsp.InitializeParams) (*lsp.InitializeResult, error) {
    return &lsp.InitializeResult{
        Capabilities: lsp.ServerCapabilities{
            HoverProvider: &lsp.HoverOptions{},
        },
    }, nil
}

func (h *Handler) Shutdown(ctx context.Context) error {
    return nil
}

func (h *Handler) Hover(ctx context.Context, params *lsp.HoverParams) (*lsp.Hover, error) {
    return &lsp.Hover{
        Contents: lsp.MarkupContent{
            Kind:  lsp.MarkupKindMarkdown,
            Value: "Hello from the server",
        },
    }, nil
}

func main() {
    srv := server.NewServer(&Handler{})
    if err := srv.Run(context.Background(), server.RunStdio()); err != nil {
        os.Exit(1)
    }
}
Сервер сам понимает, что хендлер поддерживает hover, потому что он реализует интерфейс HoverHandler. Вручную регистрировать методы не нужно. Хотите добавить completion — реализуйте CompletionHandler. Обязательный интерфейс только один — LifecycleHandler с методами Initialize и Shutdown. Всё остальное реализуете по мере необходимости. ➡️ Репозиторий 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика
❤ 4 👍 2 🤔 1 Перейти к публикации →
🤔 Вопрос с собеседования по Go Что выведет программа? ❤️ — 1 true / 0 false 🔥 — 1 true / 1 false 👍 — 1 false / 0 true 👾 — panic при втором чтении 👇 Правильный ответ (нажми, чтобы прочитать): ❤️ — 1 true / 0 false После close(ch) уже записанное значение можно получить обычным чтением. Когда канал пуст и закрыт, чтение возвращает нулевое значение типа и ok == false. ⚠️ Закрытый канал не становится сразу «пустым» — его буфер всё ещё можно прочитать. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика
❤ 68 🥱 6 👾 4 · всего 82 Перейти к публикации →
👩‍💻 Что на самом деле происходит внутри Go map? После Go 1.24 обычный map внутри работает уже не так, как раньше: вместо старой схемы с overflow buckets используется Swiss Tables. И там довольно много интересного: хеш делится на части, поиск идёт группами по 8 слотов, SIMD сразу сравнивает несколько значений, а при росте таблица может дробиться. 📍 В статье всё это разбирают буквально по шагам — от m["cow"] = 4 до устройства directory и таблиц. Если хочется понять, почему Go map работает быстро, а не просто знать, что он O(1) — почитать стоит. 🐸 Библиотека программиста
🔥 7 👍 3 🤔 3 · всего 17 Перейти к публикации →
🔥 В Go 1.27 появился portable SIMD До этого SIMD-оптимизации в Go требовали архитектурного кода — например, отдельно для amd64 и arm64. ➡️ Теперь экспериментальный пакет simd предлагает единый интерфейс для разных CPU: AVX/AVX2/AVX512, NEON и Wasm SIMD. Размер вектора при этом не зашит в типы, а при отсутствии аппаратной поддержки операции могут выполняться через эмуляцию. Пока API экспериментальный, но идея простая: один векторизованный код вместо отдельных реализаций под каждую архитектуру. 🔗 Подробнее о том, как это реализовано внутри Go 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoLive
🔥 10 ❤ 3 ❤‍🔥 1 · всего 15 Перейти к публикации →
🤡🤡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoGiggle
😁 30 😢 4 ⚡ 2 · всего 38 Перейти к публикации →
1 2 3 … 10 11

История названий канала

14.08.2026 название Библиотека Go разработчика → Библиотека Go-разработчика | Golang
Дата — момент, когда изменение заметил наш обход.

Другие каналы категории