В эту пятницу состоялся релиз Go 1.11. Ключевые вещи релиза — экспериментальная поддержка WebAssembly, а также новая концепция Модулей, которые призваны стать стандартом распространения кода.
Читать полностью »
Рубрика «golang» - 19
Go 1.11 зарелизился — WebAssembly и Нативные модули
2018-08-27 в 3:22, admin, рубрики: Go, golang, webassembly, модули, Программирование, Промышленное программированиеКак настроить деплой web-приложения на Go для Gitlab на VDS
2018-08-23 в 16:01, admin, рубрики: centos 7, ci/cd, devops, Go, golang, vdsПредисловие
Эта статья является результатом недельного поиска весьма разрозненной информации о том, как же настроить деплой web-сервиса на Go. Не на Heroku, не на Docker, не на Digital Ocean, а просто на старомодный VDS с CentOS 7x64. Почему-то в сети нет этой информации, а большинство туториалов начинаются с того, как настроить билд, и заканчиваются запуском тестов.
Сразу предупрежу, что впервые настраивал CI/CD процесс, так что это статья от новичка новичку.
Читать полностью »
Кастомный роутер для браузерного тестирования
2018-08-15 в 14:07, admin, рубрики: docker, golang, phantomjs, Программирование, Тестирование IT-системТут не совсем про тестирование, а больше про парсинг сайтов через браузеры. Ничего нового и интересного, кроме самописного роутера-хаба и исполняющих узлов.
Почему хаб-роутер?
Потому что он регистрирует в себе узлы и перенаправляет запросы из вне на конкретный узел.
Читать полностью »
Распределение нагрузки при парсинге сайтов и подключение дополнительных облачных ресурсов
2018-08-15 в 14:07, admin, рубрики: docker, golang, phantomjs, Программирование, Тестирование IT-системВ этом посте пойдет речь о библиотеке, которая регистрирует в себе узлы и перенаправляет запросы из вне на конкретный узел.
Как появилась идея написать этот проект?
После того, как появилась необходимость в парсинге сайтов в больших количествах я попытался реализовать такую штуку с помощью selenium grid, потом взял selenoid. selenoid подошел, но там было много того, что мне было не нужно, например версии и варианты браузеров, а также, самое главное, это отсутствие auto scaling (но selenoid не для этого). 90% времени кластер простаивает, а потом появляется большая нагрузка, с которой сервер не справляется. Получается большие расходы на железо, которое почти все время не работает, да еще и не справляется. Я подумал, что было бы здорово, если бы по мере поступления нагрузки — количество исполняемых браузеров бы увеличивалось, а как нагрузка пропадает и браузеры удаляются. К счастью такое можно реализовать, например, через AWS EC2.
Читать полностью »
Typegram — дзэн блог платформа
2018-08-13 в 20:14, admin, рубрики: blog engine, Go, golang, open sourceПривет хабр. Решил показать вам движок, который я потихоньку разрабатываю. Это блог платформа, по возможностям очень близкая к медиум и подобным проектам.
Базовые возможности:
Публикации, комментарии, избранное, подписки, уведомления, рейтинги, голосования.
Минималистичный, текстовый дизайн:
Решил я написать одно кроссплатформенное десктопное приложение на Go. Сделал CLI-версию, всё работает отлично. Да ещё и кросскомпиляция в Go поддерживается. Всё в общем отлично. Но понадобилась также и GUI-версия. И тут началось...
Что нового в GoLand 2018.2
2018-08-02 в 14:48, admin, рубрики: Go, GoLand, golang, jetbrains, Блог компании JetBrainsПривет!
На прошлой неделе вышел GoLand 2018.2. В этой статье мы расскажем о том, что появилось в новой версии.
Что нового вкратце:
- поддержка модулей Go (ранее известных как vgo);
- улучшенный Move-рефакторинг и новые автоматические исправления;
- пополнение в семействах Postfix Completion and Intention Actions;
- отладчик теперь поддерживает точки останова, не требующие полного прерывания программы, а также отложенную загрузку массивов, слайсов и словарей.
Кроме того, много улучшений пришли из платформы IntelliJ: от нововведений для систем контроля версий и поддержки Touch Bar для MacBook Pro до последних новинок из мира фронтенд-разработки.
Читать полностью »
Кросс-облачное программирование с Go Cloud
2018-07-25 в 12:22, admin, рубрики: Amazon Web Services, AWS, clouds, GCP, Go, golang, Google Cloud Platform, кросс-облачность, облачные сервисы, ПрограммированиеВведение
Сегодня (прим. переводчика 24-07-2018), команда Go в Google выпустила новый Open Source проект Go Cloud, библиотека и инструменты для разработки в открытом облаке. Этим проектом, мы преследуем цель, чтобы разработчики выбирали язык Go для создания кросс-облачных приложений.
Этот пост обясняет почему мы начали этот проект, детали того как работает Go Cloud, и как вовлечься и начать использовать его.
Читать полностью »
Ускорение конкатенации строк в Go своими руками
2018-07-17 в 22:27, admin, рубрики: benchmarks, concat, concatenation, Go, golang, optimization, performance, runtime, strings, Компиляторы, Программирование, системное программированиеСегодня мы будем разгонять склеивание коротких строк в Go на 30%. Причём для этого нам не нужно будет модифицировать сам Go, всё это будет реализованно в виде сторонней библиотеки.
Под катом вас ждут:
- Сравнение
+
,strings.Builder
и собственной функции конкатенации - Детали внутреннего устройства строк в Go
- Совсем немного ассемблера
Данную статью можно также считать предлогом обсудить CL123256: runtime,cmd/compile: specialize concatstring2. Идеи по улучшению этого change list'а приветствуются.
Контрибьютим в Go с помощью статического анализатора go-critic
2018-07-11 в 23:07, admin, рубрики: bugs, codestyle, contributing, Go, golang, linter, open source, performance, static code analysis, Программирование, Совершенный код, управление разработкойВы, возможно, помните недавний анонс нового статического анализатора для Go под названием go-critic.
Я проверил с его помощью проект golang/go и отправил несколько патчей, которые исправляют некоторые найденные там проблемы.
В этой статье мы разберём исправленный код, а также будем мотивироваться отправлять ещё больше подобных изменений в Go.
Для самых нетерпеливых: обновляемый список трофеев.