Рубрика «golang» - 15

Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения.

В этой статье я расскажу о том как мы столкнулись со сложностью написания хороших тестов при разработке компонента на Go и как решали эту задачу используя библиотеку RSpec в Ruby on Rails.
Читать полностью »

Приветствую вас, коллеги!

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

Первая мысль была — пойти по уже проторенному пути: написать набор соответствующих функций на С, точнее, адаптировать уже готовый — то, что я писал когда-то для Harbour и C++, сделать привязку к нему с помощью cgo (C API для Golang) и дружелюбную обертку. Я даже начал это делать, получил первое окошко, но как представил, сколько впереди еще работы, отдельно для Windows, отдельно для Linux, работы чисто технической, поскольку я это уже проходил, энтузиазм несколько поостыл.

И тогда пришла другая идея.Читать полностью »

в 14:10, , рубрики: blog engine, Go, golang, open source

Всем привет! Прошло два месяца с момента анонса typegram на Хабре. И у меня для Вас просто жуткое количество новостей и прохладных историй! Всё так бурно развивается что даже страшно. Начну с приветствия:

Привет, меня зовут Вадим, я представляю проект typegram. Typegram — онлайн платформа для публикаций с открытым исходным кодом.

Это то, что меня выдрессировали делать в стартап школе YC. Начинать с представления себя и своего проекта.
Читать полностью »

Недавно были опубликованы черновики дизайна новой обработки ошибок в Go 2. Очень радует, что язык не стоит на одном месте — он развивается и c каждым годом хорошеет как на дрожжах.

Только вот пока Go 2 лишь виднеется на горизонте, а ждать уж очень тягостно и грустно. Посему берем дело в свои руки. Немножко кодогенерации, чуть работы с ast, и легким движением руки паники превращаются, превращаются паники… в элегантные исключения!

Такой исключительный Go - 1

Читать полностью »

Введение в микросервисную архитектуру

Часть 1 из 10

Это серия из десяти частей, я постараюсь раз в месяц писать про построение микросервисов на Golang. Я буду использовать protobuf и gRPC в качестве основного транспортного протокола.

Стек, который я использовал: golang, mongodb, grpc, docker, Google Cloud, Kubernetes, NATS, CircleCI, Terraform и go-micro.

Зачем мне это? Поскольку мне потребовалось много времени, чтобы разобраться в этом и решить накопившиеся проблемы. Так же я хотел поделиться с вами тем, что я узнал о создании, тестировании и развертывании микросервисов на Go и другие новые технологии.

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

  • грузы
  • инвентарь
  • суда
  • пользователи
  • роли
  • аутентификация

image

Читать полностью »

Golang тестирование за пределами gotour - 1

Никто не любит писать тесты, конечно же я шучу, все обожают их писать. Как подскажут тимлиды и HR, на собеседованиях правильный ответ — я очень люблю и пишу тесты. Но вдруг вы любите писать тесты на другом языке. Как же начать писать покрытый тестами код на го?
Читать полностью »

Дисклеймер: Я не рассматриваю какие-либо алгоритмы и API для работы со звуком и распознаванием речи. Эта статья о проблемах при работе с аудио и об их решении с помощью Go.

gopher

phono — прикладной фреймворк для работы со звуком. Его основная функция — создать конвейер из разных технологий, который обработает звук за вас нужным вам образом.

При чём тут конвейер, к тому же из разных технологий и зачем ещё один фреймворк? Сейчас разберёмся.

Читать полностью »

Приглашаем на митап GO.PITER - 1

5 октября в питерском офисе Mail.Ru Group состоится Go-митап. Поговорим про Go 2, послушаем и обсудим, почему создали zenrpc, узнаем, как в «Юле.Авто» решали задачи по экспорту и импорту данных. Приглашаем всех, кто решает рабочие задачи на Go, пишет собственные pet-проекты и интересуется обновлениями языка.

Участие в митапе бесплатное, регистрация обязательна.
Читать полностью »

SDKMAN — мёртв, да здравствует SDKMAN - 1

TL;DR: SDKMAN CLI будет переписан на Golang

Шесть лет прошло с тех пор как мы выпустили первую версию SDKMAN. В более ранних версиях он был известен как GVM и использовался для управления Groovy и связанным с ним инструментарием. Вскоре стало очевидно, что он не должен ограничиваться экосистемой Groovy, и может также применяться к другим SDK на JVM. В этот момент GVM был переименован в SDKMAN. Хотя название и изменилось, основная технология осталась прежней.

Подобно тому, как GVM однажды перерос своё имя, SDKMAN перерос технологию, на которой он был построен. Несмотря на то, что сервисы бэкенда были заменены лучшими альтернативами, CLI клиент остался прежним и стал нашим самым большим источником разочарования.
Читать полностью »

Приглашаем на митап «Go в продакшене» - 1

23 сентября в московском офисе Mail.Ru Group пройдёт тематический митап «Go в продакшене». Знакомьтесь с программой и регистрируйтесь! Вход на событие бесплатный, по одобренной регистрации.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js