Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Что на самом деле происходит с увольнениями в ИТ
Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!
🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы
Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.
👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!
🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы
Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.
👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
📰 Дайджест недели
Что прошло уже не вернуть, но стоит ознакомиться с нашей подборкой прошедшей недели.
— Монолит: хороший, плохой и уродливый
Анализ трёх типов монолитов: модульного (готового к масштабированию), распределённого (маскирующегося под микросервисы) и традиционного (трудного в сопровождении).
Рассматриваются их особенности, преимущества и недостатки, а также влияние на поддержку и развитие систем.
— Нативная поддержка FIPS 140-3 без сторонних библиотек
Go 1.24 представил встроенную поддержку FIPS 140-3, устраняя необходимость в сторонних криптобиблиотеках. Это упрощает соответствие требованиям безопасности для государственных и регулируемых отраслей.
— Как защитить API: 6 ключевых аспектов безопасности
— Revive v1.10.0
— Cup O’ Go эпизод №112
🐸 Библиотека Go-разработчика #свежак
Что прошло уже не вернуть, но стоит ознакомиться с нашей подборкой прошедшей недели.
— Монолит: хороший, плохой и уродливый
Анализ трёх типов монолитов: модульного (готового к масштабированию), распределённого (маскирующегося под микросервисы) и традиционного (трудного в сопровождении).
Рассматриваются их особенности, преимущества и недостатки, а также влияние на поддержку и развитие систем.
— Нативная поддержка FIPS 140-3 без сторонних библиотек
Go 1.24 представил встроенную поддержку FIPS 140-3, устраняя необходимость в сторонних криптобиблиотеках. Это упрощает соответствие требованиям безопасности для государственных и регулируемых отраслей.
— Как защитить API: 6 ключевых аспектов безопасности
— Revive v1.10.0
— Cup O’ Go эпизод №112
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
❓ Когда сборщик мусора очищает слайсы
Anonymous Quiz
76%
Когда на слайс нет ссылок
4%
Когда программа завершается
3%
Когда слайс пустой
17%
Сборщик мусора не очищает слайсы
Senior Developer BE Golang — от 300 000 ₽, Гибрид (Москва)
GoLang-программист — Гибрид/Офис (Волгоград)
Разработчик в S3 — от 300 000, Удаленно (Москва/Санкт-Петербург/Новосибирск)
Software Engineer (Golang) — от 3 650 €, Удаленно (Испания, Сербия, Кипр — помощь с переездом)
Senior Go developer — Удаленно (Москва).
Бустер — Удалёнка по всей планете Земля.
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑💻 Ускоряем разработку на Go
В Go есть встроенный инструмент
Генерация кода помогает избегать рутинного написания однотипного кода, поддерживать DRY и улучшать структуру проектов. Разберёмся как это применить.
1. Добавляем директиву
В нужном файле добавьте комментарий с инструкцией генерации. Пример для генерации моков с помощью
2. Запускаем генерацию
В терминале в каталоге с исходным файлом выполните:
3. Использование с другими инструментами
Также можно использовать собственные скрипты на Go или Bash для генерации конфигураций или шаблонов.
Пример:
Запустив
💡 Советы по использованию
• Помещайте директивы
• Сохраняйте сгенерированные файлы рядом с исходниками и не редактируйте их вручную.
• Добавляйте сгенерированные файлы в систему контроля версий, если они нужны для сборки без дополнительной генерации.
• Используйте
💬 Используете генерацию кода или предпочитаете ручной контроль всех строчек кода? Делитесь мыслями в комментариях 👇
🐸 Библиотека Go-разработчика #буст
В Go есть встроенный инструмент
go generate
, который генерирует код по директивам в коде.Генерация кода помогает избегать рутинного написания однотипного кода, поддерживать DRY и улучшать структуру проектов. Разберёмся как это применить.
1. Добавляем директиву
//go:generate
В нужном файле добавьте комментарий с инструкцией генерации. Пример для генерации моков с помощью
mockgen
://go:generate mockgen -source=service.go -destination=mock_service.go -package=yourpackage
package yourpackage
type Service interface {
DoSomething(input string) error
}
2. Запускаем генерацию
В терминале в каталоге с исходным файлом выполните:
go generate
3. Использование с другими инструментами
go generate
запускает любую shell-команду, поэтому можно использовать stringer
для генерации методов String() по константам: //go:generate stringer -type=MyEnum
. Также можно использовать собственные скрипты на Go или Bash для генерации конфигураций или шаблонов.
Пример:
package colors
//go:generate stringer -type=Color
type Color int
const (
Red Color = iota
Green
Blue
)
Запустив
go generate
, будет создан файл color_string.go
с реализацией метода String()
для перечисления Color.💡 Советы по использованию
go generate
• Помещайте директивы
//go:generate
непосредственно перед декларацией, к которой они относятся.• Сохраняйте сгенерированные файлы рядом с исходниками и не редактируйте их вручную.
• Добавляйте сгенерированные файлы в систему контроля версий, если они нужны для сборки без дополнительной генерации.
• Используйте
go generate ./...
для запуска генерации рекурсивно во всех поддиректориях.💬 Используете генерацию кода или предпочитаете ручной контроль всех строчек кода? Делитесь мыслями в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем ждать взлома, если можно предотвратить атаки заранее? В карточках — основные аспекты, которые помогут надёжно защитить ваш API и избежать распространённых ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Часто при работе с большими репозиториями нужно увидеть количество изменений, а не построчную разницу. Для этого есть команда:
git diff --stat <commit1> <commit2>
Это покажет статистику изменений между двумя коммитами, в каком файле сколько строк изменено, создано или удалено.
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда разработки Go столкнулась с трудностями при попытке упростить этот процесс через синтаксические изменения языка.
За последние несколько лет разработчики пытались улучшить обработку ошибок через:
• Механизм
check/handle
в 2018.• Функцию
try
в 2019.• Предложение с оператором «
?
» в 2024.Предложенные механизмы не получили поддержки сообщества, и разработчики решили сохранить текущую модель обработки ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
✅ Чек-лист для создания и запуска пет-проекта
Составили для вас чек-лист, который поможет вам структурировать процесс создания вашего пет-проекта. Описали всё от 0 до 1.
1. Определите цель проекта
• Сформулируйте, зачем вы хотите создать этот проект (например, улучшить навыки, создать портфолио, решить реальную задачу).
• Разбейте цель на более мелкие, измеримые задачи.
2. Выберите интересную и полезную тему
• Выберите тему, которая вам интересна, чтобы поддерживать мотивацию.
• Убедитесь, что проект решает реальную проблему или может быть полезен другим.
3. Составьте план разработки
• Определите основные этапы и сроки выполнения.
• Разбейте проект на небольшие задачи и milestones.
• Оцените, сколько времени вы готовы уделять проекту.
4. Выберите стек технологий
• Подумайте, какие технологии вам хочется освоить или использовать в проекте.
• Выберите инструменты и библиотеки, которые соответствуют вашим целям.
5. Настройте репозиторий и версионный контроль
• Создайте репозиторий на GitHub, GitLab или другом сервисе для хранения кода.
• Настройте .gitignore и добавьте базовые файлы конфигурации.
6. Подготовьте рабочее окружение
• Настройте IDE, редактор кода и необходимые инструменты (например, Docker, виртуальные окружения, базу данных).
• Если проект требует внешних сервисов, настройте их.
7. Начните с прототипа
• Разработайте прототип или MVP (минимально жизнеспособный продукт).
• Сосредоточьтесь на реализации ключевой функциональности без излишних деталей.
8. Пишите тесты с самого начала
• Начинайте писать юнит-тесты для важных функций
• Убедитесь, что ваш код легко тестировать и поддерживать.
9. Документируйте
• Оставляйте комментарии и создавайте документацию. Иначе рискуете оказаться в меме, где разработчик не понимает того, что писал неделю назад.
• Объясняйте, как запустить проект, какие зависимости использовались и как использовать функциональность.
10. Отслеживайте прогресс
• Регулярно проверяйте выполнение задач по плану.
• Спрашивайте сами у себя статус по задаче.
• Используйте инструменты для управления задачами и следите за сроками.
11. Развивайте проект
• Начните с основной функциональности и постепенно добавляйте новые возможности.
• Не пытайтесь сразу сделать всё идеально, любой проект начинается из .. и палок
12. Публикуйте проект
• Если это веб-приложение, разместите его на хостинге.
• Если это библиотека или инструмент, опубликуйте его на платформах с библиотеками, поделитесь с коллегами.
13. Продемонстрируйте результат
• Напишите блог-пост или сделайте видеопрезентацию проекта
• Поделитесь ссылкой на проект в социальных сетях, форумах или с коллегами.
14. Получайте обратную связь
• Попросите других людей проверить ваш проект и дать отзыв.
• Используйте полученные комментарии для улучшений.
15. Планируйте дальнейшее развитие
• После завершения базового функционала подумайте, что можно добавить или улучшить
• Сделайте план для будущих улучшений и новых функций.
Следуйте пошагово по составленному чек-листу и тогда у вашего приложения будет шанс показать себя, а не лежать в стадии «почти MVP» несколько лет.
🐸 Библиотека Go-разработчика #буст
Составили для вас чек-лист, который поможет вам структурировать процесс создания вашего пет-проекта. Описали всё от 0 до 1.
1. Определите цель проекта
• Сформулируйте, зачем вы хотите создать этот проект (например, улучшить навыки, создать портфолио, решить реальную задачу).
• Разбейте цель на более мелкие, измеримые задачи.
2. Выберите интересную и полезную тему
• Выберите тему, которая вам интересна, чтобы поддерживать мотивацию.
• Убедитесь, что проект решает реальную проблему или может быть полезен другим.
3. Составьте план разработки
• Определите основные этапы и сроки выполнения.
• Разбейте проект на небольшие задачи и milestones.
• Оцените, сколько времени вы готовы уделять проекту.
4. Выберите стек технологий
• Подумайте, какие технологии вам хочется освоить или использовать в проекте.
• Выберите инструменты и библиотеки, которые соответствуют вашим целям.
5. Настройте репозиторий и версионный контроль
• Создайте репозиторий на GitHub, GitLab или другом сервисе для хранения кода.
• Настройте .gitignore и добавьте базовые файлы конфигурации.
6. Подготовьте рабочее окружение
• Настройте IDE, редактор кода и необходимые инструменты (например, Docker, виртуальные окружения, базу данных).
• Если проект требует внешних сервисов, настройте их.
7. Начните с прототипа
• Разработайте прототип или MVP (минимально жизнеспособный продукт).
• Сосредоточьтесь на реализации ключевой функциональности без излишних деталей.
8. Пишите тесты с самого начала
• Начинайте писать юнит-тесты для важных функций
• Убедитесь, что ваш код легко тестировать и поддерживать.
9. Документируйте
• Оставляйте комментарии и создавайте документацию. Иначе рискуете оказаться в меме, где разработчик не понимает того, что писал неделю назад.
• Объясняйте, как запустить проект, какие зависимости использовались и как использовать функциональность.
10. Отслеживайте прогресс
• Регулярно проверяйте выполнение задач по плану.
• Спрашивайте сами у себя статус по задаче.
• Используйте инструменты для управления задачами и следите за сроками.
11. Развивайте проект
• Начните с основной функциональности и постепенно добавляйте новые возможности.
• Не пытайтесь сразу сделать всё идеально, любой проект начинается из .. и палок
12. Публикуйте проект
• Если это веб-приложение, разместите его на хостинге.
• Если это библиотека или инструмент, опубликуйте его на платформах с библиотеками, поделитесь с коллегами.
13. Продемонстрируйте результат
• Напишите блог-пост или сделайте видеопрезентацию проекта
• Поделитесь ссылкой на проект в социальных сетях, форумах или с коллегами.
14. Получайте обратную связь
• Попросите других людей проверить ваш проект и дать отзыв.
• Используйте полученные комментарии для улучшений.
15. Планируйте дальнейшее развитие
• После завершения базового функционала подумайте, что можно добавить или улучшить
• Сделайте план для будущих улучшений и новых функций.
Следуйте пошагово по составленному чек-листу и тогда у вашего приложения будет шанс показать себя, а не лежать в стадии «почти MVP» несколько лет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?
Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.
🧐 Мы проводим исследование, чтобы выяснить:
— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор
Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.
😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.
🧐 Мы проводим исследование, чтобы выяснить:
— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор
Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.
😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Please open Telegram to view this post
VIEW IN TELEGRAM