Рубрика «Go» - 60

Перевод статьи технического директора компании CrowdStrike, о том, как и почему они перешли со Scala на Go по мере роста компании с 5 до 200+ человек.

Scala долгое время была частью стека нашей компании CrowdStrike, по сути даже главным языком. Я помогал внедрять Scala когда мы начали разрабатывать наш софт в 2012-м году. На самом деле, это было даже одной из главных причин моего перехода в CrowdStrike. Несколько основных разработчиков были заинтересованы во внедрении Scala, так что это был хороший вариант для всех.

Я перешёл из компании Gravity, которая достаточно активно использовала Scala. Это был основной язык в компании. Я привык к нему, мне он нравился, я видел его мощь и был уверен, что смогу предотвратить некоторые из сложностей, которые я видел в Scala, по мере того, как CrowdStrike будет расти. Мы делали высоконагруженную аналитику, batch-задачи на Hadoop и наш Chief Architect (привет, Биссел!) использовал лямбда-архитектуру задолго до того, как это стало модно.

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

Как я 8 месяцев переписывал свою криптовалюту с PHP на Go. Часть 2 - 1

2-я часть истории, которая началась с смс-ки от Кати «Не звони и не пиши мне больше!!!!»
Читать полностью »

Как выбрать язык программирования? - 1

Именно таким вопросом задалась команда Почты Mail.Ru перед написанием очередного сервиса. Основная цель такого выбора — высокая эффективность процесса разработки в рамках выбранного языка/технологии. Что влияет на этот показатель?

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

Кроме этого, разработчики приветствовали немногословность и выразительность языка. Лаконичность, безусловно, так же влияет на эффективность разработки, как отсутствие килограммовых гирь на вероятность успеха марафонца.
Читать полностью »

Совсем недавно github в своем блоге разместил статистику за 8 лет. Нашему сервису чуть меньше года и пользователей, конечно не так много, но 20K регистраций мы перешагнули (да, достаточно много джуниоров, но об этом попозже) плюс мы можем рассказать не только о процентах, но и об абсолютном количестве

Топ 10 на GitHub:
image

Наш рейтинг языков программированияЧитать полностью »

Зеркало

В предыдущей статье я говорил про взаимодействие камней со стенкой. Сейчас я покажу как это выглядит в теории.
Приведу по очереди четыре примера. В качестве стенки (1-ой линии) я использую середину доски 13х13, чтобы за ней нарисовать как выглядит отражение.

В игре Го можно увидеть больше оттенков серого (продолжение №2 — Зеркало, №3 — Дырки) - 1
Читать полностью »

В первом продолжении я постараюсь раскрыть понятие влияния. Необходимо для понимания знать правила игры и примеры их применения.

Все начинается с исследования свойств поставленного на доску камня.

Свойство 1 — камень может спасти ситё своего цвета в определенной зоне

Исследование процесса: (под катом много картинок)
Читать полностью »

Часть первая — Знакомство

Я начинал свою историю игры в Го давным давно в 2006 году. Начало может быть вполне обычное, а может быть и нет.

После поступления в аспирантуру я решил, что теперь у меня появилось много свободного времени, которое надо тратить на разные интересные занятия (очевидно, что с аспирантурой у меня в последствии ничего толкового не вышло, хотя поездить по иностранным школам было очень приятно в плане путешествий, а не приобретения профессиональных знаний). Одно из интересных занятий было посвящено шахматам. Эта игра казалась мне венцом творения интеллектуальных игр. Как то поделился я мыслями со своим приятелем, а он мне и говорит, что есть игра гораздо сложнее — Го называется. (На тему Го можно почитать у GlukKazan)
Читать полностью »

Го — неведомые земли - 1Стратегия ведения войны такова: существуют рассеивающие местности,
ненадежные местности, спорные местности,
пересекающиеся местности, узловые местности,
трудные местности, местности-ловушки,
окруженные местности и смертельные местности.

Сунь Цзы "Искусство войны" 

Есть люди, которым надоедает всё привычное. В своих поисках нового, они совершают открытия, изобретают, творят. Они делают нашу жизнь лучше, во всех её проявлениях. Го не является исключением.
Читать полностью »

tl;dr: Go достаточно многословный и строгий язык программирования с очень предсказуемой и стремительной кривой обучения, что делает его крайне удачной технологией для обучения программированию новоприбывших!

Я только приехал из штатов, после Google Code-In 2014 Grand Prize Trip, отдохнувший и веселый. Какое-то время думал написать отчет о том, чем призеры там занимались, как нас приняли в Mountain View и обо всем этом, но в какой-то момент понял, что все это совершенно бесполезно. Совсем недавно я по воле случая должен был помочь своему товарищу с домашкой по информатике (там было что-то вроде selection sort). Реализация требовалась на паскале, а я паскаль знаю очень плохо, как впрочем и другие неактуальные, по большей мере, языки программирования, вроде Ada.

Go как язык для обучения программированию - 1В меня ударила молния и укусил гофер, после чего мое тело мутировало в какую-то кунг фу Go хренотень. Иными словами, я задумался о возможном потенциале моего любимчика среди новых технологий, Go, в качестве языка для обучения программированию новоприбывших (читай: школьников). Мне кажется, у Go есть все, что в принципе может быть нужно подобной программе и даже чуточку больше (например, в школе могли бы затрагивать тему параллельного, ни в коем случае не concurrent, программирования, которую не затрагивают, просто потому что FPS вообще не умеет гонять два куска кода одновременно). Под катом, собственно, мои мысли на этот счет. Кстати, пользуясь случаем, хочу передать привет divan0! Большое спасибо за твою просветительскую деятельность в тематическом хабе: Go действительно нуждается в огласке, ведь много людей до сих пор считают, что это какая-то страшная поделка уровня Plan9 из 80-х и к тому же, без обобщенного программирования (в каждой шутке есть доля шутки), а ты рассказываешь людям очень правильные вещи на понятном для них языке! Никакого дисклаймера не будет, но я настоятельно не рекоммендую воспринимать содержимое статьи абсолютно серьезно, ведь я человек, у которого есть целых два гофера: синий и розовый!
Читать полностью »

Организация «чистого» завершения приложений на Go - 1

Здравствуйте, в данной заметке будет затронута тема организации «чистого» завершения для приложений, написанных на языке Go.
Чистым выходом я называю наличие гарантий того, что в момент завершения процесса (по сигналу или по любым иным причинам кроме system failure), будут выполнены определённые процедуры и выход будет отложен до окончания их выполнения. Далее я приведу несколько типичных примеров, расскажу о стандартном подходе, а также продемонстрирую свой пакет для упрощённого применения этого подхода в ваших программах и сервисах.

TL;DR: github.com/xlab/closer GoDoc
Читать полностью »


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