🎯 Минорная версия Go 1.23.4
Как и положено минорному обновлению, Go 1.23.4 содержит ряд исправлений и улучшений, которые повышают стабильность и корректность работы на различных платформах:
🛠 Проблемы с памятью и сборщиком мусора: исправлены ошибки в работе с памятью и параллельным сбором мусора, что улучшает общую производительность и уменьшает вероятность сбоя в многозадачных средах.
🛠 Исправления в сетевых функциях: добавлены исправления для MPTCP, улучшена работа с сетевыми сокетами, что влияет на многопутевое TCP-соединение, и устранены проблемы с реализацией ListenTCP() и DialTCP().
🛠 Поддержка специфичных для платформы ошибок: были исправлены ошибки в тестах, которые возникали на определенных платформах, таких как Windows-386, и исправлены проблемы с некорректным выполнением системных вызовов, связанных с вариативными аргументами.
🛠 Исправления в компиляторе и сборщике мусора: были устранены ошибки в коде компилятора и улучшено его поведение в рамках функциональных итераторов.
📎 Подробнее можно изучить в официальном репозитории
Как и положено минорному обновлению, Go 1.23.4 содержит ряд исправлений и улучшений, которые повышают стабильность и корректность работы на различных платформах:
🛠 Проблемы с памятью и сборщиком мусора: исправлены ошибки в работе с памятью и параллельным сбором мусора, что улучшает общую производительность и уменьшает вероятность сбоя в многозадачных средах.
🛠 Исправления в сетевых функциях: добавлены исправления для MPTCP, улучшена работа с сетевыми сокетами, что влияет на многопутевое TCP-соединение, и устранены проблемы с реализацией ListenTCP() и DialTCP().
🛠 Поддержка специфичных для платформы ошибок: были исправлены ошибки в тестах, которые возникали на определенных платформах, таких как Windows-386, и исправлены проблемы с некорректным выполнением системных вызовов, связанных с вариативными аргументами.
🛠 Исправления в компиляторе и сборщике мусора: были устранены ошибки в коде компилятора и улучшено его поведение в рамках функциональных итераторов.
📎 Подробнее можно изучить в официальном репозитории
🔥12👍7🥰4
Привет, Go-разработчики! 🌱
2024-й был насыщенным годом, и мы собираем мнения о самых значимых изменениях и достижениях. Какие технологии или фреймворки стали настоящим прорывом? Какие навыки оказались самыми важными для вас в этом году? А какие тренды в разработке будут определять 2025-й?
Поделитесь своими мыслями с нами! Мы готовим статью об IT-итогах 2024 году и хотим услышать ваше мнение! 💻 Поделитесь своим мнением, и самое важное и интересное войдет в нашу статью. 🏆
2024-й был насыщенным годом, и мы собираем мнения о самых значимых изменениях и достижениях. Какие технологии или фреймворки стали настоящим прорывом? Какие навыки оказались самыми важными для вас в этом году? А какие тренды в разработке будут определять 2025-й?
Поделитесь своими мыслями с нами! Мы готовим статью об IT-итогах 2024 году и хотим услышать ваше мнение! 💻 Поделитесь своим мнением, и самое важное и интересное войдет в нашу статью. 🏆
👏3👍1
Проблемы большого количества горутин в Go
Когда количество горутин в Go не контролируется, могут возникнуть следующие проблемы:
🛑 Перегрузка ресурсов: каждая горутина требует памяти и процессорного времени, что при избыточном их числе может привести к утечке памяти и падению приложения.
🛑 Проблемы с планировщиком Go: слишком много горутин может затруднить эффективное распределение задач между потоками, снижая производительность.
🛑 Заблокированные горутины: без контроля задачи могут не успевать выполняться из-за заблокированных горутин, ожидающих ресурсы.
🛑 Невозможность масштабирования: неконтролируемое количество горутин усложняет масштабирование приложения и может привести к застою и замедлению работы.
🛑 Проблемы с синхронизацией и состоянием гонки: большое количество горутин увеличивает вероятность ошибок синхронизации и состояния гонки, когда несколько горутин пытаются одновременно обращаться к одним и тем же данным.
Что с этим делать?
🛠 Ограничение количества горутин: используйте каналы или семафоры для ограничения числа одновременно выполняющихся горутин, например, с помощью буферизированных каналов.
🛠 Использование очередей задач: разделите задачи на более мелкие, чтобы избежать перегрузки.
🛠Тестирование и мониторинг: регулярно тестируйте приложение и следите за его производительностью, чтобы вовремя заметить проблемы.
🖇 Если вам интересно, как это реализовать, читайте статью
Когда количество горутин в Go не контролируется, могут возникнуть следующие проблемы:
🛑 Перегрузка ресурсов: каждая горутина требует памяти и процессорного времени, что при избыточном их числе может привести к утечке памяти и падению приложения.
🛑 Проблемы с планировщиком Go: слишком много горутин может затруднить эффективное распределение задач между потоками, снижая производительность.
🛑 Заблокированные горутины: без контроля задачи могут не успевать выполняться из-за заблокированных горутин, ожидающих ресурсы.
🛑 Невозможность масштабирования: неконтролируемое количество горутин усложняет масштабирование приложения и может привести к застою и замедлению работы.
🛑 Проблемы с синхронизацией и состоянием гонки: большое количество горутин увеличивает вероятность ошибок синхронизации и состояния гонки, когда несколько горутин пытаются одновременно обращаться к одним и тем же данным.
Что с этим делать?
🛠 Ограничение количества горутин: используйте каналы или семафоры для ограничения числа одновременно выполняющихся горутин, например, с помощью буферизированных каналов.
🛠 Использование очередей задач: разделите задачи на более мелкие, чтобы избежать перегрузки.
🛠Тестирование и мониторинг: регулярно тестируйте приложение и следите за его производительностью, чтобы вовремя заметить проблемы.
🖇 Если вам интересно, как это реализовать, читайте статью
👍17❤2🤔1
💻 Надёжное выполнение SQL-транзакций в Go
Хотите упростить управление SQL-транзакциями в Go? В статье рассказывается, как создать обобщённый фреймворк, минимизировать boilerplate-код и повысить читаемость. Вы узнаете:
✅ Как автоматизировать начало, фиксацию и откат транзакций.
✅ Как обрабатывать ошибки без излишней сложности.
✅ Подходы, которые улучшают масштабируемость и надёжность кода.
Такой подход делает работу с транзакциями более надёжной, удобной и масштабируемой, особенно для сложных приложений с высокими требованиями к стабильности.
📖 Подробнее в статье
Хотите упростить управление SQL-транзакциями в Go? В статье рассказывается, как создать обобщённый фреймворк, минимизировать boilerplate-код и повысить читаемость. Вы узнаете:
✅ Как автоматизировать начало, фиксацию и откат транзакций.
✅ Как обрабатывать ошибки без излишней сложности.
✅ Подходы, которые улучшают масштабируемость и надёжность кода.
Такой подход делает работу с транзакциями более надёжной, удобной и масштабируемой, особенно для сложных приложений с высокими требованиями к стабильности.
📖 Подробнее в статье
👍6🥱5👾1
🔍 Сравнение фреймворков Go: что выбрать для высокой производительности?
Тестирование стандартной библиотеки Go, fasthttp, Fiber и gNet по метрикам задержки, пропускной способности, использования CPU и памяти, а также работы с PostgreSQL. Результаты показали, что стандартная библиотека дает наименьшую задержку, но имеет высокий расход CPU. fasthttp и Fiber демонстрируют схожие результаты, а gNet — потенциал для более высокой пропускной способности, несмотря на ограничения с подключениями.
📊 Полные результаты тестов и подробности в видео!
Тестирование стандартной библиотеки Go, fasthttp, Fiber и gNet по метрикам задержки, пропускной способности, использования CPU и памяти, а также работы с PostgreSQL. Результаты показали, что стандартная библиотека дает наименьшую задержку, но имеет высокий расход CPU. fasthttp и Fiber демонстрируют схожие результаты, а gNet — потенциал для более высокой пропускной способности, несмотря на ограничения с подключениями.
📊 Полные результаты тестов и подробности в видео!
👏7❤1🔥1
🎯 aligo: Утилита для проверки структур в Go
Aligo — инструмент для анализа и проверки структур в языке Go. Помогает оптимизировать память, выявляя неэффективные структуры данных.
Основные возможности:
✅ Проверка структур
✅ Совместимость с GitHub Actions
✅ Поддержка командной строки
✅ Генерация man-документов
✅ Возможность игнорирования структур
Установка:
Пример использования:
📎 Официальный репозиторий
Aligo — инструмент для анализа и проверки структур в языке Go. Помогает оптимизировать память, выявляя неэффективные структуры данных.
Основные возможности:
✅ Проверка структур
✅ Совместимость с GitHub Actions
✅ Поддержка командной строки
✅ Генерация man-документов
✅ Возможность игнорирования структур
Установка:
go install github.com/essentialkaos/aligo/v2@latest
Пример использования:
sudo aligo --completion=bash 1> /etc/bash_completion.d/aligo
📎 Официальный репозиторий
👍26🥱10❤4🔥2
🧊 Тайны Go: Почему объединенные типы — головная боль разработчиков
Представьте, что вы пытаетесь запихнуть слона в спичечный коробок — примерно так выглядит попытка создать объединенные типы в Go! В недавней статье программист раскрыл интригующие технические секреты, которые делают эту задачу настоящим программистским квестом.
🛠 Ключевая интрига: память как многослойный пирог.
Go — язык с невероятно продуманной системой управления памятью. Механизм сборки мусора настолько точен, что может различать малейшие нюансы хранения данных. Когда разработчики хотят создать универсальный тип (вроде того же Result из Rust), они натыкаются на настоящую стену непонимания между компилятором и разработчиком.
🎈 Технический цирк: указатели играют в прятки.
Представьте: компилятор должен угадать, что лежит в памяти — два указателя или два целых числа? Это как детектив, пытающийся решить головоломку с завязанными глазами! Язык Rust умеет буквально фокусничать с памятью, Go — пока нет.
✅ Альтернативы: вместо создания сложных объединенных типов в Go можно использовать более простые решения: интерфейсы и обобщенные типы. Это как выбирать между швейцарским ножом и лазерным скальпелем — каждый инструмент имеет свои преимущества!
Короче говоря, создание объединенных типов в Go — это не просто техническая задача, а настоящее искусство программирования. Язык Go намеренно держит высокую планку простоты и явности, не позволяя усложнять архитектуру без крайней необходимости.
🖇 Источник
Представьте, что вы пытаетесь запихнуть слона в спичечный коробок — примерно так выглядит попытка создать объединенные типы в Go! В недавней статье программист раскрыл интригующие технические секреты, которые делают эту задачу настоящим программистским квестом.
🛠 Ключевая интрига: память как многослойный пирог.
Go — язык с невероятно продуманной системой управления памятью. Механизм сборки мусора настолько точен, что может различать малейшие нюансы хранения данных. Когда разработчики хотят создать универсальный тип (вроде того же Result из Rust), они натыкаются на настоящую стену непонимания между компилятором и разработчиком.
🎈 Технический цирк: указатели играют в прятки.
Представьте: компилятор должен угадать, что лежит в памяти — два указателя или два целых числа? Это как детектив, пытающийся решить головоломку с завязанными глазами! Язык Rust умеет буквально фокусничать с памятью, Go — пока нет.
✅ Альтернативы: вместо создания сложных объединенных типов в Go можно использовать более простые решения: интерфейсы и обобщенные типы. Это как выбирать между швейцарским ножом и лазерным скальпелем — каждый инструмент имеет свои преимущества!
Короче говоря, создание объединенных типов в Go — это не просто техническая задача, а настоящее искусство программирования. Язык Go намеренно держит высокую планку простоты и явности, не позволяя усложнять архитектуру без крайней необходимости.
🖇 Источник
👍11❤2👾1
👾 15 кибератак, которые потрясли мир: от $96 млн до $15 млрд ущерба
Изучаем крупнейшие кибератаки от 1988 до 2024 года: как менялись методы хакеров, почему даже технологические гиганты оказываются беззащитными и какой ценой достается восстановление систем.
🔗 Читать статью
🔗 Зеркало
Изучаем крупнейшие кибератаки от 1988 до 2024 года: как менялись методы хакеров, почему даже технологические гиганты оказываются беззащитными и какой ценой достается восстановление систем.
🔗 Читать статью
🔗 Зеркало
❤6👍3😁3👾2
Паника в Go — это механизм, сигнализирующий о критической ошибке, которая может обрушить всю программу. Однако правильный подход к разработке и использование инструментов позволяют минимизировать риск таких ситуаций.
📌 Основные методы предотвращения сбоев
1️⃣ Использование линтера golangci-lint
Этот инструмент помогает выявлять ошибки, потенциальные утечки памяти и опасные конструкции в коде. Настройте его в вашем CI/CD пайплайне, чтобы всегда держать код в идеальном состоянии.
2️⃣ Проверка конкурентных ошибок с помощью -race
Многопоточность — это мощь Go, но гонки данных могут разрушить всё. Запускайте тесты с флагом -race, чтобы выявлять и устранять конкурентные проблемы на раннем этапе.
3️⃣ Сканирование уязвимостей с govulncheck
Этот инструмент анализирует ваш код и зависимости на наличие известных уязвимостей. Регулярное его использование защитит вашу программу от эксплуатации слабых мест.
📌 Работа с паниками и восстановлением
Иногда паника неизбежна. Используйте recover() внутри отложенных функций для управления критическими ошибками и предотвращения краха программы.
Пример:
func safeExecute() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Поймали панику:", r)
}
}()
panic("что-то пошло не так")
}
📌 Когда паника — это нормально?
Используйте её только для непредвиденных, критических ошибок, таких как сбой системы или нарушение инвариантов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3👾2
🗃️ Анатомия SQL-запроса: как работают запросы к базе данных
❓ Как разработчику эффективно работать с базами данных?
Один из ключевых навыков — понимание, как именно выполняются SQL-запросы. В этой статье разобраны все этапы работы запросов с базой данных: от парсинга до оптимизации.
Это поможет не только улучшить производительность приложений, но и избежать частых ошибок при взаимодействии с БД.
📎 Погружаемся в анатомию SQL-запросов по ссылке!
❓ Как разработчику эффективно работать с базами данных?
Один из ключевых навыков — понимание, как именно выполняются SQL-запросы. В этой статье разобраны все этапы работы запросов с базой данных: от парсинга до оптимизации.
Это поможет не только улучшить производительность приложений, но и избежать частых ошибок при взаимодействии с БД.
📎 Погружаемся в анатомию SQL-запросов по ссылке!
🥱8👍2
💡 Ускоряем веб-разработку: как Go и HTMX создают мощный тандем
Проект go-htmx — это библиотека для упрощения разработки веб-приложений с использованием Go и технологий от HTMX. Она предоставляет инструменты для создания интерактивных интерфейсов без сложных клиентских фреймворков. С помощью этой библиотеки можно динамически обновлять части страницы, обрабатывать шаблоны, добавлять кастомные функции в них и легко управлять состоянием компонентов.
Основные возможности:
✅ Поддержка компонетно-ориентированного рендеринга через шаблоны Go;
✅ Управление локальными и глобальными данными в компонентах;
✅ Обработка шаблонов с кешированием для повышения производительности;
✅ Интеграция с контекстами Go для безопасной работы с вложенными компонентами.
Проект ориентирован на разработчиков, которые хотят минимизировать JavaScript-код, используя возможности HTMX для обновления DOM через HTTP-запросы.
📎 Более подробное описание есть в репозитории проекта
Проект go-htmx — это библиотека для упрощения разработки веб-приложений с использованием Go и технологий от HTMX. Она предоставляет инструменты для создания интерактивных интерфейсов без сложных клиентских фреймворков. С помощью этой библиотеки можно динамически обновлять части страницы, обрабатывать шаблоны, добавлять кастомные функции в них и легко управлять состоянием компонентов.
Основные возможности:
✅ Поддержка компонетно-ориентированного рендеринга через шаблоны Go;
✅ Управление локальными и глобальными данными в компонентах;
✅ Обработка шаблонов с кешированием для повышения производительности;
✅ Интеграция с контекстами Go для безопасной работы с вложенными компонентами.
Проект ориентирован на разработчиков, которые хотят минимизировать JavaScript-код, используя возможности HTMX для обновления DOM через HTTP-запросы.
📎 Более подробное описание есть в репозитории проекта
😁19🔥4❤3👍1
Тест: 🐍 Насколько ты продвинутый питонист?
Python — отличный язык для автоматизации и решения задач, с которыми сталкивается каждый разработчик.
Пройдите тест и узнайте, насколько вы продвинуты в Python. Эти навыки будут полезны для оптимизации процессов и улучшения ваших проектов!
🎯 Пройти тест
Python — отличный язык для автоматизации и решения задач, с которыми сталкивается каждый разработчик.
Пройдите тест и узнайте, насколько вы продвинуты в Python. Эти навыки будут полезны для оптимизации процессов и улучшения ваших проектов!
🎯 Пройти тест
🥱13😁2👏1😢1👾1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect
Метод
Задача: найти конкретный коммит, который вызвал регрессионную ошибку в проекте.
Исходные данные:
✔️ Ошибка была зарегистрирована 21 октября. Она находится в текущей версии на ветке main.
✔️ Ошибка отсутствует в более ранней версии, которая была выделена в отдельную ветку
✔️ Ветку
🔗 Читать статью
🔗 Зеркало
Метод
git bisect
— мощный инструмент для поиска изменения, вызвавшего баг в коде: с его помощью разработчику удалось быстро локализовать проблему, просмотрев всего 11 коммитов вместо изначальных 2088.Задача: найти конкретный коммит, который вызвал регрессионную ошибку в проекте.
Исходные данные:
✔️ Ошибка была зарегистрирована 21 октября. Она находится в текущей версии на ветке main.
✔️ Ошибка отсутствует в более ранней версии, которая была выделена в отдельную ветку
release-5.7.0
.✔️ Ветку
release-5.7.0
создали 2 месяца назад, а с тех пор в ветке main
было сделано много изменений — баг может находиться в любом из нескольких тысяч коммитов, которые невозможно быстро просмотреть.🔗 Читать статью
🔗 Зеркало
👍11🥰3😁3🔥1
⚡️Самые полезные каналы по Go в одной папке
В ней:
➖ канал для подготовки к собеседованиям
➖ интересные задачи
➖ основной канал (этот)
➖ книги по Go
➖ лучшие вакансии из сферы
➖ и наш чат, в котором можно общаться и задавать вопросы
Добавляйте 👉 тык сюда
В ней:
Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5😁3
🌟 Go-go Golang!
Go обгоняет Node.js по популярности среди языков для API-клиентов в 2024 году, согласно отчёту Cloudflare Radar.
Go обгоняет Node.js по популярности среди языков для API-клиентов в 2024 году, согласно отчёту Cloudflare Radar.
🎉59❤6🔥3😁1
🎯 Мокинг в Go: ключевые подходы
Тестирование кода в Go часто требует изоляции от внешних зависимостей: баз данных, API и т.д. Для этого используются моки — имитации, которые заменяют реальные зависимости.
Основные подходы:
🛠️ Ручной мокинг
Создавайте интерфейсы и их мок-реализации. Например:
🛠️ Библиотеки
gomock: генерирует моки автоматически.
testify: включает мокинг и ассерты.
🛠️ Функциональные моки
Зависимости передаются через функции, упрощая тесты.
В статье на Hatchpad разбираются эффективные техники мокинга. Подробности и примеры ищите в источнике.
Тестирование кода в Go часто требует изоляции от внешних зависимостей: баз данных, API и т.д. Для этого используются моки — имитации, которые заменяют реальные зависимости.
Основные подходы:
🛠️ Ручной мокинг
Создавайте интерфейсы и их мок-реализации. Например:
type Database interface { GetUser(id string) (User, error) }
type MockDB struct {}
func (m *MockDB) GetUser(id string) (User, error) { return User{ID: id}, nil }
🛠️ Библиотеки
gomock: генерирует моки автоматически.
testify: включает мокинг и ассерты.
🛠️ Функциональные моки
Зависимости передаются через функции, упрощая тесты.
В статье на Hatchpad разбираются эффективные техники мокинга. Подробности и примеры ищите в источнике.
👍7😁3👾1
🚀 Бенчмарки для SQLite драйверов
Проект go-sqlite-bench сравнивает производительность различных драйверов SQLite, написанных на Go. Репозиторий включает бенчмарки, которые помогут вам выбрать оптимальный драйвер для ваших задач.
Что тестировалось?
Бенчмарки включают тесты на параллельное чтение, использование различных режимов журнала и синхронизации SQLite, а также сравнение производительности на разных операционных системах. Тесты проводились с различным количеством параллельных запросов (N=2, N=4, N=8) для каждого драйвера.
🎯 Итоги
Результаты показывают, что производительность сильно зависит от конкретного случая использования. Например:
⚙️ mattn показал хорошие результаты в большинстве тестов, особенно в режимах с высокой параллельностью.
⚙️ modernc.org оказался одним из самых быстрых в некоторых тестах, особенно при большом количестве параллельных запросов.
⚙️ ncruces также продемонстрировал высокую производительность, особенно в режимах с низкой параллельностью.
📎 Подробнее в репозитории
Проект go-sqlite-bench сравнивает производительность различных драйверов SQLite, написанных на Go. Репозиторий включает бенчмарки, которые помогут вам выбрать оптимальный драйвер для ваших задач.
Что тестировалось?
Бенчмарки включают тесты на параллельное чтение, использование различных режимов журнала и синхронизации SQLite, а также сравнение производительности на разных операционных системах. Тесты проводились с различным количеством параллельных запросов (N=2, N=4, N=8) для каждого драйвера.
🎯 Итоги
Результаты показывают, что производительность сильно зависит от конкретного случая использования. Например:
⚙️ mattn показал хорошие результаты в большинстве тестов, особенно в режимах с высокой параллельностью.
⚙️ modernc.org оказался одним из самых быстрых в некоторых тестах, особенно при большом количестве параллельных запросов.
⚙️ ncruces также продемонстрировал высокую производительность, особенно в режимах с низкой параллельностью.
📎 Подробнее в репозитории
😁3👍1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
👍4❤1
🛡️ Circuit Breaker в Go: защита ваших микросервисов
Разработка микросервисов требует особого подхода к обработке сбоев. Чтобы минимизировать их влияние, в Convoy поделились опытом использования Circuit Breaker в приложениях на Go. Этот паттерн предотвращает лавинообразные ошибки, если один из сервисов выходит из строя.
🔧 Почему это важно?
В распределённых системах сбои неизбежны: сервис может быть недоступен или работать с задержками.
Вместо того чтобы продолжать посылать запросы и перегружать систему, Circuit Breaker:
✅ отслеживает ошибки,
✅временно блокирует запросы к сбойному сервису,
✅ автоматически восстанавливается, когда система стабилизируется.
🚀 Что вы узнаете из статьи:
Как работает паттерн circuit breaker на практике.
Примеры реализации на Go.
Разработка микросервисов требует особого подхода к обработке сбоев. Чтобы минимизировать их влияние, в Convoy поделились опытом использования Circuit Breaker в приложениях на Go. Этот паттерн предотвращает лавинообразные ошибки, если один из сервисов выходит из строя.
🔧 Почему это важно?
В распределённых системах сбои неизбежны: сервис может быть недоступен или работать с задержками.
Вместо того чтобы продолжать посылать запросы и перегружать систему, Circuit Breaker:
✅ отслеживает ошибки,
✅временно блокирует запросы к сбойному сервису,
✅ автоматически восстанавливается, когда система стабилизируется.
🚀 Что вы узнаете из статьи:
Как работает паттерн circuit breaker на практике.
Примеры реализации на Go.
👍11❤1🔥1😁1
Подготовься к собеседованию на позицию Data Scientist!
Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?
Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:
1. Внешнее и тензорное произведение
2. One-hot кодировка
3. Мониторинг осадков
4. Симуляция бросков кубиков в «Монополии»
5. Бурение скважин для добычи золота
6. Вычисление свертки
7. Бэктестинг торговой стратегии
8. Прогноз оттока клиентов с помощью логистической регрессии
9. Обнаружение спама с использованием дерева решений
10. Предсказание цен на квартиры с помощью линейной регрессии
Чтобы начать решать задачи, достаточно ответить на три простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Алгоритмы и структуры данных и 10 задача
Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?
Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:
1. Внешнее и тензорное произведение
2. One-hot кодировка
3. Мониторинг осадков
4. Симуляция бросков кубиков в «Монополии»
5. Бурение скважин для добычи золота
6. Вычисление свертки
7. Бэктестинг торговой стратегии
8. Прогноз оттока клиентов с помощью логистической регрессии
9. Обнаружение спама с использованием дерева решений
10. Предсказание цен на квартиры с помощью линейной регрессии
Чтобы начать решать задачи, достаточно ответить на три простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Алгоритмы и структуры данных и 10 задача
👍2🌚2