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

Привет!

На прошлой неделе вышла новая версия GoLand 2018.3.

Что нового в GoLand 2018.3 - 1

В этом обновлении вы найдете множество улучшений для отладки и тестирования. Это отладка приложений на платформе Google App Engine, Testify фреймворк, анализ дампов памяти и Mozilla rr.

Появился новый Change Signature рефакторинг, инспекции кода и автодополнение для функций.

Кроме того, мы добавили поддержку для диаграмм, улучшили Rename и Inline рефакторинги, работу с шаблонами Go(text/html) и системой контроля версий для Git, Docker и Kubernetes плагины, и многое другое.

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

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

Около месяца назад я опубликовал здесь статью GUI-фреймворки — на поток, где предлагалась технология создания GUI-фреймворков для разных языков программирования, основанная на подключении (tcp/ip или каком другом) к внешнему процессу, играющему роль своеобразного GUI-сервера. Здесь я хочу представить конкретную реализацию этой идеи — новый GUI-фреймворк для GolangExternal.

Зачем вообще потребовалось писать новый GUI для Golang, если в наличии уже имеется немало таких инструментов? В первую очередь, потому, что ни один из них не устраивал меня в полной мере. Нужно было что-то для создания десктопных приложений, кросс-платформенное, чтобы выглядело естественно для каждой платформы. По-возможности, не очень громоздкое, имеющее минимум зависимостей — я привержен минималистическому подходу.Читать полностью »

Отчёт с митапа «Go в продакшене»: видео, фото, презентации - 1

Всем привет! 23 сентября мы отлично провели время в московском офисе Mail.Ru Group на митапе сообщества Go в продакшене. Собрали для вас фото, видео и презентации.
Читать полностью »

Раньше на Авито можно было найти нужный товар, используя фильтрацию по ключевым словам или навигацию по дереву категорий. Этот способ, хоть и казался привычным, был не всегда удобен — чтобы найти товар или услугу, нужно было сделать большое количество кликов. Более года назад у нас появилась релевантность, благодаря которой поиск стал лучше, и найти товар или услугу теперь проще и удобнее даже на главной странице. С этим нововведением в выдачу перестали попадать неподходящие, откровенно «мусорные» товары. И это только один из шагов, чтобы сделать поиск лучше. Мы постепенно изменяем инфраструктуру, что позволяет нам работать над качеством поиска более интенсивно, быстрее улучшать его и выкатывать новые фичи, приносящие пользу продавцам и покупателям на Авито.

В статье я расскажу, как менялся поиск на Авито: с чего начинали и как мы сейчас движемся по пути к улучшению жизни наших пользователей, поделюсь нашими нововведениями как в продукте, так и в его начинке — технической части. Совсем хардкорного мяса здесь не будет, но, надеюсь, вам понравится.

Эволюция поиска — как купить пианино в три клика - 1Читать полностью »

Go lintpack: менеджер компонуемых линтеров - 1

lintpack — это утилита для сборки линтеров (статических анализаторов), которые написаны с использованием предоставляемого API. На основе него сейчас переписывается знакомый некоторым статический анализатор go-critic.

Сегодня мы подробнее разберём что такое lintpack с точки зрения пользователя.

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

Контроль консистентности кода в Go - 1

Если вы считаете консистентность важной составляющей качественного кода — эта статья для вас.

Вас ждут:

  • Разные способы сделать одно и то же в Go (эквивалентные операции)
  • Менее очевидные факторы, влияющие на однородность вашего кода
  • Способы увеличения консистентности вашего проекта

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

Когда твой парень - fullstack

Когда твой парень — fullstack

Работая программистом и проживая в пяти минутах ходьбы от офиса, крайне тяжело успеть «отойти» от работы, отойдя от работы.

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

Как бы не так!

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

И вот однажды она приходит к тебе и торжественно заявляет:
— Я готова! Готова учиться программированию! Давай!

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

О том, как я, не имея никакого практического опыта в обучении, решил ввести в программирование человека, объяснившего, что «ты же умный» и «всё у нас получится», расскажу под катом.

Добро пожаловать!

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

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

В этой статье я расскажу о том как мы столкнулись со сложностью написания хороших тестов при разработке компонента на 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. Начинать с представления себя и своего проекта.
Читать полностью »


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