♣️ Гадание на мемах
Готовы к прогнозу на следующую неделю?
Выбирайте подходящий мем и делитесь им в комментариях👇
Мемы взяты из нашей коллекции на канале➡️ @itmemlib
🐸 Библиотека Go-разработчика #междусобойчик
Готовы к прогнозу на следующую неделю?
Выбирайте подходящий мем и делитесь им в комментариях👇
Мемы взяты из нашей коллекции на канале
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🥱2👍1
📰 Дайджест недели
Нельзя поймать каждую новость недели, поэтому мы собрали самые интересные материалы.
— Безопасные горутины в Go 1.25
Go 1.25 добавил метод Go() в sync.WaitGroup, который автоматизирует запуск горутин: больше не нужно вручную вызывать
— Advanced Go: как писать код
Разбираются лучшие практики для опытных Go-разработчиков: от table-driven тестов и idiomatic переменных до безопасной обработки ошибок через
— Git push и rebase: как работают под капотом
— Свежий выпуск Cup o' Go
— Вайб-кодинг: что это и как к нему относятся IT-специалисты и работодатели
🐸 Библиотека Go-разработчика #свежак
Нельзя поймать каждую новость недели, поэтому мы собрали самые интересные материалы.
— Безопасные горутины в Go 1.25
Go 1.25 добавил метод Go() в sync.WaitGroup, который автоматизирует запуск горутин: больше не нужно вручную вызывать
Add(1)
и defer Done()
. Теперь достаточно wg.Go(func() { ... })
, и Go сам позаботится о корректном учёте выполнения, даже если внутри произойдёт паника.— Advanced Go: как писать код
Разбираются лучшие практики для опытных Go-разработчиков: от table-driven тестов и idiomatic переменных до безопасной обработки ошибок через
errors.Is
.— Git push и rebase: как работают под капотом
git push
и git rebase
кажутся простыми, но их поведение «по умолчанию» может удивить. Без настроек push
не всегда знает, куда отправлять, а rebase
меняет историю — и требует --force-with-lease
— Свежий выпуск Cup o' Go
— Вайб-кодинг: что это и как к нему относятся IT-специалисты и работодатели
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
Anonymous Quiz
18%
Копируется только сама директория, без вложенных объектов
8%
Вложенные элементы нужно клонировать вручную
66%
Клонируются все вложенные элементы рекурсивно
8%
Клонируется пустая директория
👍4❤1
Golang-разработчик — от 300 000 ₽, удалённо (Москва).
Senior Golang Developer — от 4 500 $, удалёнка в Катаре.
Golang-разработчик — от 240 000 до 400 000 ₽, офис (Санкт-Петербург).
Разработчик ПО (Go / C) — от 300 000 ₽, удалённо (Москва).
Backend-разработчик — от 350 000 ₽, офис/гибрид (Казань).
Бустер — удалённо (не только Москва)
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱2
Нашли имбу для изучения конкурентного программирования. Concurrency Rocks — это виртуальная песочница, где можно посмотреть что и как отрабатывает пошагово.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥4👍2
Как векторный поиск в YDB справляется с реальной нагрузкой?
Большинство решений по векторному поиску хороши… пока они не сталкиваются с реальными данными и продакшн-нагрузкой.
Быстро накапливаются проблемы: нет консистентности, фильтрации, всё надо собирать руками и надеяться, что не развалится.
YDB пошёл другим путём. Там векторный поиск — часть самой базы:
— Индексы встроены в ядро СУБД
— Есть поддержка фильтрации внутри запроса
— И масштабируется оно линейно
14 августа на вебинаре разложат всё по полочкам. Если вы архитектор или строите ИИ-сервисы, то будет полезно 💯
Большинство решений по векторному поиску хороши… пока они не сталкиваются с реальными данными и продакшн-нагрузкой.
Быстро накапливаются проблемы: нет консистентности, фильтрации, всё надо собирать руками и надеяться, что не развалится.
YDB пошёл другим путём. Там векторный поиск — часть самой базы:
— Индексы встроены в ядро СУБД
— Есть поддержка фильтрации внутри запроса
— И масштабируется оно линейно
14 августа на вебинаре разложат всё по полочкам. Если вы архитектор или строите ИИ-сервисы, то будет полезно 💯
❤6
Delivery Manager — это не просто должность, а человек, который стоит на передовой, обеспечивая, чтобы проект был сдан вовремя и без сюрпризов.
Мы подготовили 5 карточек, которые расскажут о том, кто такой Delivery Manager, какие задачи он решает и какие суперсилы ему для этого нужны.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4😁2
Go идеально подходит для разработки микросервисов, а с помощью gRPC можно легко и быстро обмениваться данными между сервисами. Подготовили для вас мини гайд как начать
Шаги для реализации микросервиса с gRPC в Go
1. Установка
Чтобы начать работать с gRPC в Go, сначала установим нужные инструменты. Для генерации кода нам понадобится protoc и два плагина к нему: protoc-gen-go и protoc-gen-go-grpc.
apt install -y protobuf-compiler
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
2. Создаём файл .proto для определения сервисов:
syntax = "proto3";
option go_package = "path/to/your/go/package;package_name"; // Путь к вашему Go пакету
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}
message UserRequest {
string id = 1;
}
message UserResponse {
string name = 1;
string email = 2;
}
3. Теперь, когда все установлено, сгенерируйте код с помощью команды:
protoc --go_out=. --go-grpc_out=. user.proto
Эта команда сгенерирует два файла: user.pb.go и user_grpc.pb.go, которые будут содержать необходимый код для работы с сообщениями и gRPC-методами.
4. Реализация сервера и клиента для обмена данными
Сервер:
type server struct {
pb.UnimplementedUserServiceServer
}
func (s *server) GetUser(ctx context.Context, req *pb.UserRequest) (*pb.UserResponse, error) {
return &pb.UserResponse{Name: "John Doe", Email: "[email protected]"}, nil
}
func main() {
lis, err := net.Listen("tcp", ":50051")
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterUserServiceServer(s, &server{})
fmt.Println("Server started on :50051")
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}
Клиент:
func main() {
conn, err := grpc.Dial(":50051", grpc.WithInsecure())
if err != nil {
log.Fatalf("could not connect: %v", err)
}
defer conn.Close()
c := pb.NewUserServiceClient(conn)
resp, err := c.GetUser(context.Background(), &pb.UserRequest{Id: "123"})
if err != nil {
log.Fatalf("could not get user: %v", err)
}
fmt.Printf("User: %s, Email: %s\n", resp.Name, resp.Email)
}
Теперь ваш первый микросервис с gRPC готов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🥱5❤2😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19❤2
Сегодня составили для вас промпт, с которым можно самостоятельно спроектировать проект. От вас требуется только тематика проекта и основные функции, а остальное сделает нейросеть.
Промпт:
Проектируй детальную архитектуру проекта «ТЕМА ПРОЕКТА» с учётом следующих функций: [СПИСОК ФУНКЦИЙ]. Опиши ключевые модули, их взаимодействия (с использованием схем или диаграмм, если возможно), технологии для каждого компонента, а также обоснование выбора архитектурного стиля. Особое внимание удели масштабируемости, обеспечению безопасности и возможным ограничениям. Базовый язык программирования – Go, остальные технологии и инструменты выбирай самостоятельно, аргументируя выбор. Структурируй ответ по разделам: 1) Ключевые модули; 2) Взаимодействие модулей; 3) Используемые технологии; 4) Обоснование архитектурного стиля; 5) Масштабируемость и безопасность; 6) Ограничения и риски.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚10👍6😢4😁3🤩1
🫣 Боитесь математики в ML?
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Почему одним достаются крутые фичи, а вы — снова на багфиксе. Именно с такой историей пришёл к нам подписчик:
Работаю в команде больше года. Почти все ключевые и интересные задачи уходят к сеньорам. Мне достаются мелкие доработки, баги и то, что «надо кому-то сделать». Сначала думал, что это временно. Что делать, чтобы перейти на более серьёзный уровень и не застрять в рутине?
Если вы молча делаете своё и не выходите за рамки текущих задач, команду устраивает, что вы «надёжный исполнитель».
Хотите большего — начните показывать больше: идеи, инициативу, участие в обсуждениях, собственные предложения.
Даже если вы в команде давно — это не аргумент для роста. Важнее — насколько вы выросли профессионально, какой вклад вы создаёте, и готовы ли к задачам более высокого уровня.
Если вы хотите получить серьёзную задачу — приходите подготовленным: изучите фичу, продумайте архитектуру, обозначьте риски. Это сигнал: вам можно доверять.
💬 Что вы делали для того, чтобы взять задачку покруче? Делитесь опытом в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы — более уверенным специалистом.
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
Go‑команда представила Go 1.25 RC3. Посмотрим что там внутри.
Два важных фикс-патча, связанных с безопасностью:
• Функция LookPath могла возвращать неожиданные пути, если переменная PATH содержит исполняемые файлы вместо директорий и строчки "", "." или ".." передаются в LookPath.
• При отмене запроса Rows.Scan в случае параллельных запросов было возможна гонка — Scan может вернуть данные другого запроса или ошибку.
Как установить и попробовать:
go install golang.org/dl/go1.25rc3@latest
go1.25rc3 download
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2
💰 Сколько ты стоишь как разработчик
В переговорах о зарплате нет ничего хуже, чем назвать цифру «с потолка» и потом узнать, что рынок готов был платить больше.
Чтобы не гадать, а опираться на факты, есть три проверенных подхода. В статье — пошагово о каждом методе, с конкретными источниками и советами.
➡️ Читать статью
🐸 Библиотека Go-разработчика
В переговорах о зарплате нет ничего хуже, чем назвать цифру «с потолка» и потом узнать, что рынок готов был платить больше.
Чтобы не гадать, а опираться на факты, есть три проверенных подхода. В статье — пошагово о каждом методе, с конкретными источниками и советами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25⚡4❤1