Как стать автором
Обновить
80.71
Рейтинг

Go *

Компилируемый, многопоточный язык программирования

Сначала показывать
Порог рейтинга

Спроси меня про Go. Отвечаем на распространённые вопросы

Блог компании Яндекс Практикум Go *Программирование *Карьера в IT-индустрии Учебный процесс в IT

В начале марта Яндекс Практикум провёл вебинар «Спроси меня про Go» в формате открытого микрофона: слушатели могли задать любые вопросы о языке Go. Экспертами выступили техлиды курса «Go-разработчик»: Георгий Зуйков — ведущий разработчик в Едадиле и Александр Демиденко — старший разработчик в Яндекс Облаке, в команде Cloudgate.

Видеозапись открытого микрофона можно посмотреть по ссылке. Для тех, кому удобнее читать, мы подготовили краткий конспект. 

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 860
Комментарии 0

Новости

Signum Explorer Telegram Bot — разработка open-source pet-project телеграм бота для блокчейна Signum

Блог компании Karuna Open source *Go *Криптовалюты
Кто про что, а я про телеграм бота…

Сейчас я работаю в компании Каруна на позиции старшего Go-разработчика. В свободное от работы время стараюсь смотреть по сторонам (нет — не в поиске работы, и да — это корпоративный блог, но пишу про пет-проект 🙂) и интересоваться разными областями IT, абсолютно отличными от того, чем ежедневно занимаюсь на работе.

Примерно полтора года назад я в качестве хобби занимался разработкой универсального телеграм бота для MQTT устройств, о чем уже рассказывал вот тут: (Не)очередной MQTT-телеграм-бот для IoT, а позже мой фокус внимания отошёл от темы IoT и сместился в сторону криптовалют, очень уж эта тема не давала мне покоя. На фоне прошлогоднего шума вокруг Chia захотелось вложить немного свободных средств в другой заинтересовавший меня альткоин и сделать что-нибудь полезное для комьюнити. В этой статье я делюсь исключительно техническими деталями реализации бота и намеренно опускаю любую маркетинговую информацию о блокчейне, дабы не разводить холивар про альткоины. И вас очень попрошу воздержаться!

Итак, задача:
  1. Иметь минимальный функционал эксплорера блокчейна прямо в телеграме: просматривать транзакции и статистику сети.
  2. Удобно отслеживать баланс нескольких кошельков и получать уведомления о поступлениях/списаниях с кошелька.
  3. Получать актуальную цену + график.
  4. Иметь калькулятор доходности майнинга.
  5. Иметь кран для активации новых кошельков.

На этом вроде бы и всё, поехали…
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 458
Комментарии 3

NNHelper – пакет на языке Go для создания и использования нейронной сети

Go *Машинное обучение *

Данная статья описывает работу пакета nnhelper, предназначенного для создания и использования нейронных сетей в программах на языке Go.

Если Вы уже знакомы с машинным обучением и используете его в своей работе, то эта статья и описанные в ней примеры могут показаться вам слишком простыми. Если Вы в начале пути и хотите познакомиться с этой темой или вам хотелось бы научиться использовать нейроматрицу в ваших программах на языке Go, то вы попали точно по адресу.

Go пакет nnhelper разработан для быстрого создания нейронной сети и использовании ее в приложениях, написанных на языке Go. Для использования nnhelper не потребуется ничего дополнительного, кроме Go. Пакет nnhelper является надстройкой над пакетом gonn. И это единственная внешняя зависимость.

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 2.2K
Комментарии 7

Golang-дайджест № 16 (1 – 30 апреля  2022)

Go *

Свежая подборка новостей и материалов

Интересное в этом выпуске

Выпущены версии 1.18.1 и 1.17.9, результаты опроса разработчиков Go 2021, вопросы и ответы для собеседования Go-разработчика, сетевой сниффер на golang

Приятного чтения!

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 4.1K
Комментарии 0

[Go] Изоляция вложенных вызовов в юнит-тестах

Go *
Из песочницы

Наверняка я не открою ничего нового для большинства тех, кто давно использует Go в работе. Но, зачастую оказывается, что люди не в курсе этого и мне будет проще отправлять их по ссылке, чем повторять из раза в раз одно и то же. Заодно может ещё кому-то будет полезно.

Дело вот в чём.

Допустим у нас есть структура с методами A, B, C. Но вот вдруг мы должны сделать вызов C из B, а ещё лучше, если появляется метод D и последовательность вызовов становится D->A + D->B->C в одном флаконе. В общем, – вложенные вызовы.

Как это побороть? Читаем далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.1K
Комментарии 9

Наблюдение за выполнением конкурирующих задач в Go и Rust

Go *Параллельное программирование *Rust *
Из песочницы

Эта статья представляет собой что-то вроде курсовой работы, которую автор не поленился сделать, изучая одновременно Go и Rust. Сильной стороной обоих языков программирования считается удачно реализованная поддержка конкурентности, во всяком случае, редкий обозреватель обходит эту возможность вниманием. Прочитав несколько довольно подробных теоретических описаний и руководств по разработке приложений с конкурентностью на языках Go и Rust, я решил дополнить их несложным количественным экспериментом и поделиться его результатами.  

Все обсуждаемые здесь измерения проведены на единственной системе с более или менее случайными характеристиками. Хотя она довольно типична, то есть, не слишком хороша и не слишком плоха, выполненное в таком объеме исследование заведомо не претендует на полноту. Заинтересованный читатель может повторить его в любой подходящей среде, загрузив исходный код с GitHub (ссылка на репозиторий приведена в конце). 

Наконец, не открыв, по-видимому, ничего сенсационного, автор все же надеется, что его статья принесет пользу начинающим разработчикам, а также инженерам и ученым, которые пишут программы для собственных нужд. 

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 7.1K
Комментарии 10

Go для самых маленьких. Разрабатываем для Arduino и других микроконтроллеров

Блог компании OTUS Go *Программирование микроконтроллеров *Интернет вещей

Язык Go благодаря своей простоте, возможности компиляции в выполняемый образ и встроенной поддержке многозадачности стал, в некотором смысле, "серебряной пулей" для создания высокопроизводительных инструментов и, совместно с Rust, сформировал современный технологический ландшафт для DevOps. Но в действительности, благодаря поддержке набора инструментов LLVM, стало возможным использовать Go и для встраиваемых систем, например при создании мобильных приложений для Android/iOS (например, проекты android-go или gomobile) или микроконтроллеров. В этой статье мы поговорим о возможностях проекта TinyGo, его преимуществах по сравнению с C++ для Arduino и других микроконтроллеров, рассмотрим несколько примеров по работе с оборудованием (на примере реализации драйвера шины SPI для светодиодной ленты WS2812).

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 4K
Комментарии 4

Bun: дружественный к SQL Golang ORM

Go *
Из песочницы

Bun это дружественный к SQL Golang ORM для PostgreSQL, MySQL/MariaDB, MSSQL, и SQLite. Данная статья призвана познакомить вас с базовыми возможностями этой ORM.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 4K
Комментарии 4

50 оттенков нагрузочного тестирования

Блог компании Ozon Tech Высокая производительность *Тестирование IT-систем *Go *Тестирование веб-сервисов *

С нарастающими скоростями и распределёнными системами всё сложнее бывает создать приложение удобным для конечного пользователя. Программы обладают кучей фич. Но выполняют ли они то, что нужно юзерам? А скорость их выполнения достаточная? А производительность при выполнении не хромает? На эти вопросы помогает ответить нагрузочное тестирование (НТ).

Меня зовут Саша, я работаю в команде тестирования Ozon Fintech и расскажу про разнообразный спектр вариантов НТ: как именно мы его применяем и какие инструменты используем. Статья будет полезна тем, кто уже что-то слышал про НТ и хочет добавить его в свой проект, но пока страшновато. Давайте разбираться!

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 5.4K
Комментарии 15

Sheldon: бот для автоматизации командной рутины

Блог компании Авито Go *Управление разработкой *

В докоронавирусную эпоху, когда все сидели в офисе, командная рутина решалась довольно органично. С переходом на удалёнку у меня, как руководителя команды, появились дополнительные стандартные задачи, например сбор прогресса по разным доскам и напоминания о встречах. Чтобы не тратить на них время, мы написали слак-бота Шелдона. 

Сейчас его полезность видна и без ковидных ограничений, потому что бот эволюционировал в автоматизацию командных процессов.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.6K
Комментарии 6

HTTPs-сервер с сертификатом Let's Encrypt на Go

Go *

У меня есть приложение на Go, в котором в одном из потоков работает простой HTTP сервер. К этому серверу обращаются по HTTPS. Запрос приходит на Pound - HTTP/HTTPS reverse-proxy and load-balancer и перенаправляется в приложение. TLS сертификат изготавливается и обновляется с помощью Let's Encrypt.
  
Простая и привычная схема. Правда, чаще в этой схеме бывает Nginx, но в этой статье мы не будем рассуждать, почему Pound, а не Nginx. Все очень хорошо, но меня последнее время начинает раздражать, когда к простому и понятному коду на Go нужно прикрутить небольшого динозаврика с пять-шестью скриптами на Ansible, закатать все это в деплой и радоваться тому, как это все славно улеглось в небольшой виртуалке.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 3.2K
Комментарии 3

Лучшие книги по Golang: что стоит почитать как начинающему, так и опытному разработчику

Блог компании Quadcode Go *

Мы в Quadcode любим Golang и можем рассказать о языке и его преимуществах много интересного. Все это неспроста - не так давно мы переписали некоторые наши продукты или отдельные их модули именно на Go, чему радуемся до сих пор. Подробности самых интересных кейсов вскоре планируем раскрыть на Хабре, а пока что поделимся подборкой любимых книг, которые посвящены этому языку. Некоторые из них подходят для начинающих разработчиков, другие - для программистов с опытом. Объединяет все представленные в подборке книги одно - они могут оказаться ну очень полезными для тех, кто так или иначе связан с Go. Подборка - под катом, и, кстати, если вы уже читали какую-то из рекомендованных нами книг, расскажите о своих впечатлениях в комментариях. Поехали!

Да, кстати, еще одна ремарка - некоторые книги переведены на русский, некоторые - нет. Если перевода (пока, как хотелось бы надеяться) нет, то мы об этом скажем.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 6.2K
Комментарии 14

Быстрый бэкап всех ваших репозиториев Github

Go *GitHub
Из песочницы

Я так давно пользуюсь услугами Github, что уже начал забывать как это страшно потерять код который целый день сочинял и отлаживал. Раньше для сохранения кода я использовал дискетки, потом cd-rom и переносной жесткий диск, потом пришли флешки... Все это для того что бы перенести код с рабочего компьютера на домашний и не потерять. И все эти устройства постоянно ломались терялись, у них заканчивался срок службы и т.п.

Потом я завел свои "облака" и хранил код на своем железе и рабочих компьютерах. И наконец появился Github. По началу что-то ещё дублировалось на своих серверах и внешних дисках, но к сегодняшнему дню я на столько привык к сервису Github, все на столько удобно и надёжно, что страх о том что "дискетка" может сломаться постепенно улетучился.

И тут на тебе! Оказывается в любой момент, по не зависимой от меня причине, меня могут отключить от этого технологического чуда! :-)

Читать далее
Всего голосов 38: ↑31 и ↓7 +24
Просмотры 13K
Комментарии 25

Инструменты выполнения фоновых задач в Go

Программирование *Go *

Итак, вы начали разработку на Go и столкнулись с задачей запуска куска логики приложения в фоне. Какие есть варианты? Их очень много, и в статье я постараюсь помочь с выбором конкретного инструмента для фонового запуска кода. Иногда в работе я замечаю, что у разработчиков, пришедших из других языков, бывают проблемы с пониманием, какие лучше использовать для этого инструменты в Go. Тут не будет подробного руководства по каждому из инструментов, но я постараюсь помочь проще и быстрее вникнуть в основные методы фонового запуска бизнес-логики и выбрать наиболее подходящий.

Go →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 4.1K
Комментарии 10

Анализ синтаксиса, который всегда с тобой

Блог компании Delivery Club Tech Open source *Программирование *Go *Управление разработкой *

Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал возможность написания локальных проверок под конкретный проект. Сегодня раскрою эту тему подробнее и опишу приемы, упрощающие проверку кода мне и коллегам. А в конце статьи расскажу, как можно автоматизировать некоторые проверки ИБ из нашей недавней статьи, поделюсь дальнейшими планами по развитию по развитию и оставлю ссылку на доклад автора go-ruleguard (далее ruleguard).

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Просмотры 2.8K
Комментарии 7

Табличные тесты в Go с использованием Gomock

Блог компании Авито Программирование *Go *Тестирование веб-сервисов *
Перевод

Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.

Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 5.8K
Комментарии 1

Изменения функции append в Go 1.18

Программирование *Go *
Из песочницы

Совсем недавно произошел релиз Go 1.18, гвоздем программы стали дженерики. Но про этот факт уже достаточно статей, а мне нечего к ним добавить. Однако, я не смог найти ни одного поста про этот кусочек релиза:

The built-in function append now uses a slightly different formula when deciding how much to grow a slice when it must allocate a new underlying array. The new formula is less prone to sudden transitions in allocation behavior.

Итак под капотом append немного поменялась формула увеличения среза, а именно когда нужно выделить новый базовый массив. И она менее подвержена внезапным изменениям в поведении распределения. И мне хотелось бы привлечь ваше внимание к этому изменению)

Читать далее
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 8K
Комментарии 8

Маски, картины, тайные покупатели и анализ продаж: разбираем решения задач для Go-разработчиков

Блог компании VK Блог компании Ozon Tech Занимательные задачки Go *Учебный процесс в IT
3 апреля на платформе All Cups прошло отборочное соревнование на курс «Продвинутая разработка микросервисов на Go» — это уже второй поток бесплатных курсов для разработчиков от Ozon Tech. Программа предназначена для мидлов, поэтому нужно было придумать задания и провести контест, чтобы отобрать релевантных участников.

Методисты All Cups совместно с организаторами разработали алгоритмические задачи, добавив актуального контекста. Здесь много любителей головоломок: предлагаем попробовать свои силы в задачах и сравнить с решениями.


Поехали!
Всего голосов 29: ↑26 и ↓3 +23
Просмотры 5.4K
Комментарии 25

Постигаем искусство написания Dockerfile для Go

Блог компании OTUS Программирование *Go *
Перевод

Как-то раз, в результате многих сверхурочных часов кропотливой работы, мне удалось разработать простейшее Hello world приложение на Go. И хотя оно всего-навсего производило вывод на экран, а затем заканчивало свою работу, мой начальник был настолько впечатлен, что попросил меня опубликовать мое детище, в написании которого я реализовал весь свой потенциал.

Читать далее
Всего голосов 19: ↑13 и ↓6 +7
Просмотры 5.1K
Комментарии 6

Вклад авторов

Работа

Go разработчик
120 вакансий