Всем привет!
Это третий выпуск дайджеста, посвящённого языку программирования Go (Golang), в этом году.
В нём перечислены лучшие статьи за прошедшие пару недель, а также новости, события и проекты, заслуживающие внимание.
Всем привет!
Это третий выпуск дайджеста, посвящённого языку программирования Go (Golang), в этом году.
В нём перечислены лучшие статьи за прошедшие пару недель, а также новости, события и проекты, заслуживающие внимание.
Golang — отличный язык. Строгая типизация, сборщик мусора, вызов си функций через cgo, reflect, chan — просто сказка! Очевидно что так считаю не только я, т.к. go популярен, а значит его использует много программистов, а значит есть высокая вероятность что когда-то кому-то понадобится реверсить его бинарники — этим мы сейчас и займемся.
Читать полностью »
Пару недель назад, я решил взять простейший пример HTTP сервера на Go и измерить его производительность. Потом я смело взял Phoenix, прогнал на тех же тестах, и расстроился. Результаты были не в пользу Elixir/Erlang (45133 RPS у Go и всего 3065 RPS у Phoenix). Но Phoenix — это тяжело. Надо что-то хотя бы примерно равное по простоте и логике разработки тому, что есть на Go: когда есть путь — "/" и handler для него. Логичной аналогией мне показалось решение cowboy + plug, где у нас есть Router, который так же ловит "/" и отвечает на него. Результаты убили — Elixir/Erlang опять оказался медленнее:
Golang
sea@sea:~/go$ wrk -t10 -c100 -d10s http://127.0.0.1:4000/
...
452793 requests in 10.03s, 58.30MB read
Requests/sec: 45133.28
Transfer/sec: 5.81MB
elixir cowboy plug
sea@sea:~/http_test$ wrk -t10 -c100 -d10s http://127.0.0.1:4000/
...
184703 requests in 10.02s, 28.57MB read
Requests/sec: 18441.79
Transfer/sec: 2.85MB
Как жить дальше? Две недели я не спал и не ел (почти). Все, во что я верил все эти годы: совершенство vm erlang, ФП, зеленые процессы, было растоптано разорвано, сожжено и пущено по ветру. Немного отойдя от шока, успокоившись, и подтерев сопли я решил разобаться, в чем дело.
Это перевод статьи Нейта Финча (Nate Finch) — оригинал (опубликовано 24 марта 2017)
31 января 2017 года было моим последним днем в Canonical после 3,5 лет работы над одним из крупнейших проектов с открытым исходным кодом, написанных на Go — Juju.
На момент написания статьи основной репозиторий Juju — это 3 542 файла, 540 000 строк кода Go (в это число не входит 65 000 строк комментариев). С учетом всех зависимостей, кроме стандартной библиотеки, Juju содержит 9 523 файла, в которых содержится 1 963 000 строк кода Go (без учета 331 000 строк комментариев).
Вот несколько уроков, извлеченных из примерно 7 000 часов работы над этим проектом.
Всем привет!
Это второй выпуск дайджеста, посвящённого языку программирования Go, в этом году.
В нём перечислены лучшие статьи за прошедшие пару недель, а также новости, события и проекты, заслуживающие внимание.
Привет, меня зовут Павел Мурзаков, я – разработчик в команде Features в Badoo. Нам важно, чтобы наши сервисы потребляли как можно меньше ресурсов, поскольку каждый дополнительный сервер стоит денег. Поэтому мы часто профилируем и оптимизируем код. Часть наших демонов написана на Go, с оптимизацией кода на котором мне пришлось работать в последнее время. Благо в стандартной библиотеке Go есть множество готовых инструментов для этого.
Недавно мне попалась эта статья, в которой собрана информация о многих инструментах и на конкретном примере показано, как начать ими пользоваться. Кроме того, в ней есть несколько хороших рецептов по написанию эффективного кода. Эта информация будет полезна любому начинающему Go-разработчику (более продвинутые тоже смогут найти что-то для себя), поэтому я сделал для вас перевод. Enjoy!
Всем привет!
Давно не было дайджеста, посвящённого языку Go, и я решил восполнить этот пробел.
В этом выпуске перечислены лучшие статьи за прошедшие пару недель, интересные события и проекты, заслужившие внимания.
Добавляйте свои материалы в комментариях, а также любые замечания и предложения — постараюсь их учесть в следующем дайджесте.
Читать полностью »
Представляю вам перевод моей статьи на Medium.com: часть 1, часть 2. Поскольку первая часть статьи содержит в основном уже изложенное в этом посте, то привожу перевод только второй части.
В первой части статьи я рассказал о простых подходах, позволяющих построить масштабируемый кластер Selenium без написания кода. В этой части мы рассмотрим более тонкие вопросы работы с Selenium:
16 февраля Golang-сообщество устроило глобальный сбор в честь релиза версии 1.8. На московскую release party в офисе Avito собрались более 150 «гоферов» и сегодня мы публикуем видео-записи докладов.
Читать полностью »
Вниманию читателей «Хабрахабра» представляется расшифровка видеозаписи (в конце публикации) выступления Вячеслава Бахмутова на сцене конференции HighLoad++, прошедшей в подмосковном Сколково 7-8 ноября ушедшего года.
Меня зовут Слава Бахмутов, я работаю в Dropbox. Я Site Reliability Engineer (SRE). Я люблю Go и продвигаю его. С ребятами мы записываем подкаст golangshow.
Это облачное хранилище, в котором пользователи хранят свои файлы. У нас 500 миллионов пользователей, у нас более 200 тысяч бизнесов, а также огромное количества данных и трафика (более 1.2 млрд новых файлов в день).
Читать полностью »