🤩 Вайб-кодинг: магия или путь к техническому долгу
Вайб-кодинг обещает революцию в мире разработки: ты просто формулируешь задачу на обычном языке, а искусственный интеллект превращает её в рабочий(не всегда) код.
В этой статье исследуем, как вайб-кодинг меняет процесс разработки, почему он вызывает восторг и одновременно гнев у разработчиков.
➡️ Читать статью
🐸 Библиотека Go-разработчика
Вайб-кодинг обещает революцию в мире разработки: ты просто формулируешь задачу на обычном языке, а искусственный интеллект превращает её в рабочий
В этой статье исследуем, как вайб-кодинг меняет процесс разработки, почему он вызывает восторг и одновременно гнев у разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1
♣️ Гадание на мемах
Готовы к прогнозу на следующую неделю?
Выбирайте подходящий мем и делитесь им в комментариях👇
Мемы взяты из нашей коллекции на канале➡️ @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
❤12🔥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
👍21🥱5❤3😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20❤2