Golang tips. Part 1 (топик-ссылка)
23 марта 2017 Golang 1896 просмотров
Go is a simple and fun language, and as any other language, Go has a lot of unspoken tips.
Go 1.8 released. What is new? (топик-ссылка)
17 февраля 2017 Golang 2372 просмотра
Go team has released new version on February 16. You can get it from the download page. To celebrate the release, Go User Groups around the world are holding release parties this week. Spread the word using hashtag #GoReleaseParty.
Memory leaks with mux.Router in Go (топик-ссылка)
23 сентября 2016 Golang 4256 просмотров
Today we found that our web server written in Go has memory leaks and consume around 300M of memory, which is really a lot for our app. After restart it’s back to ~10M but each hour increased by few more. Golang has nice built-in tools to debug and find leaks.
Game Of Logs (топик-ссылка)
16 марта 2016 Golang 5350 просмотров
Are you ready for a new world of Information Technology? Check yourself in the Game of Logs! Currently there are 4 tests about Golang, Docker and Docker Tools.
How to collect Mobile crash logs (топик-ссылка)
15 марта 2016 Golang 5261 просмотр
Eventually, in a short time we have setup the system for log collection and analysis for mobile apps. Also, with little effort we can add to this system services for analyzing Javascript errors and collecting log files from all our servers. System support is easy and doesn’t require lots of resources. LogPacker Cluster can be easily scaled horizontally by adding new nodes. At the same time service has full load control and it reports all possible issues.
GoMobile: Library development for IOS/Android (топик-ссылка)
13 марта 2016 Golang 5262 просмотра
We decided to use new opportunities of Golang for cross platform library creation. First of all, our main application is written in Go and it was easier for us to use that lang and not to involve Java/Objective-C developers. Second of all, we saved development time and tried old approach with improved features.
Разработка библиотеки для iOS/Android на Golang (топик-ссылка)
2 марта 2016 Golang 5390 просмотров
Наша основная задача разработать SDK для сборки логов и крашей с мобильных приложений, при этом SDK должно подключаться и работать и с Android и с iOS приложениями. В тоже время библиотека должна взаимодействовать с основным сервисом LogPacker, который агрегирует и анализирует данные.

Мы решили использовать новые возможности языка Go для создания кроссплатформенной библиотеки. Во-первых, наше основное приложение написано на Go, и для нас было проще использовать данный язык и не привлекать Java/Objective-C разработчиков. Во-вторых, мы сэкономили время на разработку и попробовали старый подход с новыми возможностями.
Go-клиент для PayPal API
29 декабря 2015 Golang 6873 просмотра
В одном своем проекте, backend которого написан на Го, нам необходимо было использовать PayPal API. Для многих языков существуют официальные SDK библиотеки, но в случае с PayPal SDK для Go поиск не привел к чему-то конкретному, была найдена всего пара проектов, функционала которых нам не хватало.
Крутой профайлер памяти в Go
30 июля 2015 Golang 13345 просмотров
Очень хорошо, когда вы знаете, сколько памяти использует ваше приложение. Еще лучше знать, когда наступают пики, чтобы оптимизировать приложение. У вас для этого может быть свой подход, я же хочу предложить одну очень полезную библиотеку для Го, которая буду отображать это в реальном времени в web-интерфейсе.
Внутренние импорты в Go-проекте на GitHub и Travis CI
12 июля 2015 Golang 9368 просмотров
Расскажу об одной проблеме, с которой я столкнулся при настройке TravisCI для проекта на Го, хостившемся на GitHub. Проект включает в себя несколько пакетов и является по-сути веб-приложением. Он готов и работает, некоторые пакеты импортируют другие общие пакеты. Включаем проект на TravisCI, создаем .travis.yml файл в корне:
Atom.io + go плагины VS LiteIDE
10 июля 2015 Golang 8011 просмотров
Этот пост является исключительно моим личным мнением. Начитавшись модных статей о связке atom.io и go-plus и еще паре пакетов в приставкой go-, я решил установить и попробовать. На главной странице редактора написано много слов "flexible", "hackable". Надо сказать, что я всё время использовал LiteIDE и был доволен, хоть и не могу не сказать о его ограниченности, работал дома на Mac, а на работе на Linux, и IDE вело себя одинаково при одинаковой настройке.
Что использовать в качестве конфигов в Golang?
14 марта 2015 Golang 13232 просмотра
Допустим, вам необходимо хранить конфигурационные данные в файлах, какой формат вы будете использовать? YAML, INI? А почему бы не JSON? Мне очень нравится формат YAML, и в одном приложении я был начал его использовать, подключил парсер, но потом опомнился, ведь поддержка JSON в Го нативная. И можно довольно просто, без внешних библиотек экспортировать конфиг в Го-структуры.
Настраиваем дебаггер для LiteIDE на OSX
8 февраля 2015 Golang 12095 просмотров
Я еще точно не определился с выбором IDE для Go, но пока использую официальную LiteIDE, которая не так сильна как продукты JetBrains, но зато очень быстрая и простая (иногда). Первым делом нужно настроить дебаггер, и LiteIDE использует для этого дела GDB.
Как получить путь к текущему .go скрипту
6 февраля 2015 Golang 12066 просмотров
В PHP я часто использую встроенные в язык константы __DIR__, __FILE__. Но в Go таких нету, зато есть пакет runtime, который позволяет работать с Go runtime системой, а также для контроля goroutine стэка. Например, функция runtime.Caller() позволяет получить информацию о названии файла, номере строки.
Go-скрипт для выполнения команды по SSH
4 февраля 2015 Golang 10850 просмотров
Понадобилось мне выполнять на удаленном сервере некоторые команды из приложения, написанного на Go. Пришлось написать небольшой package, который позволяет это делать. Нам нужны следующие параметры: username, hostname и сама команда. Package будет использовать публичный ключик id_rsa.pub из домашней директории пользователя.