# Понедельник 34 твита
Всем привет! С вами @paaleksey, в настоящий момент простой Go-разработчик, организатор встреч Golang Moscow и соведущий @GolangShow
11:32В последние время тут было много ведущих из нашего русскоязычного Go-сообщества, я буду стараться не повторяться.
11:32Ну и говорить мы будем не только о Go, так что не отписывайтесь, передоза Go у вас не будет. :)
11:33@backendsecret а какой была твоя жизнь до Go?
Basic, Pascal, C, C++, Ruby, Python и многое другое. А также большие, маленькие и свои компании и стартапы. twitter.com/viatsko/status…
11:44@backendsecret @paaleksey @GolangShow привет, а можно подробнее про встречи? я бы посетил одну из таких :)
Проще всего вступить в meetup.com/Golang-Moscow/ и ждать. twitter.com/anton_davydov/…
11:46Из других ресурсов сообщества стоит отметить Slack-чат 4gophers.ru/slack, сам 4gophers.ru и группу groups.google.com/forum/#!forum/…
11:49Ребята, какой (и почему) ЯП для бекенда лучше всего выучить ещё? Пишу на ноде. Кложур? Питон? Гоу? @backendsecret
С ноды многие уходят на Go: zef.me/blog/6191/the-… Сам я писал на ноде, но после Twisted совершенно не впечатлился twitter.com/notarseniy/sta…
11:51@backendsecret а почему гоу? Какие альтернативы? (вдруг уважаемые читатели помогут в этом вопросе?)
1/2 Если в сравнении с нодой, то (1) Go как язык лучше, чем JavaScript (wtfjs.com) twitter.com/notarseniy/sta…
13:252/2 (2) работа с concurrency и сетью в Go просто прекрасна.
13:25@backendsecret Разве есть что-то хуже JS?
1/2 It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: … twitter.com/pinyslutty/sta…
13:272/2: as potential programmers they are mentally mutilated beyond hope of regeneration. © Edsger W. Dijkstra
13:27Какой язык вы в основном используете при разработке бэкенда?
13:36И, к слову, собеседую людей, я понял, что из-за распространения VM люди перестали понимать разницу. В чём она, по вашему?
13:38@backendsecret мы же сейчас говорим про те VM которые "virtual machines" (и CT - Containers как их антипод) ?
Те VM, которые Virtual Machine в JVM (Java Virtual Machine) и YARV (Yet Another Ruby VM). twitter.com/en_austin/stat…
13:43@backendsecret в связи с добавленным ниже, вопрос должен звучать «Какой язык, как вам кажется, вы в основном используете при разработке…»
Пожалуй. Так в чём разница, на ваш взгляд? twitter.com/devgru/status/…
14:05@backendsecret VM берет управление системными примитивами на себя (память, процессы, потоки).
Ок, но как это связано с интерпретируемостью и компилируемостью? twitter.com/alexgorkunov/s…
14:06@backendsecret JIT относить к компилируемым, как я понимаю?
На мой взгляд, ни VM, ни JIT не влияет на компилируемость/интерпретируемость _языка_ (в отличии от реализации). twitter.com/listochkin/sta…
14:08@backendsecret вообще не связанные понятия. Для C есть интерпретаторы, для Java - ahead-of-time компиляторы.
Давайте для простоты называть язык компилируемым, если для него можно написать компилятор. Интерпрет. можно всегда twitter.com/listochkin/sta…
14:15Для каких языков нельзя написать компилятор? Что мешает?
14:17@backendsecret не пробовали labix.org/gopkg.in как замену godep?
Мы используем gopkg.in, но это не замена. Пакет должен быть готов к тому, чтобы его импортировали через gopkg.in. twitter.com/alexgorkunov/s…
14:20@backendsecret Для русского.14:21
@backendsecret компилятор можно написать для любого языка.
Можно и так сказать, но в некоторых случаях он будет содержать в себе интерпретатор. :) Это не тру компилятор twitter.com/listochkin/sta…
14:22@backendsecret но ты так и не ответил на мой первоначальный вопрос: Just-In-Time Compiler - это Compiler?
JIT – это свойство реализации, но не языка. twitter.com/listochkin/sta…
14:26@backendsecret язык не может быть “компилируемый” - реализация может быть
1/3 Очень распространённое мнение, но я позволю себе с ним не согласится. twitter.com/listochkin/sta…
14:332/3 На мой взгляд, фундаментальная разница между компилируемыми и интерпретируемыми языками заключается в четырёх буквах – eval.
14:333/3 Если в языке есть возможность выполнить строку кода на этом языке, то в реализации обязан быть интерпретатор.
14:34@backendsecret эм, если он компилирует, то что именно не тру? шашечки, цвет, фломастер?
Является ли компилятор компилятором, если результирующий код содержит интерпретатор этого языка? :) twitter.com/iamstarkov/sta…
14:35Пока что в опросе побеждают интерпретируемые языки – 70% против 30%. Почему вы предпочитаете их? Что определило выбор?
16:22@backendsecret быстрее старт и разработка, когда скорость выполнения ещё не так многое решает. Потом да, приходится перепиливать (:
1/2 На Go скорость старта и разработки почти как у Ruby и Python, гораздо выше чем у других компилируемых языков twitter.com/vanadium23/sta…
16:352/2 Жертвовать приходится немногим. Лично для меня это одна из киллер-фич.
16:35@backendsecret а какого рода у вас проекты на го?
HTTP API, WebSocket API, CLI – все самые типичные области его применения. twitter.com/alexgorkunov/s…
16:43@backendsecret в http-api испольуете json? Как огранизуете презентационный слой (model->json)?
Всем советую посмотреть на protobuf v3, в котором есть официальное отображение из/на JSON: developers.google.com/protocol-buffe… twitter.com/alexgorkunov/s…
17:02@backendsecret например в ruby есть rabl, activemodel-serializers а у вас?
Нам хватает либо тегов на структурах данных, либо методов MarshalJSON/UnmarshalJSON на ней: golang.org/pkg/encoding/j… twitter.com/alexgorkunov/s…
17:04Пожалуй, к вечеру стоит сообщить, что свои первые строчки на Go я написал, когда работал в Microsoft. :)
19:16# Вторник 6 твитов
Утро для автора этого твиттера началось с письма счастья от DigitalOcean, в связи с чем у меня к вам опрос: вы проверяете свои бэкапы?
8:59@backendsecret единственный способ проверить бэкап раскатать бэкап. До того как бэкап не раскатан он не бэкап.
Как показала практика, делать это нужно регулярно, а не один раз. twitter.com/cluevick/statu…
9:10Реальная катастрофа. Ни одного желающего на вакансию программиста с зарплатой в 100000 рублей. moikrug.ru/vacancies/1000…11:04
@backendsecret автоматически тестирую с Ansible
Мы теперь тоже будем, ага :( twitter.com/dimaip/status/…
11:12Между тем Amazon сделал два больших анонса: aws.amazon.com/ru/lumberyard/ и aws.amazon.com/ru/gamelift/ Второе – опять бэкенд без опыта бэкенда
18:47@backendsecret Это же отлично. Меньше бакендов, больше продуктов.
И меньше бэкенд секретов :( twitter.com/freiksenet_ru/…
19:00# Среда 9 твитов
Утро для автора это твиттера опять началось с счастья, но на это раз не в переносном смысле. У меня сегодня ДР. :)
9:49Сегодня я должен стать на год умнее. Предыдущие ведущие, откройте секрет: как вы умудрялись вести этот твиттер и работать?..
9:51@backendsecret что думаешь о backend as a service?
Для разработчиков мобильных приложений – хороший способ валидации идеи. Но если полетело, надо быстрее слезать. twitter.com/nemons/status/…
10:12@backendsecret потому, что он рано или поздно закроется? :)
И это тоже. :) Ещё оно будет вас ограничивать. И стоимость будет расти стремительно. twitter.com/operatino/stat…
10:34@backendsecret хватит работать, давай жги в Твиттер! Я слышал что в GAE можно бесплатно захостить go и даже с БД. Какие ограничения?
Бесплатно только первая доза или с очень серьёзными квотами: cloud.google.com/appengine/docs… twitter.com/petrmyazin/sta…
11:02Ну и ограничения самого AppEngine, который PaaS. Например, Go там всё ещё 1.4.
11:04@backendsecret есть личный кабинет для b2b клиентов,max 1-2K хитов в день и база ~30К документов (счета/акты) - это влезет в бесплатный GAE?
Технически – да. Но у вас не будет никакой поддержки и SLA, что критично для b2b. twitter.com/petrmyazin/sta…
13:57Вы, наверное, часто задумывали сделать свой aaS, лучше существующих. Мой вам совет – сначала продайте его пользователям, а потом делайте.
14:07@backendsecret Если я продам пользователям то, чего у меня самого нет, я уже никогда не буду ничего делать :D (куча историй с кикстартера)
Нет, вы же продадите, например, подписку на месяц. Для жизни это мало. :) twitter.com/webholt/status…
14:12# Пятница 9 твитов
Наверняка в вашем бэкенде есть метрики и логи. Они вместе или отдельно? Извлекаете метрики из логов? (опрос)
11:56Опрос идёт, но вы так же можете писать почему вы так делаете. Буду ретвитеть.
12:19@backendsecret я 5 лет назад сделал aaS, который перед этим продал самому себе. С тех пор 5 лет им пользуюсь каждый месяц (менеджер финансов
А налоги заплатили с продажи? :) twitter.com/fodoj/status/6…
16:11Ок, большинство собирает метрики отдельно, а логи отдельно. А тексты ошибок и бэктрейсы исключений? (опрос)
16:22@backendsecret с fremium легко налоги платить
Под «продать» я имел ввиду за деньги, чтобы можно было зарабатывать. Себя убедить пользоваться своим aaS несложно twitter.com/fodoj/status/6…
16:38@backendsecret у меня они прилетают сразу в тикет в хелпдеске :)
При проблемах на сервисе ложится и хелпдеск? twitter.com/strizhechenko/…
16:39@backendsecret по логам можно\нужно делать статистический анализ, а по бек-трейсам дебажить
А зачем по логам статический анализ? Для метрик? twitter.com/d1b/status/698…
16:40@backendsecret дык это же error.log
А как собирать с нескольких серверов? twitter.com/de_gis/status/…
18:53Прямо сейчас мы пишем очередной выпуск @GolangShow, подключайтесь! golangshow.com/online/
21:58# Ссылки
other
- http://www.meetup.com/Golang-Moscow/
- http://4gophers.ru/slack
- http://4gophers.ru/
- https://groups.google.com/forum/#!forum/golang-ru
- http://zef.me/blog/6191/the-march-towards-go
- http://wtfjs.com/
- https://github.com/lib/pq
- https://developers.google.com/protocol-buffers/docs/proto3#json
- https://golang.org/pkg/encoding/json/
- https://golang.org/pkg/encoding/json/#NewDecoder
- https://moikrug.ru/vacancies/1000023776
- http://aws.amazon.com/ru/lumberyard/
- http://aws.amazon.com/ru/gamelift/
- https://cloud.google.com/appengine/docs/quotas
- https://golangshow.com/online/