Не возвращайте err в Go. Вместо этого добавьте недостающие сведения, необходимые для отладки.
Некоторые разрабы любят жаловаться, что в Go приходится писать множество блоков
if err != nil { return err }
. Они не понимают, как работают ошибки в Go. Дело в том, что на самом деле то, на что они жалуются, является совершенно неправильным способом обработки ошибок в Go: возврат
err
напрямую — это антипаттерн.В статье автор показывает, что он имеет в виду, на примере кода: библиотеки для настройки mTLS-соединения.
👉 Читать
👍32💯7🤔4❤2🥱2
Профилируя Go-приложения во время выполнения, Go-компилятор может принимать более эффективные решения по оптимизации в последующих сборках, что приводит к существенному повышению производительности процессора.
Узнайте подробнее из доклада Cameron Balahan, Michael Pratt и James Ma на Google I/O 2024, как работает PGO и как вы можете использовать ее для улучшения (и измерения) производительности своих приложений в Google Cloud и за его пределами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
👨🎓️ 33 лучших вуза России для будущих программистов 2024-2025
Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему.
🔗 Читать статью
🔗 Зеркало
Составили список из 33-х вузов, где вы научитесь думать как программист и получите фундаментальные знания в области математики, информатики, компьютерных наук и так далее. Для удобства вузы отсортированы по среднему проходному баллу ЕГЭ: от наибольшего к наименьшему.
🔗 Читать статью
🔗 Зеркало
🥱14😁6👍5
Гайд по разработке базы данных из 400 строк кода с базовой поддержкой пяти стандартных уровней транзакций SQL: read uncommitted, read committed, repeatable read, snapshot isolation и serializable. Автор использует multi-version concurrency control (MVCC) и optimistic concurrency control (OCC).
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉14👍3🔥3
💬 Разрабы, какую музыку вы предпочитаете слушать во время работы?
👍 — энергичная и мотивирующая музыка (рок, поп, электронная)
🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки)
❤️ — предпочитаю работать в тишине
#холивар
👍 — энергичная и мотивирующая музыка (рок, поп, электронная)
🔥 — спокойная и расслабляющая музыка (классическая, джаз, саундтреки)
❤️ — предпочитаю работать в тишине
#холивар
👍125❤86🔥71⚡4🌚1
Подборка презентаций с инструкциями по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали на собственных продуктах.
Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях.
🔹 Внедряем фаззинг: какой инструмент вам подойдет / Иван Золотников, инженер в YADRO
🔹 Создаем замену buf: сеанс реверс-инжиниринга / Эдгар Сипки, разработчик в Ozon Fintech, и Василий Близнецов, разработчик в Positive Technologies
🔹 Доступно о паттернах, умных обработчиках и красивой синхронизации в Go / Олег Козырев, старший инженер в AvitoTech
🔹 Учим сервис сообщать понятно об ошибке пользователям, программистам и машинам / Александр Лырчиков, разработчик в команде систем хранения данных в YADRO
🔹 Пишем свой mini-k8s на Go с helm-шаблонизатором / Станислав Иванкевич, старший программист в команде разработки DataMasters в VK Tech
🔹 Снижаем нагрузку на Garbage Collector и ускоряем работу с памятью, используя sync.Pool / Александр Иванов, тимлид в команде телекома в YADRO
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
💸📊 На сколько просели зарплаты в ИТ в 2024 году?
Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас.
🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей.
👉 Остальные данные — в статье
👉 Зеркало
Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас.
🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей.
👉 Остальные данные — в статье
👉 Зеркало
👍2
Как выглядят паттерны DDD в большом проекте? А самое главное, стоит ли их вообще использовать? Илья Сергунин, backend-разработчик в Авито, разбирается, какими инструментами можно реализовать DDD на Go и оценивает, насколько это больно.
В статье он объясняет, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20
Как обрабатывать ошибки в Go: свежий гайд от JetBrains
Из гайда вы узнаете, как обрабатывать ошибки в Go на практике:
☑️ Введение
☑️ Предварительные условия
☑️ Популярные методы обработки ошибок в Go
☑️ Лучшие практики обработки ошибок в Go
☑️ Обработка определенных типов ошибок
☑️ Распространенные ошибки, которых следует избегать
Из гайда вы узнаете, как обрабатывать ошибки в Go на практике:
☑️ Введение
☑️ Предварительные условия
☑️ Популярные методы обработки ошибок в Go
☑️ Лучшие практики обработки ошибок в Go
☑️ Обработка определенных типов ошибок
☑️ Распространенные ошибки, которых следует избегать
Jetbrains
How to Handle Errors in Go
Errors No More - Keep Your Go Code Pure.
👏15👍3👾1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России
Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.
🔗 Читать статью
🔗 Зеркало
Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.
🔗 Читать статью
🔗 Зеркало
😁22👍14🥰10❤2
00:00 — Введение
03:00 — Потоки операционной системы
07:34 — Легковесные потоки
10:16 — Основные концепции рантайма Go
15:21 — Масштабирование рантайма Go
18:45 — Локальные очереди
21:45 — Work sharing и work stealing
26:08 — Syscalls в планировщике Go
27:41 — Handoff
34:50 — Netpoller
37:33 — Очереди в планировщике Go
42:28 — Примитивы синхронизации
48:57 — Циклы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🎉7❤🔥4❤4🥱3
⚒️ Альтернативы Make-файлам, написанные на Go
make — старейший инструмент сборки. Он существует на каждой Unix-системе и поэтому является выбором номер один для многих проектов. Тем не менее, у make есть свои особенности, особенно в отношении синтаксиса и поведения правил Makefile.
Пробелы имеют значение, а пересборка определяется по дате изменения файла, — это лишь два примера, заставляющих разработчиков искать лучшие альтернативы. Два инструмента, особенно для проектов на Go, — это Taskfile и Mage. О них и идет речь в статье.
👉 Читать
make — старейший инструмент сборки. Он существует на каждой Unix-системе и поэтому является выбором номер один для многих проектов. Тем не менее, у make есть свои особенности, особенно в отношении синтаксиса и поведения правил Makefile.
Пробелы имеют значение, а пересборка определяется по дате изменения файла, — это лишь два примера, заставляющих разработчиков искать лучшие альтернативы. Два инструмента, особенно для проектов на Go, — это Taskfile и Mage. О них и идет речь в статье.
👉 Читать
eltonminetto.dev
Alternatives to Makefiles written in Go
First things first: what is make? Present in all Linux distributions and Unix derivatives such as macOS, the tool’s manual describes it as:
👍9
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🤯 Как простая задачка поставила в тупик программистов (и как они из него выбрались)
В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.
Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.
Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
👍7👏2
📐 tinymath — быстрая математическая Go-библиотека для ограниченных окружений
Если вы используете Go для работы с микроконтроллерами или WebAssembly, эта библиотека жертвует некоторой точностью ради производительности и небольшим размером кода для общих тригонометрических, округляющих, логарифмических и подобных функций. Большинство алгоритмов портированы из Rust-библиотеки Micromath.
👩💻 GitHub
Если вы используете Go для работы с микроконтроллерами или WebAssembly, эта библиотека жертвует некоторой точностью ради производительности и небольшим размером кода для общих тригонометрических, округляющих, логарифмических и подобных функций. Большинство алгоритмов портированы из Rust-библиотеки Micromath.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁5
🎙️ OR подкаст: есть ли Go после Python?
Ведущие подкаста от Evrone и Дмитрий Гонозов (ментор в Яндекс.Практикуме, разработчик в Evrone) разбираются, какие языки лучше Go, что ждет Go-разработчиков после курсов, нужно ли вообще погружаться в технологию или можно быть универсальным разработчиком?
⏱️ Таймкоды:
00:00 Начало
01:12 Кто в гостях и что обсуждаем?
02:59 Новичкам комфортно со стандартной библиотекой Go?
05:08 Что ждет после курсов Golang
07:30 База у Go и Python одинаковая?
10:32 Можно ли быть универсальным Software Engineer
14:27 Как знание других языков может помешать в обучении?
16:43 Всех надо учить, где писать бизнес-логику
18:56 Изучать Golang мешает прошлый бэкграунд
20:12 Не Python-разработчик, а Django-разработчик. Про фреймворки
24:02 Насколько тяжело вкатиться в GO
26:24 В Go нет обработки ошибок?
27:34 Go круче Python, Ruby, .NET и других языков?
33:53 Go бывает много? Куча микросервисов и огромный монолит
37:02 Go — скучный язык для скучной разработки
42:10 Жалеет ли гошник, что стал гошником?
#подкасты
Ведущие подкаста от Evrone и Дмитрий Гонозов (ментор в Яндекс.Практикуме, разработчик в Evrone) разбираются, какие языки лучше Go, что ждет Go-разработчиков после курсов, нужно ли вообще погружаться в технологию или можно быть универсальным разработчиком?
⏱️ Таймкоды:
00:00 Начало
01:12 Кто в гостях и что обсуждаем?
02:59 Новичкам комфортно со стандартной библиотекой Go?
05:08 Что ждет после курсов Golang
07:30 База у Go и Python одинаковая?
10:32 Можно ли быть универсальным Software Engineer
14:27 Как знание других языков может помешать в обучении?
16:43 Всех надо учить, где писать бизнес-логику
18:56 Изучать Golang мешает прошлый бэкграунд
20:12 Не Python-разработчик, а Django-разработчик. Про фреймворки
24:02 Насколько тяжело вкатиться в GO
26:24 В Go нет обработки ошибок?
27:34 Go круче Python, Ruby, .NET и других языков?
33:53 Go бывает много? Куча микросервисов и огромный монолит
37:02 Go — скучный язык для скучной разработки
42:10 Жалеет ли гошник, что стал гошником?
#подкасты
🥱19❤3😁3🌚3👍2
Устраивает ли вас ваша зарплата?
Anonymous Poll
21%
Более чем
39%
Нет, не устраивает
11%
— Вот возьми, твоя зарплата. — Это же ветка?!
1%
Свой вариант (напишу в комментариях)
29%
Посмотреть результаты