Golang-разработчик — от 200 000 на гибрид в МСК
Software Engineer — удалёнка по Испании с ЗП от 3 650 €
Golang разработчик в московский офис.
#GoWork
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8❤1
Мы знаем, что вокруг Go много полезного контента — от блогов и телеграм-каналов до форумов и YouTube-каналов. А может вы автор такого контента?
💬 Пишите в комментариях свои любимые места, где вы черпаете знания про Go. Это могут быть популярные каналы, малоизвестные сообщества, новостные ленты или даже личные блоги.
#GoTalk
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5❤1
В поиске новой работы легко застрять в классическом сценарии с джоббордами, когда резюме тонут среди сотен таких же заявок, отклики растягиваются на недели, а автоматические системы решают, дойдет ли твой профиль до живого человека.
Есть более прямой маршрут к реальному собеседованию. Если выходить сразу на CTO, тимлидов или фаундеров, общение начинает строиться с людьми, которые действительно принимают решение о найме и понимают ценность конкретных технических навыков.
🔸 Специалист по ИИ
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🛠 Чанки как взрослый способ резать срезы на части
Чанкинг нужен, когда массив слишком большой и его удобнее обрабатывать частями обработка в батчах, пагинация, параллельные воркеры. В Go это можно оформить как простую функцию которая берет срез и размер чанка и возвращает срез чанков.
В новых версиях Go появился удобный способ обходить данные чанками через итераторы. Это позволяет не собирать все чанки в память а сразу обрабатывать их в цикле range.
Пример:
Цикл for range получает каждый чанк по очереди и не нужно самому писать арифметику индексов. Код остается компактным но при этом прозрачным для чтения.
🔹 Экспресс-курс «Математика для Data Science»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека Go-разработчика
#GoToProduction
Чанкинг нужен, когда массив слишком большой и его удобнее обрабатывать частями обработка в батчах, пагинация, параллельные воркеры. В Go это можно оформить как простую функцию которая берет срез и размер чанка и возвращает срез чанков.
В новых версиях Go появился удобный способ обходить данные чанками через итераторы. Это позволяет не собирать все чанки в память а сразу обрабатывать их в цикле range.
Пример:
package main
import (
"fmt"
"slices"
)
func main() {
data := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
for chunk := range slices.Chunk(data, 3) {
fmt.Println("chunk:", chunk)
// здесь можно обрабатывать батч
}
}
Цикл for range получает каждый чанк по очереди и не нужно самому писать арифметику индексов. Код остается компактным но при этом прозрачным для чтения.
🔹 Экспресс-курс «Математика для Data Science»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🤩5❤2🥱1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51❤2👾2
Первая уязвимость лежит в пакете ssh и реализации GSSAPI аутентификации на стороне сервера. При разборе GSSAPI запроса не проверялось, сколько механизмов аутентификации клиент перечислил в сообщении, поэтому можно было отправить сверхдлинный список и заставить сервер аллоцировать все больше памяти.
В результате процесс мог быть эффективно выведен из строя по памяти, а это CVE-2025-58181.
Вторая уязвимость находится в ssh/agent. При обработке запросов на добавление новой identity агент не валидировал длину входного сообщения, и при некорректном размере происходило чтение за пределами буфера, заканчивающееся паникой.
Этот сценарий описан как CVE-2025-47914 и классифицирован как DoS по линии неверной валидации размеров сообщений.
🔹 Основы IT для непрограммистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
🔥 На рынке сейчас математика — снова король: AI растёт быстрее, чем вузы успевают обновлять программы. Мы же перестраиваем курс под индустрию мгновенно.
Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом?
Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML.
Что в курсе:
→ линал, производные, градиенты, вероятности, статистика;
→ практика на Python и 3 большие ДЗ;
→ живые вебинары + разбор ваших вопросов;
→ финальный мини-проект, который можно положить в портфолио;
→ доступ к материалам и чат с экспертами.
Для старта нужны только школьная математика и базовый Python.
🎁 Бонусы ноября:
— скидка 40% до 30 ноября;
— «Базовая математика» в подарок при оплате;
→ бесплатный тест уровня математики.
👉 Записывайся на курс
Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом?
Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML.
Что в курсе:
→ линал, производные, градиенты, вероятности, статистика;
→ практика на Python и 3 большие ДЗ;
→ живые вебинары + разбор ваших вопросов;
→ финальный мини-проект, который можно положить в портфолио;
→ доступ к материалам и чат с экспертами.
Для старта нужны только школьная математика и базовый Python.
🎁 Бонусы ноября:
— скидка 40% до 30 ноября;
— «Базовая математика» в подарок при оплате;
→ бесплатный тест уровня математики.
👉 Записывайся на курс
🥱2❤1🤔1😢1
Aero Arc Relay — свежий опенсорсный сервис на Go для приёма телеметрии по MAVLink и фанаута в облачные хранилища. Команды до сих пор клепают свои одноразовые пайплайны под S3/GCS/лог‑файлы, а потом ловят тихие потери данных и хрупкий бэкпрешер.
Проект позиционируется как асинхронный, буферизованный и отказоустойчивый релей: он принимает MAVLink (UDP/TCP/serial через gomavlib), заворачивает сообщения в единый TelemetryEnvelope и раскидывает в несколько sinks одновременно.
В v0.1 уже есть S3, Google Cloud Storage, Kafka и локальные файлы с ротацией плюс метрики Prometheus, health/ready пробы и аккуратное выключение по контексту под контейнеры.
🔹 Математика для Data Science
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Собрали для вас в карточках 4 стратегии для торгов на собеседовании. Есть ещё несколько, которые подробно описаны в статье.
🔸 Специалист по ИИ
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍5🤔2🥱1
🎄 Скоро Новый год, а ты всё ещё не в бигтехе?
Если твой путь лежит в ML, DS или AI, то одна вещь решает всё: математика. Без неё — хоть три проекта сделай, хоть сотню туториалов посмотри — на собесе тебя всё равно вернут на «а что такое градиент?»
🔥 Экспресс-курс «Математика для разработки AI-моделей» — 8 недель, чтобы закрыть базу раз и навсегда.
Что внутри:
🔘 живые вебинары, где можно задавать вопросы экспертам
🔘 записи лекций + доступ к материалам
🔘 практические задания на Python и финальный мини-проект с фидбеком
🔘 программа обновлена в ноябре 2025
🔘 2 месяца только нужного — без воды
🔘 достаточно школьной математики и базового Python
🎁 Бонусы ноября:
→ 40% скидка до 30 ноября
→ при оплате до конца месяца — курс «Базовая математика» в подарок
→ бесплатный тест, чтобы узнать свой уровень математики
👉 Хочу стартовать
Если твой путь лежит в ML, DS или AI, то одна вещь решает всё: математика. Без неё — хоть три проекта сделай, хоть сотню туториалов посмотри — на собесе тебя всё равно вернут на «а что такое градиент?»
🔥 Экспресс-курс «Математика для разработки AI-моделей» — 8 недель, чтобы закрыть базу раз и навсегда.
Что внутри:
🔘 живые вебинары, где можно задавать вопросы экспертам
🔘 записи лекций + доступ к материалам
🔘 практические задания на Python и финальный мини-проект с фидбеком
🔘 программа обновлена в ноябре 2025
🔘 2 месяца только нужного — без воды
🔘 достаточно школьной математики и базового Python
🎁 Бонусы ноября:
→ 40% скидка до 30 ноября
→ при оплате до конца месяца — курс «Базовая математика» в подарок
→ бесплатный тест, чтобы узнать свой уровень математики
👉 Хочу стартовать
В репозитории Go появилось предложение о завершении поддержки macOS 12 начиная с Go 1.27. Инициатива идет от команды релиза Go и уже помечена как Likely Accept.
Ключевой аргумент команда Go смотрит на жизненный цикл самой macOS. Последнее обновление безопасности для macOS 12 вышло в июле 2024, Apple фактически завершила поддержку системы.
На этом фоне логично перестать гарантировать работу и тестирование Go под этой версией.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍5😢5🤔4🤩2
Контексты в Go созданы для сигнализации об отмене и таймаутах.
Представьте классическую ситуацию:
ctx, cancel := context.WithTimeout(parent, 150*time.Millisecond)
// забыли про cancel!
go someAsyncWork(ctx)
Контекст создан на 150 миллисекунд. Горутина запущена. Но кто её остановит?
Решение предельно простое:
ctx, cancel := context.WithTimeout(parent, 150*time.Millisecond)
defer cancel() // всегда, в конце функции
go someAsyncWork(ctx)
Это гарантирует, что ресурсы освобождаются, даже если функция выйдет через панику или другой неожиданный путь.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7
В последние годы рынок IT-сферы изменился: после бурного роста, наступил период масштабных сокращений и оптимизации команд.
Сегодня стабильность работы перестала быть гарантированной, и разрабы сталкиваются с риском внезапного увольнения.
В таких условиях особенно важно задуматься о своей карьерной страховке — наборе мер и инструментов, которые помогут сохранить профессиональную безопасность и финансовую устойчивость даже в кризисные времена.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3
Раньше в высоконагруженных Go сервисах часто использовали memory ballast огромный буфер в heap, чтобы отодвинуть порог GC. С Go 1.19 эту схему лучше забыть и перейти на GOMEMLIMIT.
В чем суть балласта
Создать большую аллокацию, чтобы базовый размер кучи был большим, а GC запускался реже.
Пример:
package main
func main() {
// 1 ГиБ балласта
ballast := make([]byte, 1<<30)
_ = ballast
// дальше работает приложение
select {}
}
Такой код увеличивает heap и уменьшает частоту GC за счёт меньшего относительного роста.
Проблемы балласта
Балласт держит виртуальную память частично занимает реальную RAM, как только вы по нему пройдётесь
привязан к конкретным лимитам контейнера и профилю нагрузки.
Чуть ошиблись с размером в одну сторону получите частые GC, в другую риск OOM или сильный рост RSS.
Что даёт GOMEMLIMIT
С Go 1.19 появился мягкий лимит памяти GOMEMLIMIT. Он говорит рантайму сколько памяти у процесса реально есть и заставляет GC работать агрессивнее при приближении к этому порогу.
Пример запуска:
GOGC=100 GOMEMLIMIT=2GiB ./your-service
Здесь
GOGC управляет частотой GC как раньше. GOMEMLIMIT ограничивает общий объём памяти, к которому стремится рантайм.Паттерн «накинуть балласт в кучу и расслабить GOGC» долго считался нормальным тюнингом Go. Сейчас это скорее антипаттерн, особенно в контейнерах.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🤔2😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35
Сортировка в Go часто сводится к нескольким строкам кода, если опираться на стандартный пакет sort.
Для срезов базовых типов все максимально просто. Существуют функции
sort.Ints, sort.Float64s и sort.Strings, которые упорядочивают элементы по возрастанию прямо в переданном срезе. Небольшой пример с числами:
nums := []int{10, 5, 7, 1}
sort.Ints(nums)Гибкая сортировка реализуется через
sort.Slice, где правила сравнения задаются анонимной функцией less:sort.Slice(tasks, func(i, j int) bool {
return tasks[i].Priority < tasks[j].Priority
})Если нужно сохранить относительный порядок равных элементов, используется
sort.SliceStable. Для более строгого подхода есть интерфейс sort.Interface и функции sort.Sort и sort.Stable:type Task struct {
Title string
Priority int
}
type ByPriority []Task
func (t ByPriority) Len() int { return len(t) }
func (t ByPriority) Less(i, j int) bool { return t[i].Priority < t[j].Priority }
func (t ByPriority) Swap(i, j int) { t[i], t[j] = t[j], t[i] }🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4