Ваш доход в месяц после вычета налогов
Anonymous Poll
15%
До 500$
5%
От 501$ до 800$
9%
От 801$ до 1100$
15%
От 1101$ до 2000$
18%
От 2001$ до 3000$
14%
От 3001$ до 4000$
9%
От 4001$ до 5000$
6%
От 5001$ до 6000$
10%
От 6001$
В какой компании вы работаете?
Anonymous Poll
13%
Стартап
32%
Средний бизнес
48%
Крупная корпорация
7%
Фриланс
Какая у вас специализация в IT?
Anonymous Poll
70%
Backend
3%
Frontend
7%
Fullstack
1%
Mobile
2%
Desktop
2%
QA
7%
DevOps/Sysadmin
1%
Data Science
2%
Кибербезопасность
5%
Другое (✏️ напишу в комментариях)
Какой грейд у вас на работе?
Anonymous Poll
7%
Стажёр
10%
Джуниор
30%
Миддл
27%
Сеньор
10%
Тимлид
4%
Архитектор
3%
СТО
9%
Я не айтишник
Какой контент вас больше привлекает в ТГ-каналах?
Anonymous Poll
31%
Полезные советы и лайфхаки
55%
Обучающие материалы
4%
Развлекательный контент
8%
Новости и аналитика
2%
Истории компаний
🎥🚀 Стриминг видео на Go: легко, быстро и просто!
Потоковая передача видео может показаться сложной задачей, но язык Go отлично справляется с этим! В статье автор рассказывает, как создать минималистичный HTTP-сервер для стриминга видео прямо в браузер.
В чём суть?
➖ Как работает стриминг
Современные браузеры используют HTTP-заголовок Range, чтобы запросить только нужные части видео. Это позволяет воспроизводить видео без необходимости загружать весь файл.
➖ Реализация на Go
В статье показано, как создать интерфейс, который обрабатывает запросы и отправляет запрошенные байты видеофайла клиенту.
➖ Поддержка частичных запросов
Автор объясняет, как правильно настроить заголовки HTTP, такие как Content-Range и Content-Length, чтобы обеспечить плавный стриминг и совместимость с браузерами.
Почему это интересно?
✅ Простота реализации
Вам не нужно использовать тяжёлые сторонние библиотеки — базовый сервер для стриминга можно собрать за несколько строк кода на Go.
✅ Производительность Go
Go славится своей скоростью и возможностями для работы с сетью. Это делает его отличным выбором для задач, связанных с видео.
✅ Современный подход
Статья соответствует стандартам RFC 7233, что гарантирует корректную обработку запросов браузера.
❓ Зачем это вам?
Если вы хотите добавить потоковую передачу видео в свой проект, Go предоставляет мощный и простой инструмент для этого. Это может быть полезно для образовательных платформ, приложений для онлайн-курсов, медиа-хостинга или даже стриминга собственного контента.
Потоковая передача видео может показаться сложной задачей, но язык Go отлично справляется с этим! В статье автор рассказывает, как создать минималистичный HTTP-сервер для стриминга видео прямо в браузер.
В чём суть?
Современные браузеры используют HTTP-заголовок Range, чтобы запросить только нужные части видео. Это позволяет воспроизводить видео без необходимости загружать весь файл.
В статье показано, как создать интерфейс, который обрабатывает запросы и отправляет запрошенные байты видеофайла клиенту.
Автор объясняет, как правильно настроить заголовки HTTP, такие как Content-Range и Content-Length, чтобы обеспечить плавный стриминг и совместимость с браузерами.
Почему это интересно?
Вам не нужно использовать тяжёлые сторонние библиотеки — базовый сервер для стриминга можно собрать за несколько строк кода на Go.
Go славится своей скоростью и возможностями для работы с сетью. Это делает его отличным выбором для задач, связанных с видео.
Статья соответствует стандартам RFC 7233, что гарантирует корректную обработку запросов браузера.
Если вы хотите добавить потоковую передачу видео в свой проект, Go предоставляет мощный и простой инструмент для этого. Это может быть полезно для образовательных платформ, приложений для онлайн-курсов, медиа-хостинга или даже стриминга собственного контента.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🎉3🔥1😁1😢1
Что бы вы хотели получить в качестве подарка в розыгрыше?
Anonymous Poll
15%
Книги по разработке
13%
IT-курсы
5%
Карьерные консультации, чтобы получить оффер мечты
29%
Компьютер или ноутбук
8%
Мощные комплектующие для ПК
5%
Игровая приставка
3%
Гаджеты для дома: робот-пылесос, проектор и т. д.
11%
Подписки на GitHub Copilot, JetBrains, LinkedIn Premium и т. д.
9%
Оплаченная поездка на IT-конференцию или хакатон
2%
Другой вариант (✏️ напишу в комментариях)
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
👍1
🚀 Оптимизация и стресс-тесты в Go с флагом -cpu
Когда речь идет о тестировании производительности и устойчивости приложений, работающих в многопоточной среде, Go предоставляет отличный инструмент — флаг -cpu. Этот параметр позволяет запускать тесты с разным количеством логических процессоров (GOMAXPROCS), моделируя реальное поведение приложения в условиях разного уровня параллелизма.
📌 Как работает флаг -cpu?
Флаг -cpu указывается при запуске тестов и задаёт список значений, с которыми тесты должны быть выполнены. Например:
👉 Этот пример запустит тесты дважды:
1️⃣ С четырьмя логическими процессорами.
2️⃣ Затем с пятью.
🛠 Зачем это использовать?
➖ Тестирование под разной нагрузкой: использование нескольких значений -cpu позволяет понять, как ваше приложение ➖ поведёт себя на системах с разным количеством ядер.
➖ Поиск узких мест: помогает выявить проблемы в конкурентном доступе, такие как гонки данных или узкие места в производительности.
➖ Реализм тестов: ваш код проверяется в условиях, максимально приближенных к реальной эксплуатации.
🔑 Ключевые моменты:
➖ Можно указать несколько значений через запятую, например -cpu=1,2,4,8, чтобы протестировать приложение в разнообразных сценариях.
➖ Если -cpu не задан, тесты запускаются с текущим значением GOMAXPROCS.
Практическая выгода: Регулярное использование -cpu в тестах повышает устойчивость вашего кода и предотвращает неожиданные проблемы при высоких нагрузках.
💡 Пример для продвинутых:
Если вы хотите протестировать код на нескольких уровнях параллелизма, запустите:
📊 Результат: тесты покажут, как приложение справляется с 1, 2, 4 и 8 логическими процессорами. Это отличный способ убедиться, что ваш код работает эффективно и безопасно в конкурентной среде.
#tip
Когда речь идет о тестировании производительности и устойчивости приложений, работающих в многопоточной среде, Go предоставляет отличный инструмент — флаг -cpu. Этот параметр позволяет запускать тесты с разным количеством логических процессоров (GOMAXPROCS), моделируя реальное поведение приложения в условиях разного уровня параллелизма.
Флаг -cpu указывается при запуске тестов и задаёт список значений, с которыми тесты должны быть выполнены. Например:
go test -cpu=4,5
👉 Этот пример запустит тесты дважды:
🛠 Зачем это использовать?
🔑 Ключевые моменты:
Практическая выгода: Регулярное использование -cpu в тестах повышает устойчивость вашего кода и предотвращает неожиданные проблемы при высоких нагрузках.
Если вы хотите протестировать код на нескольких уровнях параллелизма, запустите:
go test -cpu=1,2,4,8 -v
📊 Результат: тесты покажут, как приложение справляется с 1, 2, 4 и 8 логическими процессорами. Это отличный способ убедиться, что ваш код работает эффективно и безопасно в конкурентной среде.
#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤6😁2❤🔥1
🗃
🦫 Самоучитель по Go для начинающих. Часть 18. Протокол HTTP. Создание HTTP-сервера и клиента. Пакет net/http
🎯 aligo: Утилита для проверки структур в Go
📚 Управление конфигурациями в Go с помощью Viper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🕹🕹 Подборка игр для программистов и любителей логики
Половина праздников позади, но это не повод унывать! Мы собрали для вас подборку игр, которые помогут провести остаток выходных с удовольствием и пользой. Некоторые из них можно пройти за пару вечеров, а другие увлекут вас на более долгое время. Все они сочетают логику и креативность.
1️⃣ Human Resource Machine
📜 Жанр: логическая головоломка.
💡 Описание: в этой игре вы программируете маленького офисного сотрудника-робота для выполнения задач. Простая и увлекательная концепция, которая помогает развить алгоритмическое мышление.
⏱️ Длительность: подходит для прохождения за пару вечеров.
2️⃣ The Witness
📜 Жанр: головоломка от первого лица.
💡 Описание: исследуйте красочный остров, полный логических пазлов. Каждая загадка требует внимания, пространственного мышления и способности находить закономерности.
⏱️ Длительность: подойдет для тех, кто готов посвятить игре несколько дней.
3️⃣ Baba Is You
📜 Жанр: логическая игра.
💡 Описание: уникальная игра, где правила буквально можно менять на ходу. Сдвигая блоки, вы переписываете законы мира, создавая собственные решения для головоломок.
⏱️ Длительность: зависит от вашей изобретательности, но можно пройти основные уровни за пару вечеров.
4️⃣ Game Dev Tycoon
📜 Жанр: симулятор разработки игр.
💡 Описание: постройте свою студию разработки игр, создавайте хиты и управляйте процессом. Отличный способ понять, как устроен мир геймдева.
⏱️ Длительность: можно играть долго, но базовые достижения достигаются быстро.
5️⃣ Gunpoint
📜 Жанр: тактический платформер с элементами головоломки.
💡 Описание: в роли шпиона вы используете уникальные гаджеты и хакерские навыки для проникновения в защищенные здания. Игра сочетает элементы логики и экшена.
⏱️ Длительность: идеально подходит для прохождения за пару вечеров.
Половина праздников позади, но это не повод унывать! Мы собрали для вас подборку игр, которые помогут провести остаток выходных с удовольствием и пользой. Некоторые из них можно пройти за пару вечеров, а другие увлекут вас на более долгое время. Все они сочетают логику и креативность.
📜 Жанр: логическая головоломка.
⏱️ Длительность: подходит для прохождения за пару вечеров.
📜 Жанр: головоломка от первого лица.
⏱️ Длительность: подойдет для тех, кто готов посвятить игре несколько дней.
📜 Жанр: логическая игра.
⏱️ Длительность: зависит от вашей изобретательности, но можно пройти основные уровни за пару вечеров.
📜 Жанр: симулятор разработки игр.
⏱️ Длительность: можно играть долго, но базовые достижения достигаются быстро.
📜 Жанр: тактический платформер с элементами головоломки.
⏱️ Длительность: идеально подходит для прохождения за пару вечеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
🎄 Начни 2025-й с апгрейдом навыков,
которые откроют двери в мир IT!
Ты можешь собрать свой персональный план обучения с помощью нашего новогоднего конструктора. Это шанс не просто начать год с полезных знаний, но и сделать инвестицию в своё будущее, которая окупится многократно.
🔗 Собери свой план и начни путь в IT
Почему это выгодно?
📚 Несколько программ по цене одной — максимальная эффективность: учишься сразу тому, что действительно нужно.
💾 Бессрочный доступ — все материалы всегда под рукой, чтобы учиться в своём темпе.
💸 Знания, которые окупятся — навыки, востребованные в любой точке мира.
Какие навыки ты можешь прокачать?
💡 Математика для Data Science + Алгоритмы и структуры данных
— Подготовка к собеседованиям в FAANG и поступлению в ШАД. Решай сложные задачи, работай с данными и моделями на профессиональном уровне.
💡 Алгоритмы и структуры данных + ML
— Улучшай своё алгоритмическое мышление и изучай базовые методы машинного обучения, чтобы создавать интеллектуальные приложения.
💡 Frontend Basic + Базовые модели ML
— Построй свою первую веб-страницу и погрузись в мир ML: от нейросетей до ML-бустинга.
💡 Архитектуры и шаблоны проектирования + Математика для Data Science
— Развивай аналитическое мышление и учись проектировать устойчивые системы.
💡 Алгоритмы и структуры данных + Frontend Basic
— Получи полный набор навыков: от оптимизации алгоритмов до создания современных веб-приложений.
Не упусти шанс сделать шаг в будущее! Новый год — это время обновлений, и твоя карьера может стать одним из них.
🔗 Составь свой IT-маршрут сейчас или выбери курс по новогодней скидке
которые откроют двери в мир IT!
Ты можешь собрать свой персональный план обучения с помощью нашего новогоднего конструктора. Это шанс не просто начать год с полезных знаний, но и сделать инвестицию в своё будущее, которая окупится многократно.
🔗 Собери свой план и начни путь в IT
Почему это выгодно?
📚 Несколько программ по цене одной — максимальная эффективность: учишься сразу тому, что действительно нужно.
💾 Бессрочный доступ — все материалы всегда под рукой, чтобы учиться в своём темпе.
💸 Знания, которые окупятся — навыки, востребованные в любой точке мира.
Какие навыки ты можешь прокачать?
💡 Математика для Data Science + Алгоритмы и структуры данных
— Подготовка к собеседованиям в FAANG и поступлению в ШАД. Решай сложные задачи, работай с данными и моделями на профессиональном уровне.
💡 Алгоритмы и структуры данных + ML
— Улучшай своё алгоритмическое мышление и изучай базовые методы машинного обучения, чтобы создавать интеллектуальные приложения.
💡 Frontend Basic + Базовые модели ML
— Построй свою первую веб-страницу и погрузись в мир ML: от нейросетей до ML-бустинга.
💡 Архитектуры и шаблоны проектирования + Математика для Data Science
— Развивай аналитическое мышление и учись проектировать устойчивые системы.
💡 Алгоритмы и структуры данных + Frontend Basic
— Получи полный набор навыков: от оптимизации алгоритмов до создания современных веб-приложений.
Не упусти шанс сделать шаг в будущее! Новый год — это время обновлений, и твоя карьера может стать одним из них.
🔗 Составь свой IT-маршрут сейчас или выбери курс по новогодней скидке
❤1👍1
🌟 Уже 2025 год: Время обновить свою ide для Go! 🚀
Разработка на Go продолжает набирать популярность, и если вы все еще используете старые настройки для Visual Studio Code, пора идти в ногу со временем! В статье вы найдете подробное руководство по тому, как сделать вашу IDE максимально удобной и продуктивной.
🔧 Что нужно для старта:
Go (1.22 и выше): Последние версии языка — не только про производительность, но и про новые возможности.
VS Code: Самая гибкая IDE для работы с Go.
Git: Без контроля версий в 2025 году никуда.
🚀 Что настроить в VS Code:
Расширения, без которых нельзя:
✅ Go (ms-vscode.go): официальное расширение для автодополнения, отладки и работы с тестами.
✅ Error Lens: чтобы ошибки были видны сразу, прямо в коде.
✅ GitLens: лучшая интеграция с Git.
✅ Go Test Explorer: легкое управление тестами.
Настройка settings.json:
✅ Автоматическое обновление инструментов Go.
✅ Использование Language Server для лучшей поддержки языка.
✅ Подсказки, которые делают код читабельным.
✅ Горячие клавиши: Настройте свои любимые шорткаты, чтобы ускорить работу в разы.
Разработка на Go продолжает набирать популярность, и если вы все еще используете старые настройки для Visual Studio Code, пора идти в ногу со временем! В статье вы найдете подробное руководство по тому, как сделать вашу IDE максимально удобной и продуктивной.
🔧 Что нужно для старта:
Go (1.22 и выше): Последние версии языка — не только про производительность, но и про новые возможности.
VS Code: Самая гибкая IDE для работы с Go.
Git: Без контроля версий в 2025 году никуда.
🚀 Что настроить в VS Code:
Расширения, без которых нельзя:
Настройка settings.json:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17😁6🥱2
🛠 DebugString() в Go: псевдостандарт для удобной отладки
Недавно в блоге DoltHub вышла интересная статья о неформальном подходе к отладке структур в Go с помощью метода DebugString().
📜 Что такое DebugString()?
Это метод, который используется для получения детального текстового представления структур данных. В отличие от String(), предназначенного для пользовательского вывода, DebugString() раскрывает больше технических деталей, которые полезны разработчикам во время отладки.
Пример:
📌 Почему это полезно?
➖ DebugString() помогает легко визуализировать внутреннее состояние объектов.
➖ Вы можете отделить пользовательский вывод (String()) от отладочного, чтобы не показывать конфиденциальную информацию.
➖ Этот метод может быть добавлен к любым типам, не нарушая существующую функциональность.
🤨 Почему это псевдостандарт?
Go не навязывает DebugString() как обязательный метод, но его использование становится популярным среди библиотек, где требуются расширенные возможности отладки. Это хороший пример того, как в сообществе Go рождаются практичные и неформальные стандарты.
Недавно в блоге DoltHub вышла интересная статья о неформальном подходе к отладке структур в Go с помощью метода DebugString().
📜 Что такое DebugString()?
Это метод, который используется для получения детального текстового представления структур данных. В отличие от String(), предназначенного для пользовательского вывода, DebugString() раскрывает больше технических деталей, которые полезны разработчикам во время отладки.
Пример:
type Example struct {
Field1 int
Field2 string
}
func (e Example) DebugString() string {
return fmt.Sprintf(
"Example{Field1: %d, Field2: %q}",
e.Field1,
e.Field2)
}
Go не навязывает DebugString() как обязательный метод, но его использование становится популярным среди библиотек, где требуются расширенные возможности отладки. Это хороший пример того, как в сообществе Go рождаются практичные и неформальные стандарты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20😁3🌚2❤1
Загляните в репозиторий! Это небольшой сборник увлекательных задачек для всех, кто хочет изучать или совершенствовать свои навыки программирования на языке Go.
📂 Как всё устроено?
Каждая задача – это отдельная папка с:
🛠 Что делать?
Please open Telegram to view this post
VIEW IN TELEGRAM
👏17👍4
🎮 DOOM как искусство? Да!
Вы когда-нибудь думали, что DOOM — это не просто игра, а настоящее искусство? Если нет, то "DOOM: The Gallery Experience" вас переубедит.
🖼 Что это?
Это необычная галерея, где уровни культового шутера превращены в экспонаты. Вас ждёт прогулка по знакомым аренам, но теперь вместо демонов — атмосфера спокойствия и эстетики. Звучит абсурдно? Возможно. Но выглядит невероятно!
✨ Чем цепляет?
Ретро-дизайн DOOM сочетается с музейной атмосферой.
Музыка и освещение создают уютное ощущение — никакого стресса, только удовольствие.
Каждый уголок можно рассматривать как арт-объект, а не поле боя.
Вы когда-нибудь думали, что DOOM — это не просто игра, а настоящее искусство? Если нет, то "DOOM: The Gallery Experience" вас переубедит.
🖼 Что это?
Это необычная галерея, где уровни культового шутера превращены в экспонаты. Вас ждёт прогулка по знакомым аренам, но теперь вместо демонов — атмосфера спокойствия и эстетики. Звучит абсурдно? Возможно. Но выглядит невероятно!
Ретро-дизайн DOOM сочетается с музейной атмосферой.
Музыка и освещение создают уютное ощущение — никакого стресса, только удовольствие.
Каждый уголок можно рассматривать как арт-объект, а не поле боя.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
📦 Пакет embed в Go
Если вы когда-либо работали с Go, то знаете, как важно уметь управлять статическими ресурсами. Пакет embed (представленный в Go 1.16) решает эту задачу элегантно: он позволяет встраивать файлы прямо в исполняемый бинарный файл, что делает приложение автономным и упрощает его развертывание.
💡 Зачем использовать embed?
С помощью директивы //go:embed вы можете встроить файлы (например, HTML, CSS, конфигурационные файлы или изображения) прямо в бинарный файл. Это исключает необходимость поставлять эти файлы отдельно, и ваши приложения становятся более компактными и безопасными.
🛠 Как это работает?
Вы указываете директиву //go:embed перед переменной.
Используете типы данных string для текстовых файлов, []byte для бинарных данных или embed.FS для работы с целыми директориями.
🚀 Пример использования:
В этом примере файл hello.txt встроен в приложение, и его содержимое доступно как строка.
Почему стоит использовать embed?
✅ Удобство развертывания: всё в одном файле — не нужно беспокоиться о поставке отдельных файлов.
✅ Безопасность: встроенные файлы не могут быть изменены после компиляции.
✅ Автономность: ваши приложения не зависят от внешних файлов и легко переносятся между окружениями.
Когда не стоит использовать embed?
❌ Когда нужно работать с динамически изменяющимися файлами (например, конфигурациями, которые могут меняться в процессе работы приложения).
❌ Для очень больших файлов, так как это увеличивает размер бинарника.
Если вы когда-либо работали с Go, то знаете, как важно уметь управлять статическими ресурсами. Пакет embed (представленный в Go 1.16) решает эту задачу элегантно: он позволяет встраивать файлы прямо в исполняемый бинарный файл, что делает приложение автономным и упрощает его развертывание.
С помощью директивы //go:embed вы можете встроить файлы (например, HTML, CSS, конфигурационные файлы или изображения) прямо в бинарный файл. Это исключает необходимость поставлять эти файлы отдельно, и ваши приложения становятся более компактными и безопасными.
🛠 Как это работает?
Вы указываете директиву //go:embed перед переменной.
Используете типы данных string для текстовых файлов, []byte для бинарных данных или embed.FS для работы с целыми директориями.
🚀 Пример использования:
package main
import (
"embed"
"fmt"
)
//go:embed hello.txt
var hello string
func main() {
fmt.Println(hello)
}
В этом примере файл hello.txt встроен в приложение, и его содержимое доступно как строка.
Почему стоит использовать embed?
Когда не стоит использовать embed?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36👾3
Привет! 👋
Очень интересно: читаете ли вы что-то, кроме технической литературы? И нет, книги по agile не в счёт — это точно не сказки!
👇Пишите свои мнения в комментарии!
#интерактив
Очень интересно: читаете ли вы что-то, кроме технической литературы? И нет, книги по agile не в счёт — это точно не сказки!
👇Пишите свои мнения в комментарии!
#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
То есть, остаются только те элементы, которые следуют друг за другом по возрастанию (или не уменьшаются). Применяя такую сортировку, можно получить на выходе подпоследовательность чисел, которая будет упорядочена, а все «недовольные» (нарушающие порядок) будут удалены.
Как работает «сортировка»?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52🔥3🤔3👍2❤1