dsimonov

10 августа 2015, Москва, Россия

# Понедельник 624 твита

Привет! @dsimonov с вами! Уважаемый @dcromster предложил подежурить тут недельку на правах perl бекенд-дева с некоторым опытом.

3:33

Рецепт отделения опытных дев-ов от неопытных - FizzBuzz test (гуглите!). Предлагаю желающим написать решение для него, умещающееся в твит.

3:39

.На бумажке, @iamale_ru!

3:41
@backendsecret (1..100).each do |i|
s = []
s << 'Fizz' if i % 3 == 0
s << 'Buzz' if i % 5 == 0
puts s.join unless s.empty?
end
4:00
@backendsecret f="Fizz"
b="Buzz"
p=print
for i in range(1,100):
if i%3==0 and i%5==0:p(f+b)
elif i%3==0:p(f)
elif i%5==0:p(b)
else:p(i)
4:24
@backendsecret d={1:"Fizz",3:"Buzz",4:"FizzBuzz"}
for i in range(1,100):
j=0
if i%3==0:j+=1
if i%5==0:j+=3
print(d.get(j,i))
еще:))
5:44
@backendsecret
f='Fuzz'
b='Buzz'
p={println it}
1.upto(100){i->
if(!(i%3+i%5)) p f+b
else if (!(i%3)) p f
else if(!(i%5)) p b
else p i
}
5:55
@backendsecret на прошлой неделе @jsunderhood обсуждал как взаимодействовать в удалённой команде. Расскажи свой опыт,plz // @freiksenet
7:13

.@dcromster @jsunderhood @freiksenet 5л опыта управления distributed russian teams помогли разобраться в бОльшей часть возникающих проблем.

7:18

.@dcromster @jsunderhood @freiksenet Мне проще отвечать на то, как решались конкретные проблемы. Жду описания проблем, - буду отвечать.

7:18
@backendsecret @dcromster @jsunderhood @freiksenet Именно команды были разделены или люди в командах тоже не были в офисах?
7:23

.@freiksenet_ru @dcromster @jsunderhood @freiksenet Все сотрудники сидели у себя дома в разных часовых поясах с рассеянием не более 3х часов

7:24
@backendsecret @dcromster @jsunderhood @freiksenet А сильно разделенные по часовым поясам команды были?
7:30

.@freiksenet_ru @dcromster @jsunderhood @freiksenet Рассеивание по часовым поясам составляло не более 3х часов.

7:31
@backendsecret давай сразу о боли:наша совместная работа, взаимодействие в команде, долгие ответы...
7:35

.@dcromster Боли, как таковой не было. Команда действовала в том максимуме эффективности, в каком вообще могла действовать.

7:35
@backendsecret не переходя на личности: как же с этим (долгими ответами) бороться?
7:39

.@dcromster Ни как. Разработчики действуют в привычном им ритме. Руководитель определяет процессы, задающие ритм. Это - максимум.

7:40

Тема дня - "задолбали!". Кто и в чём разочаровался в работе? Язык? Технологии? Менеджерьё? Стиль работы? Офис? Дом?

7:59
@backendsecret #!/usr/bin/python3
for i in range(1, 100):
print(("" if i%3 else "Fizz")+("" if i%5 else "Buzz") or i)
9:43
@backendsecret были ли у вас регулярные совместные обсуждения кроме рабочих? Чтобы разработчики лучше друг друга узнавали
11:49

.Срачики, @gusevr, у нас постоянны - в чатика, в утренних скрамах, ретроспективах и других созвонах. Задача: семь пудов соли вместе съесть!

11:53

.Это лучший способ получить сплочённую команду, @gusevr, в условия рассеянности по стране. Но я подумываю про некоторые методики от Steam.

11:55
@backendsecret В компании много небольших команд работающих над разными проектами/технологиями. Как собрать всех вместе? Hangouts или slack?
12:06

.Про slack, @gusevr, ничего не могу сказать, но их хвалят. У меня всё ни как руки не дойдут. Хенгаутс - точно гавно ( Телеграм хорош ещё!

12:08

.Могу ещё порекомендовать, @gusevr, тасовать народ между проектами. Также у меня есть практика сделать тематические чатики: беки, фронты...

12:10
@gusevr @backendsecret slack самое оно. Проекты разбить по channels
12:12
@dzaporozhets @backendsecret проекты по чатикам - это как раз чтобы разбить народ. А вот как всех объединить? Хотя бы на пол часа в неделю
12:35

.А всего народ сколько, @gusevr?

12:36
@backendsecret под хенгаутс больше имел ввиду вид общения: чат или видео. Стоит ли устраивать видео встречи? В рабочем процессе общения нет
13:00

.Видеовстречи показали себя отрицательно, @gusevr. Аудиосозвоны очень удобны, а видео - разочаровывает.

13:01
@backendsecret как мотивировать людей зайти на встречу?
13:01

.Проводите созвоны "ретроспективы" в контексте agile scrum, @gusevr! В них обычно заинтересованы все :)

13:02
@dzaporozhets @backendsecret вот получается, что рабочей необходимости в аудио-видео нет. Надо ли устраивать свободные темы?Как мотивировать
13:03

.А с чем вы боретесь такими встречами, @gusevr?

13:03
@backendsecret разработчиков 15-20
13:04

.При таком количестве обыкновенного созвона по скайпу хватит, @gusevr.

13:04
@backendsecret Есть традиционные каналы general/random для всех. Есть ретроспективы, но по проектам. А таких встреч пока нет. ...
14:31

.Очень хорошая тема для обсуждения, @gusevr! Давайте знакомиться с вами и вашими командами плотнее?

14:31

Привет всем
На этой недели с вами я Сергей Ланцман. Мне 30 лет, живу я в Израиле половина жизни.
Занимаюсь backen… twitter.com/i/web/status/9…

7:57

Люблю помогать Open source сообществу(когда есть время).
Пишу на Golang,Ruby,Python и так на всем где нет точек с запитой в конце.

7:57

О чем мы будем говорить

7:57

Начнем с того что делаем в Gett. Пишим офигеный продукт на котором можно уехать домой после веселой party или просто после тяжелой работы

8:13

Аппликация для заказа такси, работает в России, Израиль, Англия.
Приятная часть что это продукт b2c который пользуются друзья семья и сам

8:15

Просьба первая была про логи.
Мы тут не давно подняли решения для логов. Стандарный Elk только он большое на 1ТБ в день

8:28

Вообще решения такое
Filebeat => redis=> logstash => Elasticsearch + kibana
От logstash все бежит в kubernetes

8:31

Не люблю я elastic он подлый зверек. Его лудше в контейнер закрыть чтоб не будил по ночам. А еще лудше в кубернетес

8:33

Кубернете кластер для логов сделан так.
Есть 3 instance group.

8:37

3. Elasticsearch еще машины i3. 2xlarge для логов со вчера и до недели.

8:39

Elasticseach бежит в кубернетесе как daemon set, так что есть один на машины, и если пожнимаем еще машины то там вс… twitter.com/i/web/status/9…

8:41

Решения такого хватает на 1TB в день на неделю хранить с доставкой логов за несколько секунд
цена вопроса 6-7K$ в месяц в пользу амазона

8:44
@backendsecret А почему им сразу в редис не писать? Или торопиться некуда?

ну все нормальные лог библиотеки пишут на диск
во вторых диск всегда работает(пока не кончинтся) а далекий редис
о… twitter.com/i/web/status/9…

8:53
@backendsecret Вот тут бы подробнее про подлость.

ну как сказать
сказать что ES бежит и не ругается тяжело обычно
тем более если надо обновлять его или просто менят… twitter.com/i/web/status/9…

8:57
@backendsecret У вас есть a/b тесты основанные на логах? Как у вас аналитика логов устроена?

нет пока
тут с логами была длинная история
Свое рабочее решения стало рабочим несколько месяцев назад
теперь надо л… twitter.com/i/web/status/9…

9:01
@backendsecret Сколько народу у вас управляет log-инфраструктурой?

пол человека twitter.com/musuk/status/9…

9:05
@backendsecret Откуда берутся всякие там SuperGett?

Он еще жив? twitter.com/l0ldbl00d/stat…

9:24
@backendsecret Паспарту с форд боярда?

Вообще один человек на это,но когда закончим всякие вещи с логами то наверно пол времени человека хватит twitter.com/aarexer/status…

9:26
@backendsecret Я недавно краем уха услышал что такое вообще существует, до этого даже не задумывался. Много ли желающих обмануть систему?

В этой области есть деньги и клиенты, значет всегда будет желающие. Мы их видем и закрываем twitter.com/l0ldbl00d/stat…

9:28
@backendsecret А откуда тяжёлый поиск?

Приходит програмист и пишет хочу все логи за неделю где написано слово bug number...
Вот оно ищет на 7-8TB данных twitter.com/musuk/status/9…

9:29
@backendsecret Пару слов о том, как попал в Израиль и Gett

Семья переехала в Израиль давно а я сам через пару лет.
В Гетт попал не со всем нормальным способом про который ска… twitter.com/i/web/status/9…

9:43
@backendsecret В бэкэнде теперь девопсины, ну-ну.

Ну я до этого писал backend пару лет и сейчас пишу когда надо twitter.com/john_govno/sta…

9:54
@backendsecret На чем пишете, если не секрет?

В Гетт легаси на Рельсах а все новое на Golang, на фронте react. Js twitter.com/john_govno/sta…

9:57
@backendsecret С рельсы ушли по причине низкой производительности или из-за накопившегося техдолга?

1. Низкая производительность

10:00
@backendsecret как продакшн держите? Кластеры и тд. Интересно как архитектуру построили

Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…

10:20
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…

На все это смотрит elb. И так на каждый микросевис, куча инфры для одного микросервиса. Поэтому хотим все в куберне… twitter.com/i/web/status/9…

10:22
@backendsecret Re:2. Тяжело писать код когда много людей??
Как то странно..

Много людей пишут код по разному, много магии, не компилируется значет каждый рефактор проблема.
Человек заходит в… twitter.com/i/web/status/9…

10:28
@backendsecret Чем кубер не устраивает?

Всем устраивает, туда двигаемся. Уже на stage стоит кластер на 4500 pod их 60 нодов. Надеюсь скоро прод переведем twitter.com/truetobetrue/s…

10:37
@faces @backendsecret приложение было монолитом или распилено на сервисы/микросервисы?

Монолит, его до сих пор пилим, часть выпили в сервисы на релсах, последний год все новые пишутся на Го. twitter.com/john_govno/sta…

10:38
@backendsecret рассматривали как альтернативу go - elixir? он тоже компилируемый и хорошо подходит для тех у кого рубишный бэкграунд.

Да кстати параллельно с Го смотрели на elixir 3 года назад. Но тогда он был сырой и медленее Го. Потом он сложнее Г… twitter.com/i/web/status/9…

10:42
@backendsecret Re: 1. Не очень в теме Ruby, но часто это не проблема, а баланс скорости кода и скорости разработки.… twitter.com/i/web/status/9…

Можно переписать на C++ тогда у тебя будет много кода тут и там на C++.
Проблема больше была с обработкой запросов.… twitter.com/i/web/status/9…

10:55
@backendsecret В сторону elixir не смотрели ?

Смотрели уже ответил twitter.com/den4ikbyte/sta…

11:06

Кто какие средствами мониторинга пользуется?

11:09

Это как захотите только без русской клавиатуры twitter.com/PavelGermanov/…

11:09
@backendsecret Странно, что Grafana и Prometheus нету в списке

Хотел но было только 4 места :( twitter.com/cybran111/stat…

12:09
@backendsecret Re: 3. У вас в Москве нет разработки?

Есть, несколько команд. Набирают людей twitter.com/KostyaEsmukov/…

12:10
@backendsecret Ну, полагаю, code review для некомпилируемых языков не решит проблему. Тут, наверное, всё же юнит-те… twitter.com/i/web/status/9…

Частично решают а то что не решает идет в продакшин.
Особено с опцией method missing в руби twitter.com/CuredPlumbum/s…

12:12
Кто какие средствами мониторинга пользуется?

У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…

12:15
Кто какие средствами мониторинга пользуется?

Еще есть графана + influxdb
Но там только бизнес метрики twitter.com/backendsecret/…

12:16
@backendsecret использование магии в коде проекта - зло

Вот Го обратная сторона. Тут нет магие все есть в коде. Да приходится писать пару строчек больше кода, зато все пот… twitter.com/i/web/status/9…

12:28
@backendsecret Ну, вот да. Что хорошо для маленьких команд, убивает большое проекты.

Ну да, когда в Gett я пришол было 7 сервер разрабочиков, теперь через 3.5 думаю уже больше 50-60 так что магия тут… twitter.com/i/web/status/9…

12:30
У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…

Airbrake это вообще решение для бедных у которых нет нормальных логов. twitter.com/backendsecret/…

12:59

Проверяем сейчас datadog и там есть килер фича host map. Можно получить прикольные визуализации по системе и быстро

13:08

Поговорим о баз данных
куда же без них. Любой проэкт требует базу и важно выбрать правильно.
Базы как все знают можно делить на SQL и NoSQL

14:11

SQL: из моего опыта

14:13

SQL: из моего опыта

14:16

SQL: из моего опыта
3.Postgresq-Много функциальная база.Много функции как свои типы. Прекрасная работа с JSON и луд… twitter.com/i/web/status/9…

14:22

NoSQL:

14:38

NoSQL:

14:43
@backendsecret С какими проблемами вы сталкивались?

1. Демократия - выборы часто между мастерами

15:02
@backendsecret зачем вы сообщает о том, что у водителя сегодня день рождения?

Ну вещь маленькая но приятная. Кстати я когда то спрашивал на собеседование на разогрев как написать метод который… twitter.com/i/web/status/9…

15:20
@backendsecret а в чем заключается поддержка json?
15:23

Из минусов редиса.
Его реально можно скалить больше чем одно ядро только с помощью client sharding. Остальные вариа… twitter.com/i/web/status/9…

15:30

Вообще у редиса хорошая и понятная документация, я тут на выходных нашел что `echo never > /sys/kernel/mm/transpare… twitter.com/i/web/status/9…

15:35

Вообще можно сделать чтоб было одно ядро отдельно только для редиса, если у вас машины с редисов нагруженым. Тогда… twitter.com/i/web/status/9…

15:37
@backendsecret Так в этом и суть скорости редиса, что он только в одно ядро может

Согласен но когда становится больше миллиона запросов в редис в минуту то тут приходится выбирать что важнее twitter.com/L0ndra_/status…

15:39
@backendsecret Так а чего вредного?

Настройки реплик по сравнению с mysql сложнее, миграции на большие нагруженые таблицы, долгое поднятие на старте. И… twitter.com/i/web/status/9…

15:47

Облачные сервисы дают выбор машин из расчёта что средняя сервис на 2 ядра не с может выдать больше чем XXXmb/s по с… twitter.com/i/web/status/9…

15:54

Приходится ставить 16 ядерную машину на 1 ядерные редис чтою получить много сети от амазона

15:55

Потому что сеть забита

15:56
@backendsecret А расскажите, используют ли у вас C# и .NET и если да то как?

Нету такого, у нас все со времен когда линукс и мелкософт не дружили twitter.com/MurcielagoCat/…

15:58

Расскажу про наш стек в Gett. 99% в амазоне, в одном из европейских регионаз.
Rds
Ec2
Kinesis
S3
Это в на чем прод… twitter.com/i/web/status/9…

16:13

Базы данных в Gett
Mysql - легаси но пока что важный еще
postgresql - по дефолты на новых, в основном из за json и… twitter.com/i/web/status/9…

16:16

Еще есть mongodb в одном месте но это вообше легаси старое

16:17

Языки програмирования в Gett

16:24

Версии ruby у нас почти везде 2.3
Монолит на 2.1.9, когда то он был на 1.9.3 и обновление дало примерно +40% к скор… twitter.com/i/web/status/9…

16:54

Golang поднялся в прод первый сервис года 3 назад. Это еще был 1.3 версия, так что мы прошли от 1.3 до 1.9 прирост… twitter.com/i/web/status/9…

17:02

в Го сервисах мы используем следущие библиотеки
beego
gorm
lib/pq
go-redis
logrus
ginkgo
viper

17:30

А как вы держите код своих сервисов?
У нас для каждого сервиса свой репо и всего таких примерно ~90

17:34

продолжения про NoSQL базы
Я тут не давно решил локально попробывать CockroachDB. Взял их пример установки в куб
По… twitter.com/i/web/status/9…

18:32

потом делаю с 10 на 3 и тут
`Connection to CockroachDB node lost.` на минут 10
думаю понятно не все так красиво к… twitter.com/i/web/status/9…

18:33

Вот тот самый host map c datadog 😍 pic.twitter.com/VVMBqiAVNh

18:57

К продолжению оптимизации работы с редисом. В редис часто кидаются обьекты ввиде JSON для кеша или других функции.… twitter.com/i/web/status/9…

19:08

msgpack еще и занимет меньше место в редисе
вообще вот тут есть хорошие бенчмарки для сериализаций на Го
github.com/alecthomas/go_…

19:09

Темы на завтра?

19:46
@backendsecret вы же на aws? там жеж вроде очень дорого выходит?

да не очень дешего вообще по минимум у нас 2 сервера m4.large на сервис один из них спот. Если надо больше он подни… twitter.com/i/web/status/9…

20:13
@backendsecret Всё, кроме ЯП

Согласен страшная тема но посмотрит что народ хочет
@Alex0007lolpvp
like за аватар твой 👌 twitter.com/Alex0007lolpvp…

20:16

life hack для github
удобнее код читать на гитхабе вечером когда гитхаб черный
есть плагин на хром которой меняет т… twitter.com/i/web/status/9…

20:54

Stylus называется

20:54
@backendsecret Почему не используете elasticcashe, а сами редис ставите?

Был плохой опыт,

21:42
@backendsecret "Gett reference program:
приведи друга - получи 100 000 рублей!🎉Hr только написала. Есть ли у вас во… twitter.com/i/web/status/9…

А ты думаешь HR хатеры меньше стоят? Кстати мне как работнику как то дали 1000$ за то что друга привел и он прошёл… twitter.com/i/web/status/9…

21:53

Может кто еще не видел но тут есть прикольные IT комиксы
turnoff.us

4:56

Вот один из хороших pic.twitter.com/defbvthARn

5:08
@backendsecret а AI который будет делать вашу работу за вас не пугает?)

Нет потому что я инитиативный и не предсказуем. AI для этого еще далеко
И потом я шутить умееюа оно нет twitter.com/gleb_kosteiko/…

5:29

Наверно пришло время прощатся.
С вами был Сергей Ланцман.
Прошу прощения за ошибки в великом могучем языке.
Мне бы… twitter.com/i/web/status/9…

8:01

Всем привет! На этой неделе с вами @KostyaEsmukov из Казани. Поговорим об Ansible, Django и немного о фронтенде.

8:20

Работаю в небольшой организации "Наше Дело" над несколькими проектами, в том числе над добровольцыроссии.рф

8:20

Примерный план на неделю:

8:20

Также в этом году я заканчиваю КФУ. В универе занимаюсь всяким IoT-ом на линуксах, в основном вокруг VPN.

Задавайте вопросы :)

8:20

В качестве git remote и CI используем self-hosted gitlab-ce (не gitlab.com, который периодически падае… twitter.com/i/web/status/9…

8:34

В обслуживании неприхотлив, обновляется тупо пуллом образа и пересозданием контейнера.
docs.gitlab.com/omnibus/docker…

8:34

При желании docker registry и CI раннеры можно без проблем вынести отдельно на другие машины. Интеграция с Jira аде… twitter.com/i/web/status/9…

8:34

Во-первых, CE версия урезана. Нету даже такой простой штуки, как Rebase вместо Merge commit при принятии Merge рекв… twitter.com/i/web/status/9…

8:34

Но можно запретить Merge коммиты кроме fast-forward, если нужна линейная история. Тогда rebase надо делать локально… twitter.com/i/web/status/9…

8:34

Во-вторых, мультиреповых пайплайнов в CE нет. Но есть в EE: docs.gitlab.com/ee/ci/multi_pr…

8:34

В одном проекте было так: Django апп в одном репе, а деплоящий его ansible в другом. В Django репе последним шагом… twitter.com/i/web/status/9…

8:34

Сейчас мы делаем иначе. Ансибл отдельным репом по-прежнему есть, но он не деплоит апп, а просто готовит сервер и пи… twitter.com/i/web/status/9…

8:34

Сначала это был простейший docker-compose, который выкинули из-за того, что он не способен без диких костылей в zero downtime deployment.

8:35

Поигрались с docker swarm, пострессили его и поняли, что такое в прод мы не готовы брать. Это было в октябре 2017,… twitter.com/i/web/status/9…

8:35

Вместо docker-compose засунули маленький ансибл, который деплоит только докер контейнеры с аппом. Как композ, тольк… twitter.com/i/web/status/9…

8:35

Из нюансов такого решения могу отметить то, что приходится дублировать inventory (хосты, куда деплоить) между основ… twitter.com/i/web/status/9…

8:35

В-третьих, CI все-таки довольно простенький. Для наших нужд (прогнать тесты, собрать докер образ, запушить в приват… twitter.com/i/web/status/9…

8:35

На практике ничего от этого у нас еще не падало, но для страховки, и чтобы раннеры не забивались, отменяем руками п… twitter.com/i/web/status/9…

8:35

Раннеры CI могут запускать jobs прямо в докере, а не локально. Для этого используют docker executor, а в репе в .gi… twitter.com/i/web/status/9…

8:35

1. Docker-in-docker (DinD)
Он плох тем, что нельзя использовать docker caching (реюз существующих слоев при сборке… twitter.com/i/web/status/9…

8:35

Да и контейнеры с jobs надо запускать с privileged флагом, что не делает DinD более безопасным. И вообще этот вариа… twitter.com/i/web/status/9…

8:35

2. Проброс /var/run/docker.sock в контейнеры раннеров, что позволяет собирать на хостовом docker daemon.
Этот вариа… twitter.com/i/web/status/9…

8:35

Но проблема решается просто: выносите раннер на отдельную виртуалку, где больше ничего нет, и живете спокойно.

8:35

Про докер добавлю, что если использовать ровно одну машину для раннеров, то кеширование слоев докера работает надеж… twitter.com/i/web/status/9…

8:35

На машине с раннером раз в неделю чистятся все образы и контейнеры в докере, иначе он быстро забивается.

8:35

В-четвертых, docker registry не чистится от старых образов прям совсем. Из вариантов – либо руками тыкать "удалить"… twitter.com/i/web/status/9…

8:35
@backendsecret Пробовал в BARS Group устраиваться? Debian или CentOS? Vim, Emacs, Sublime или PyCharm?

1. нет, мне и тут хорошо :)

8:41

Однажды, прямо в разгар рабочего дня, наш гитлаб начал сыпать ошибками. Вроде без всякой видимой причины.

8:48

По логам обнаружили, что, оказывается, там есть врубленный по дефолту гем rack-attack, который заблочил наш nginx п… twitter.com/i/web/status/9…

8:48
@backendsecret А что скажешь по kubernetes?

Поглядываем, но пока страшно. Экспертизы у нас по нему нет. На наших масштабах <10 машин на проект с ансиблом, каже… twitter.com/i/web/status/9…

9:58
@backendsecret У вас не блюгрин деплой ?

Нет. Накат прошлой версии из гитлаба занимает ~1-2 минуты нажатием на одну кнопку. Пригодилось всего один раз.

Так… twitter.com/i/web/status/9…

10:26

На одной машине за nginx работает по два апстрима веб аппа. Сначала ансибл gracefully прибивает один, обновляет его… twitter.com/i/web/status/9…

10:26

По сравнению с гитхабом, гитлабу, на мой взгляд, очень не хватает reviews, когда все комменты отправляются автору о… twitter.com/i/web/status/9…

14:30

Но зато у гитлаба есть клевая, на мой взгляд, фича: можно смотреть дифф между форс пушами (они называют это version… twitter.com/i/web/status/9…

14:30

Как ускорить сборку докер образов:

14:39

1. Как работает кеширование слоев можно почитать тут:
docs.docker.com/engine/usergui…

14:39

Не очень очевидный трюк здесь заключается в том, чтобы сначала добавить в образ файл с зависимостями вашего приложе… twitter.com/i/web/status/9…

14:39

Если файл с зависимостями меняется редко, то эти слои будут реюзаться, т.о. не вызывая установку зависимостей при каждом билде.

14:39

2. Зависимости могут компилироваться из исходников при установке. Например, psycopg2 (PG клиент) в python. Но вмест… twitter.com/i/web/status/9…

14:39

Если все подобные зависимости ставить в бинарном виде, то это ускоряет холодный билд.

Однако, здесь есть нюанс. Ес… twitter.com/i/web/status/9…

14:39

А вам приходится использовать докер образы от левых людей в проде? Не страшно?

14:40

А если завтра этот ноунейм автор туда фигню запушит? Можно пулить по неизменяемому digest образа, но нетегированные… twitter.com/i/web/status/9…

14:53
@backendsecret Что в swarm для вас было критично?

1. так и не получилось сделать 0dtd на нескольких нодах: все равно валились ошибки github.com/moby/moby/issu…

15:03

Из проблем с докером я сталкивался с такими:

15:30

1. Периодические сообщения в wall "unregister_netdevice: waiting for lo to become free". Что-то течёт в ядре и до с… twitter.com/i/web/status/9…

15:30

CentOS вообще из-за этой проблемы под небольшой нагрузкой начинал флудить (раз в 10 сек) этими сообщениями и перест… twitter.com/i/web/status/9…

15:30

На дебианах-убунтах такого не было у нас – наблюдаются просто одиночные сообщения без видимых последствий.

15:30

2. Если в системе есть роут 0.0.0.0/0 (от OpenVPN, например), то при старте докер демон не может найти свободную по… twitter.com/i/web/status/9…

15:30

3. Иногда докер не может удалить контейнер с ошибкой "device or resource busy". Чаще всего это проявляется на CentO… twitter.com/i/web/status/9…

15:30

В доках для RHEL рекомендуют devicemapper с LVM, но для ядра 4+ можно юзать нынче дефолтный overlay2.… twitter.com/i/web/status/9…

15:30

4. Если один контейнер высовывает с хоста UDP порт (53 для DNS, например), а из другого попытаться отправить на хос… twitter.com/i/web/status/9…

15:30

5. После появления multi-platform images ( blog.docker.com/2017/09/docker… ) иногда при пуле официальных образов вылезает о… twitter.com/i/web/status/9…

15:30

Полчаса приходится ждать, пока оно там у них соберется и запушится: github.com/docker-library…

15:30

6. Если собирать в образ какую-нибудь фигню с дикими флагами оптимизации (раньше phalcon так делал), то при запуске… twitter.com/i/web/status/9…

15:30

2, 4, 6 выявляются на этапе внедрения, это не критично.
1 даунтаймы только на CentOS вызывало, и то полтора года на… twitter.com/i/web/status/9…

15:30
@backendsecret docker tag noname/image:tag myname/image:tag
docker push myname/image:tag

Это после обязательного… twitter.com/i/web/status/9…

15:32
Wow that was fast, here’s the video from my keynote this morning youtu.be/7mzbIOtcIaQ

BTW If you haven’t seen yet this keynote by @jessfraz with some insights on containers history and security – I’d r… twitter.com/i/web/status/9…

15:34

Python/Django локально разрабатываем в докере с композом. PyCharm нормально подцепляет все зависимости, подсказки р… twitter.com/i/web/status/9…

19:50

А вот фронт делаем без докера. npm i + npm start – и так проще некуда. Зато проблемы докер тут доставляет: прокинут… twitter.com/i/web/status/9…

19:50

Ansible. Начну с хорошего: он работает :)
Разобраться в нем довольно легко за день-два. Поведение предсказуемо.
Пос… twitter.com/i/web/status/9…

20:01

Но вот поддержка гораздо сложнее: не могу сказать, что за 1.5 года у меня появилась хоть какая-либо уверенность в т… twitter.com/i/web/status/9…

20:01

Итак, по порядку:

  1. Очень легко наговнокодить. Прям слишком.

Можно кучу плейбуков плодить 🤢 вместо одного с тэгам…twitter.com/i/web/status/9…w

20:01

Тщательное изучение Best Practices (и доков в целом) просто обязательно, иначе с граблей не сойдёте: docs.ansible.com/ansible/latest…

20:01

Особое внимание хочу обратить на паттерн "Variables and Vaults" из дока выше. Он позволяет сделать все переменные,… twitter.com/i/web/status/9…

20:01

Есть, конечно, Single Encrypted Variables, но выглядит это не очень приятно (имхо): docs.ansible.com/ansible/latest…

20:01

Также не все знают, что есть такие штуки как:

20:01

И самое наболевшее: это когда кладешь сертификаты файлами в роли. Приходится писать жуткую логику, которая разрулив… twitter.com/i/web/status/9…

20:01

2. Логика в set_fact в ямле выглядит ужасно. Плохо форматируется, мало возможностей (ограничены jinja2 фильтрами +… twitter.com/i/web/status/9…

20:01

3. Python 2 vs 3. Оно влияет на плейбуки. Например, в Pyhton2 jinja2 фильтры возвращают листы. А в Python3 – генера… twitter.com/i/web/status/9…

20:01

4. Роли в Galaxy довольно сомнительного качества. Хороших мало. То они на конкретный дистрибутив (не твой), то тест… twitter.com/i/web/status/9…

20:01

5. С тестами довольно тяжело. У нас их на ансибле совсем нет. Вместо этого отлаживаем на стейджинге, и лишь потом н… twitter.com/i/web/status/9…

20:01

Пробовали молекулу, но она [была в сентябре 2017] довольно сырая: то свежий ансибл не поддерживается, то линтер пад… twitter.com/i/web/status/9…

20:01

Еще у них очень клёвый роадмап. Приз ребятам за находчивость! Жаль, что на работе такое не прокатит.… twitter.com/i/web/status/9…

20:01

Также, судя по всему, они нашли "фатальный недостаток" в galaxy и запилили свой пакетный менеджер: gilt.readthedocs.io/en/latest/

20:01
@backendsecret зачетный дизайн у блога.

Хах, спасибо. twitter.com/wrong_habits/s…

7:09
@backendsecret Давай начнём с начала. Что такое девопс?

Ого, я думал уже всех задолбал девопс как таковой. Ладно, начнем с этого. Думаю, я найду что сказать. twitter.com/biomehanik/sta…

7:12

Есть одна существенная ошибка в способе взаимодействия с миром и обучении: часто нас учат определениям не объясняя… twitter.com/i/web/status/9…

7:22

Давным-давно (впрочем, и сейчас) у бизнеса была такая проблема - высокий TTM, то есть time-to-market, который очень… twitter.com/i/web/status/9…

7:30

Ну звучит это достаточно неприятно. И все бы хорошо, если бы они просто писали быстрее код, а тут выясняется что он… twitter.com/i/web/status/9…

7:31

И умные дяди и тёти задумались: как нам можно уменьшить свой TTM?

Ну можно давать людям больше денег. Попробовали… twitter.com/i/web/status/9…

7:33

И этим человеком был Альберт Эйнштейн. Хотя нет, я не знаю кто был этим человеком, но он молодец и вообще +100500 в карму ему.

7:34

Когда начали разбираться оказалось что проблемы какие решает девопс описал ещё Крылов. pic.twitter.com/AmOzPkqgg1

7:36

Картинку можно описать так: в общем случае, даже если все очень сильно стараются, но тянут в разные стороны, то биз… twitter.com/i/web/status/9…

7:38

Сейчас уже можно уверенно говорить что девопс возник как попытка управлять приоритетами. Ведь не так давно даже сам… twitter.com/i/web/status/9…

7:41

Но вот наконец-то кто-то подумал: “хм, если сисадмины отвечают своими бонусами за стабильность, то у них же появитс… twitter.com/i/web/status/9…

7:43

Ну и это была достаточно неплохая мысль. Потому что я частенько видел как девелоперы пропихивали изменения всеми си… twitter.com/i/web/status/9…

7:48

То есть если говорить исторически, то девопс возник как способ уменьшения TTM и как обьединение приоритетов для дев… twitter.com/i/web/status/9…

7:50
@backendsecret Ну так правильно, девелоперы накосячат а потом тыкают пальцем в админов, нам потом разгребать это всё говно :)

Классический пример сисадминства. Но я уверен что он не со зла. Просто если ты отвечаешь за что-то, на что ты не мо… twitter.com/i/web/status/9…

7:52

И объединять приоритеты оказалось очень выгодно. А после того как всех объединили, то потихоньку из одного лагеря в… twitter.com/i/web/status/9…

7:56

Но после того как этих практик набралось достаточное количество, проявилась другая проблема: много людей хотят ново… twitter.com/i/web/status/9…

7:59

Я понимаю что это звучит немного тупо. Типа как фьючерсы с биткоинами. Но фактически даже потеряв основную идею ока… twitter.com/i/web/status/9…

8:00

К этому быстро подключились разные аутсорсинг компании. И не потому что им выгодно продавать “новых сисадминов”, а… twitter.com/i/web/status/9…

8:03

Таким образом у нас сейчас живет параллельно несколько версий девопса: “девопс управления приоритетами” и “девопс п… twitter.com/i/web/status/9…

8:08

Собственно доказательство моих слов о приоритетах - у многих сисадминов с стажем, которые уже “говна поели” есть оп… twitter.com/i/web/status/9…

8:11

Потому что бонус блокировки изменений это то за что тебя уволят в любом жизнеспособном современном бизнесе, в котор… twitter.com/i/web/status/9…

8:12
@backendsecret Это какой-то callback hell, только не из колбеков, а из девопсов.

Угу, но я вот не виноват что я последний. Я достаточно давно записался на февраль и в основном потому что не было в… twitter.com/i/web/status/9…

8:15

И тут мы получаем достаточно интересную картину: в случае “devops управления приоритетами” отдельного отдела DevOps… twitter.com/i/web/status/9…

8:18

Хорошо было бы как-то разделить и называть девопс приоритетов и девопс технологий разными словами. Но вот сложилось… twitter.com/i/web/status/9…

8:20

Так что, отвечая на утренний вопрос, если бы меня спросил некий создатель мироздания: “Сева, выбери каких людей наз… twitter.com/i/web/status/9…

8:22

И эта путаница в общем приводит... к путанице. Я даже встречал QA инженеров которых называли девопсамм.

8:48

Ну как, может хватит о девопсе? Это достаточно просто если один раз понять :)

8:49
@backendsecret То есть ДевОпсы - это люди, которые помопределениб ничего не делают?

Ну вот. Пол часа писал определение и что все сложно и под одним определением скрывается несколько разных понятий. И… twitter.com/i/web/status/9…

9:02

ДевОпс часто связывают с культурой. Хотя, если честно, то мне кажется что культура это скорее симптом успешности внедрения, чем цель.

9:25

Как вы думаете, почему много бизнесов стараются строить культуру общения и корпоративную культуру?

9:25
@backendsecret потому что это проще чем заниматься чем-то действительно полезным?

Хаха, нет. Если бы было так, то выжили бы компании, которые не строят культуру ибо эволюция. twitter.com/50megatonn/sta…

9:28

Именно. А ещё? twitter.com/mtrklb/status/…

9:29
@backendsecret Для повышения уровня доверия между всеми участниками процесса. Больше доверия - меньше издержек на ф… twitter.com/i/web/status/9…
9:34
@backendsecret большое количество людей как парвило в HR которым нечем занаять свое рабочее время? это если мы о ос… twitter.com/i/web/status/9…

Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…

9:38
Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…

Возможно это потому что много людей не рассматривают карго культ как экстремальное отклонение обезьянничества, кото… twitter.com/i/web/status/9…

9:42
@backendsecret Надо отличать корпоративную культуру от корпшизы вроде распевания лозунгов по утрам.
Корп. культура… twitter.com/i/web/status/9…
9:44
@backendsecret Если ваша компания географически расположена в одном месте и у неё менее 500 сотрудников, то корпора… twitter.com/i/web/status/9…

Ну вот я считаю по другому. Потому что корпоративная культура очень сильно упрощает хайринг. Намного проще нанимать… twitter.com/i/web/status/9…

9:46
@backendsecret При большой численности начинается менеджмент разных уровней, с разными зонами ответственности, эшел… twitter.com/i/web/status/9…
9:47

Еще культура помогает нанимать людей. Потому что многие из нас хотят кроме денег еще получать и удовольствие от раб… twitter.com/i/web/status/9…

9:52
@backendsecret Имхо,корп культура - это абсолютное зло,привязывающее человека к определенной компании, создающее ло… twitter.com/i/web/status/9…

Возможно это зло для работника, потому что иногда может быть обманом. Но зло ли это для работодателя, если позволяе… twitter.com/i/web/status/9…

9:53
@backendsecret А много людей могут сделать так чтобы сотрудники не понимали что это кривой способ манипуляции? если… twitter.com/i/web/status/9…
9:59

Окей. То есть мы пришли к тому что культура в компании это:

Упрощение общения между отделами за счет “создания од… twitter.com/i/web/status/9…

10:01
@backendsecret эммммм... нет. удовольствие от работы напрямую от централизованной корп культуры не зависит/зависит… twitter.com/i/web/status/9…

Общение внутри команды сильно зависит от общения команды с другими командами. Аналогично и задачи точно так же от э… twitter.com/i/web/status/9…

10:03
@backendsecret Сугубо ИМХО корп. культура - это о протоколах общения между абсолютно незнакомыми людьми, никогда др… twitter.com/i/web/status/9…

Вот этого ответа я и добивался. Вообще иногда стоит рассматривать все общение как обмен информацией. То есть разраб… twitter.com/i/web/status/9…

10:07

Вообще интересно. Мне тут столько сообщений накидали люди у которых очень неудачный опыт с корп культурой был. Но н… twitter.com/i/web/status/9…

10:14

И вот вопрос - можно ли считать форсирование единого языка программирования частью корп. культуры?

10:16
@backendsecret Ау, дорогой мой, исходный текст программы - это не чатик. Им программисты не общаются, а всё-таки задачи решают :)

Ну это не точно. Вообще программы чаще читают чем пишут. Поэтому культура написания кода это тоже часть корпоративн… twitter.com/i/web/status/9…

10:24
@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…
10:44
@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…

Ну то есть слишком много чего угодно это плохо. m.youtube.com/watch?v=Wy4ySt… twitter.com/MurcielagoCat/…

10:45

Следующие два ретвита это следствие путаницы понимания девопса. То есть я встречал организации которые релиз инженеров называют девопсами

10:57
@backendsecret Ну и хрень. Девопс появился как ещё одна часть разделения труда. Грубо говоря когда деплой, CI и все… twitter.com/i/web/status/9…
10:57
@backendsecret А сисадмины все это брать на себя не горят желанием. У них и так своих задач хватает.
10:57

Хотя как по мне отдел можно называть хоть вертолётными войсками хоббитов, если вы понимаете что этот отдел делает.… twitter.com/i/web/status/9…

11:00

Ну то есть мой вопрос можно переформулировать: влияют ли инженерные практики на корпоративную культуру? А наоборот?… twitter.com/i/web/status/9…

12:29

Готовы ли вы строить корпоративную культуру если вы бы могли сами на неё влиять и формировать?

12:32
@otokarev @backendsecret В общем сотрудники тоже её строят. Корпоративная культура существует независимо от того занимаются ли ей или нет.

Аналогично и про культуру кода. Ведь все согласны что ее надо строить? twitter.com/Sigiller/statu…

12:40
@Sigiller @backendsecret Соглашусь. И наверное, идеальный случай, если самый главный босс умеет строить корп.культу… twitter.com/i/web/status/9…

Сильна вера в доброго царя. Впрочем, я не спорю, тирания при лидере который знает что делает может быть очень эффек… twitter.com/i/web/status/9…

12:58

Часто сталкиваюсь с таким противопоставлением. В тоже время с точки зрения людей которые делают такую культуру – ку… twitter.com/i/web/status/9…

13:00

С другой стороны, какие альтернативы корпоративной культуре вы знаете для решения тех же проблем?

13:19

Часто слышу спор о том кто такой хороший программист: одни говорят что это инженер, который хорошо решает инженерны… twitter.com/i/web/status/9…

13:23
@backendsecret эх, а у нас тут с коллегой программистом холивар разгорелся, думал хоть кто еще мнение подкинет)

У человека тут спор в чем отличие продуктовой компании от аутсорса. Поможем? twitter.com/pgrekovich/sta…

13:34
@AstarothAst @backendsecret Самые проблемные разработчики те, что не понимают смысла работы манагеров

Часто это из-за надменности. Типа я тут код ворочаю и в чертогах разума удерживаю тысячи деталей. А что там менедже… twitter.com/i/web/status/9…

13:36

И вот после этого давайте говорить о мониторинге и бекенде. Я считаю, что девелоперы должны сами мониторить свой ко… twitter.com/i/web/status/9…

13:42

Интересно, много людей прочитают мой следующий твит? Хотя я и считаю что депелоперы должны мониторить свой код, но… twitter.com/i/web/status/9…

13:44

Так вот. Девелоперы должны мониторить потому что в принципе только они и понимают как работает их код. И им намного… twitter.com/i/web/status/9…

14:07

В противном случае это выглядит как передача слишком большого количества информации между командами: в одну сторону… twitter.com/i/web/status/9…

14:09
My lightning talk from FOSDEM'18 "What's new in Graphite 1.1": Video - youtu.be/dCKV-ugK1_c , slides -… twitter.com/i/web/status/9…

Я еще буду рандомные полезные ссылки скидывать время от времени. Ок?

Доклад от @deniszh о том что нового появилос… twitter.com/i/web/status/9…

14:10

А где много передачи данных между командами там батлнеки и медленно все. В итоге опсы\админы могут напилить огромну… twitter.com/i/web/status/9…

14:12

Возникает другая сложность – мониторить код оказывается не очень-то и просто. А девелоперы думают что достаточно до… twitter.com/i/web/status/9…

14:19
@backendsecret а что такое "мониторить код"?
Мониторить сервис, который реализован этим кодом или мониторить состоя… twitter.com/i/web/status/9…

Мониторить сервис конечно же. twitter.com/maxbeard12/sta…

14:27
@backendsecret Ну по идее архитектор (тот кто главный за тех.чать: CTO или глав.инженер) должен предусмотреть и мон… twitter.com/i/web/status/9…

Предусмотреть до уровня “вот в этой функции пишете каунтеры, а в этой и каунтеры, и таймеры”? twitter.com/otokarev/statu…

14:30

Тем временем вышла пятая графана! Ура! docs.grafana.org/guides/whats-n…

18:46
@backendsecret А где тут противоречие? Инженер это не только тот, кто у кульмана с карандашом стоит и может цельног… twitter.com/i/web/status/9…
19:17
@backendsecret У вас неправильное противопоставление. Инженерные задачи всегда подразумевают требования бизнеса. В… twitter.com/i/web/status/9…
21:16
@backendsecret При это я считаю глупостью, когда говорят, что инженер принимает бизнес-решения. Он их не принимает,… twitter.com/i/web/status/9…
21:16

Всем привет, на этой неделе буду я - Женя Лазин, independent contractor в Bloomberg LP и автор проекта Akumuli (github.com/akumuli/Akumuli).

5:59

Примерный план на неделю в одной картинке pic.twitter.com/Xif68PqNAg

6:02

Здравствуйте, меня зовут Женя и я ал^W почти каждый день пишу код на С++ последние 13 лет.

6:16

Несмотря на весь прогресс, все по прежнему плохо. Инфраструктура и рядом не стояла по сравнению с Go, Js и прочей е… twitter.com/i/web/status/9…

6:18

Да, кстати, IDE для С++ по прежнему оставляют желать лучшего. Даже CLion - так себе. Более или менее работают (не с… twitter.com/i/web/status/9…

6:20

С другой стороны, с тулингом все стало довольно неплохо. CMake, CLang, sanitizers (thread/address/UB).

6:23

C++ это ужасный (но иногда единственный) выбор для OSS проекта. Ужасный потому что людей, способных реализовать сло… twitter.com/i/web/status/9…

6:26

Каждый проект, мой в том числе, реализует свой собственный стек для сборки, тестирования и распространения, с котор… twitter.com/i/web/status/9…

6:28

Управление зависимостями это отдельная тема. Во первых его нет. Если вы пишете код в Linux то все не так печально,… twitter.com/i/web/status/9…

6:30

Скажем в Ubuntu 16.04 есть свежий lz4 который умеет streaming, вы написали код, сделали git push, а на CI у вас Ubu… twitter.com/i/web/status/9…

6:32

Вы собрали свой deb пакет и положили его в свой ppa репозиторий для убунты. Через неделю приходит чувак, который ис… twitter.com/i/web/status/9…

6:33
@backendsecret что на счет rust

я уже пишу на с++, зачем мне еще один? :) twitter.com/zysyg/status/9…

6:36
@backendsecret lifetimes, borrow checker, и прочие фишки, не дающие выстрелить себе в ногу и сделать всякие use after free?

Не помню когда в последний раз делал ошибку, которую это все могло бы предотсвратить. Ну и еще у меня есть coverity… twitter.com/i/web/status/9…

6:45

Ничего не скажу, чтобы не соврать. Не использовал достаточно долго, чтобы иметь свое мнение. twitter.com/__pewpew__/sta…

6:46
@backendsecret C++, большие деньги и маленькие задержки?

и большая куча legacy twitter.com/krems5/status/…

6:46

Помимо этого, когда я в последний раз на него смотрел, там было принято писать кучу unsafe кода. Это малость defeat… twitter.com/i/web/status/9…

6:50

Иллюстрация того, насколько все плохо - github.com/RoaringBitmap/…. Авторы проекта добавили специальный скрипт, собира… twitter.com/i/web/status/9…

6:56

Можно использовать git submodules, но это работает только если зависимость использует ту же систему сборки что и вы… twitter.com/i/web/status/9…

6:59

Самая жопа это конечно packaging. Я собираю пакеты на CI сервере и раздаю их через packagecloud.io, помимо… twitter.com/i/web/status/9…

7:08
@backendsecret В bazel эту проблему частично победили. Там можно делать ссылки на внешние репозитории в гите и подк… twitter.com/i/web/status/9…
7:09
@backendsecret Собственно то, почему люди и любят докер.

Ну в общем да, но он решает половину проблем. Он не решает проблему управления зависимостями. twitter.com/ctrlok/status/…

7:15

Пожалуй расскажу немного о достоинствах, о том почему я написал Akumuli на С++. Итак.. 1/n

7:51
@backendsecret Неужели настолько необходимо разрабатывать на батарейке? У меня практически всегда есть розетка под… twitter.com/i/web/status/9…

Я как-то летел в самолете 8 часов (+/-) и почти все время писал код в QtCreator, который был запущен в VMware Playe… twitter.com/i/web/status/9…

7:56

Во первых это тулинг. GNU tool-chain, LLVM tool-chain, CMake, valgrind, linux-tools и тд. Скажем, GCC сейчас умеет… twitter.com/i/web/status/9…

9:29

Я могу запустить свое приложение и построить профиль производительности, в котором можно будет увидеть не только вр… twitter.com/i/web/status/9…

9:32

гонки, UB и тд.
Второе преимущество это interoperability. Можно без проблем использовать любую библитеку с Сишным и… twitter.com/i/web/status/9…

9:34

попробуйте сделать динамическую библиотеку на Go или чем нибудь еще кроме Си или С++. Вам придется из-за одной библ… twitter.com/i/web/status/9…

9:35

В Akumuli у меня есть библиотека, в которой живет весь код БД, поэтому БД можно использовать как встраиваемую, поэт… twitter.com/i/web/status/9…

9:37
@backendsecret Давай сразу по делу.
1/ женщина может быть программистом?
2/ на собеседовании просишь писать код н… twitter.com/i/web/status/9…

1/ любая конкретная женщина может быть, а может не быть программистом
2/ мы даем компьютер
3/ ни о чем не говорит в… twitter.com/i/web/status/9…

9:40
@backendsecret на Rust можно

Можно, но она потянет за собой его runtime. Не думаю что это большая проблема, но все же. Помимо этого, существуют… twitter.com/i/web/status/9…

9:45

Мне тут подсказывают, что нужно написать что-нибудь полезное, хотя бы один раз за всю неделю. Попробую рассказать п… twitter.com/i/web/status/9…

12:17

Итак, две даты, которые нужно знать - 28 марта и 31 октября. В эти дни происходит переход на DST и обратно. Если вы… twitter.com/i/web/status/9…

12:19

Один из моих коллег как-то раз был разбужен среди ночи возмущенным начальством из-за того, что режим работы несколь… twitter.com/i/web/status/9…

12:21

Поэтому первый совет, который вам обычно дают - используйте UTC - универсальное координированное время. Это очень х… twitter.com/i/web/status/9…

12:22

Во первых, UTC на конкретной машине может идти назад! Есть такой специальный демон, под названием ntpd, который зан… twitter.com/i/web/status/9…

12:24

2. если часы спешат сильно - просто перевести их назад. Это причина, почему часто одним из требований к системе (на… twitter.com/i/web/status/9…

12:25

Но это еще не все. Есть еще високосные секунды :) Насколько я помню, Unix time в POSIX совместимых системах работае… twitter.com/i/web/status/9…

12:30

Если вы получаете метки времени с секундной точностью, то все ОК. Если с точностью выше секунды, то у вас снова время идет вспять :)

12:31

Тут идет речь про обычные метки времени. Помимо этого, существует т.н. монотонное время, которое назад точно никогд… twitter.com/i/web/status/9…

12:33

Но, его нельзя передавать за пределы приложения, т.к. оно не имеет смысла за ее пределами, не всегда совпадают с ре… twitter.com/i/web/status/9…

12:35

Если вы регистрируете время неких событий из внешнего мира, вам нужно реальное время, в которое добавляются високос… twitter.com/i/web/status/9…

12:35

Еще такой интересный момент, связанный с leap seconds. Ни одна известная мне библиотека для работы с временем их не… twitter.com/i/web/status/9…

12:37

Вы распарсили в своем коде на python две метки времени и посчитали разницу между ними? Это значение не учитывает leap seconds.

12:38

ВСЕ ПЛОХО!

даже если вы храните метки времени в UTC

12:39

И тут наступает время рассказать про те ситуации, когда время нельзя хранить в UTC (PTSD момент). Rule of thumb - е… twitter.com/i/web/status/9…

12:41

Вы хотите запланировать собыите, которое произойдет ровно через сутки, в 14:00, получаете метку времени, добавляете… twitter.com/i/web/status/9…

12:44

В каких-то приложениях это именно то что нужно, но в большинстве - нет. Особенно в тех, которые используются людьми.

12:45

Помимо этого, стоит учитывать, что вычисления в локальном времени не всегда корректны, т.к. некоторые библиоетки дл… twitter.com/i/web/status/9…

12:47
@backendsecret И это еще не все, буквально недавно была ситуация когда из-за сбоя NTP сервера нашего датацентра, вр… twitter.com/i/web/status/9…
12:47

Если я ничего не путаю, в python все работает именно так.
Помимо этого, хранить метки времени из будущего в UTC нел… twitter.com/i/web/status/9…

12:50

метка времени может уехать на час в одну или другую сторону. За последние 10 лет, в РФ трижды меняли DST (ЕМНИП) сн… twitter.com/i/web/status/9…

12:52
@backendsecret И вот тут не лишним будет отметить, что функции ожидания в примитивах синхронизации STL от gcc испол… twitter.com/i/web/status/9…
12:52

Помимо UTC есть еще GPS time. Время, которое используют для координации в системе GPS. Оно по настоящему монотонно… twitter.com/i/web/status/9…

12:54

Еще один факт - не все смещения таймзон кратны одному часу. Indian Standard Time - UTC +5:30 например. Поэтому если… twitter.com/i/web/status/9…

12:56

Особенно "весело" писать всякие органайзеры, где пользователь может запланировать мероприятие, а потом в этот день… twitter.com/i/web/status/9…

12:58
@backendsecret А также Непал с 5:45 и всякие острова в Тихом океане, где время одинаковое, но дата может на сутки отличаться

Самый смешной случай был с одним из диспетчерских управлений СО ЕЭС, которое (вместе со всеми энергетиками региона)… twitter.com/i/web/status/9…

13:04

Мне тут напоминают, что в Сиднее, на время олимпиады в 2000м году, ввели DST.

13:07
@backendsecret Миссы с помощью каких инструментов ты профайлишь, cachegrind?
13:49
@backendsecret Вроде есть TAI clock, реализация от автора s6-supervisor skarnet.org/software/skali…
13:58

Привет! Меня зовут Алексей Конышев, я несу добро с помощью poselok-programmistov.ru, а также путем руководства разра… twitter.com/i/web/status/9…

8:32

На работе меня особенно вдохновляет миссия. Много странных людей берут деньги в долг, а возвращать не хотят. Банки… twitter.com/i/web/status/9…

9:38

Когда мы начинали разработку несколько лет назад, мы взяли в качестве фреймворка @sailsjs – аналог рельсов для ноды… twitter.com/i/web/status/9…

10:11

Наконец @sailsjs нас так достал, что мы начали дробить все на микросервисы на чистом @expressjs. Использовали… twitter.com/i/web/status/9…

11:31
@musuk @sailsjs @expressjs @DockerSwarm База у нас PostgreSQL, ORM – sequelize. Еще есть Redis – для очередей и pub… twitter.com/i/web/status/9…
12:52

Давайте немного расскажу про @it_poselok. Обычно поселок вызывает кучу негатива в комментариях, поэтому начнем со с… twitter.com/i/web/status/9…

15:04
@backendsecret @vvn33 @AstarothAst @dcromster Почему вы считаете, что банкам тяжело живется из-за заемщиков в СНГ?)… twitter.com/i/web/status/9…

В РФ колоссальные судебные издержки из-за бюрократии. Если заемщик в конец о%%ел и перестал платить, то банк сможе… twitter.com/i/web/status/9…

17:10

Процент таких козлов довольно значителен, поэтому банк вынужден закладывать эти издержки и списания задолженности н… twitter.com/i/web/status/9…

17:12

Вам понравился такой формат общения?

7:30

Всем привет! На этой неделе в @backendsecret не разработчик бэкенда, а я, Виталий Брагилевский, @_bravit, преподава… twitter.com/i/web/status/9…

8:36

До среды включительно будем говорить о Хаскеле и других функциональных языках, в четверг и пятницу обсудим систему… twitter.com/i/web/status/9…

8:39
@backendsecret @_bravit То есть никакой совсем не backend developer 😁

В некотором смысле я разработчик бэкендеров, то есть разработчик бэкенда второго порядка. Впрочем, никакой ответств… twitter.com/i/web/status/9…

8:45
@backendsecret Higher-kinded backend developer :)
8:47
@backendsecret Будет ли затронута тема кибербулинга?

Кибербуллинг в среде бэкендеров — важная тема, обсудим её в разном. Вот только кнопочку для бана найду… twitter.com/Krasnikov_AN/s…

8:49
@_bravit @backendsecret А можно пропустить всю эту шелуху и сразу перейти к гендерным вопросам?

Нельзя. Я вообще надеюсь, что до выходных меня отсюда выгонят и не придётся обсуждать острые темы. twitter.com/Alex__Grig/sta…

8:53
@backendsecret Может не надо опять гендерные вопросы? Мы еще с прошлого раза не отошли.

Надо. Всем хочется заполучить кусочек славы Егора Бугаенко. twitter.com/AstarothAst/st…

9:01

Про паттерны проектирования обязательно скажу. twitter.com/ngalayko/statu…

9:10

О ФП (функциональное программирование) начнём говорить с матчасти. В далёком 2009 году собралась группа энтузиастов… twitter.com/i/web/status/9…

9:16

Одним из лучших материалов журнала оказался обзор элементов функциональных языков от Евгения Кирпичёва (… twitter.com/i/web/status/9…

9:19

«Цель статьи — вооружить идеями из мира функционального программирования даже тех читателей, кто не планирует менят… twitter.com/i/web/status/9…

9:20

Это к кураторам! Я и слов-то таких не знаю. У меня, правда, дипломница дважды на GSoC эрланг пилила, но всё равно н… twitter.com/i/web/status/9…

9:25
@backendsecret Есть вообще случаи, когда бэкенд есть смысл писать на хаскеле?

Я не евангелист, поэтому врать не буду. Если есть команда, владеющая Хаскелем, если есть лидер, понимающий проблемы… twitter.com/i/web/status/9…

9:36
@backendsecret @_bravit Добрый день! ЗАпустил статистику: backendsecret.ru/stats/
9:39
@backendsecret Что можешь сказать про GSoC?

Мне кажется, что все студенты-итшники должны стремиться участвовать в Google Summer of Code, это хороший опыт реаль… twitter.com/i/web/status/9…

9:52

Студент выбирает проект, консультируясь с ментором пишет заявку, и если заявка выигрывает, то летом что-то программ… twitter.com/i/web/status/9…

9:55
@backendsecret Надо, это хороший опыт. Только к нему тоже надо готовится. С нулевыми знаниями его не пройдешь.
9:59
@backendsecret Не зарплату, а стипендию.
10:00

Про монады рассказать?

10:05

Про Хаскель. Его задумали в 1987 году как функциональный язык с ленивыми вычислениями. Заметьте, не для того, чтобы… twitter.com/i/web/status/9…

10:13

Девиз Саймона Пейтона Джонса (SPJ, один из создателей) «Avoid success at all costs» долгие годы довлел над развитие… twitter.com/i/web/status/9…

10:18

Ситуация потихоньку стала меняться в начале 10-х годов, тогда стало возможным говорить о Хаскеле в промышленной раз… twitter.com/i/web/status/9…

10:20
Какая изящная критика прогресса ФП! twitter.com/backendsecret/…

Вот, кстати, распространённое заблуждение. Хорошие теоретические основания ещё никому не мешали. Инженеры, к счасть… twitter.com/i/web/status/9…

10:24
@backendsecret Correction: задумывался как teaching language. Такой же, как BASIC, например. А потом, внезапно, ста… twitter.com/i/web/status/9…

Всем интересующимся историей возникновения и Хаскеля рекомендую статью A History of Haskell: Being Lazy With Class… twitter.com/i/web/status/9…

10:28

Хаскелисты любят гордиться историями успеха, каждому расскажут, что есть такой Pandoc, что на Хаскеле программируют… twitter.com/i/web/status/9…

10:33

Ещё хаскелисты любят, когда все думают, что они очень умные. Уверен, что эту картинку сделал хаскелист, слишком уж… twitter.com/i/web/status/9…

10:40
@backendsecret Подсистема безопасности в Kaspersky OS

Из лаборатории Касперского подсказывают. Да, есть такое дело, действительно на Хаскеле делают. twitter.com/cblp_su/status…

10:42

Потом её, правда, испортили лисперы. pic.twitter.com/bEVHoYmDFp

10:45
@backendsecret Я прорешал учебник Хаттона Programming in Haskell. Это был прикольный опыт. Но делать реальный проек… twitter.com/i/web/status/9…

Посоветовать тему не могу, но вообще-то писать на Хаскеле можно всё, что угодно. Любая полезная людям программа, на… twitter.com/i/web/status/9…

10:49
@backendsecret угу. только статья написана так, что ее поймут только люди, уже знающие заскель, лямбда-калкулус и т… twitter.com/i/web/status/9…

Мне не кажется, что статья написана так. Разумеется, её нужно читать медленно, строчка за строчкой, разбираясь с ка… twitter.com/i/web/status/9…

10:50
@backendsecret А можно по подробнее про реальную пользу ленивых вычислений. А то всё что я слышал сводилось к "не б… twitter.com/i/web/status/9…

Ленивые вычисления иногда позволяют писать более простые программы: можно отдельно описать генерацию данных и их по… twitter.com/i/web/status/9…

11:00
@backendsecret Так если хаскель создан не для решения практических задач, а just for fun, то зачем пытаться в практическую пользу?

Родители могут ошибаться в планах на своих детей. Создали для одного, а использовать можно для всего, для чего полу… twitter.com/i/web/status/9…

11:07
@backendsecret Насколько он имеет смысл сейчас? Вычислительные возможности сейчас высоки и разработчики предпочитаю… twitter.com/i/web/status/9…

Во-первых, вычислительных возможностей всегда недостаточно для имеющихся задач, это закон природы. Во-вторых, ленив… twitter.com/i/web/status/9…

11:10
@backendsecret ИМХО, это вообще проблема многих ФП-шников. Причём зачастую решают задачи, которые могли бы решить на чем-то мейнстримовом.

Есть такой смешной жанр: претензии в стиле, а почему это пишется на X, тогда как можно на Y. Ну да, можно. Есть и е… twitter.com/i/web/status/9…

11:14

Тут в реплаи подъехали хаскелисты-практики. Они меня сейчас уличат в безграмотности и вообще забьют. И это я ещё к Скале не подошёл!

11:18
@backendsecret «Мне не кажется». Когда (не) кажется, креститься надо.

Даже разбор строчка за строчкой требует зна… twitter.com/i/web/status/9…

Вежливая тут у вас аудитория, пойду креститься! Интересно, кстати, влияют ли семь пядей во лбу на схему осенения се… twitter.com/i/web/status/9…

11:23
@backendsecret Возможность выбора – не всегда хорошо, можно на выходе получить ruby и селекторный паралич.

Всегда было интересно, почему люди так ненавидят некоторые языки программирования. Для меня ЯП — это объект изучени… twitter.com/i/web/status/9…

11:39

Кажется, из промышленных языков больше всего PHP достаётся. Мы стольким, написанным на PHP, каждый день успешно пол… twitter.com/i/web/status/9…

11:43
@backendsecret дык если язык принципиально создавался для академического задрост^W изучения, то зачем его тащить в… twitter.com/i/web/status/9…

Вот тоже чудесный аргумент: а давайте ещё вспомним, для чего компьютеры создавались. Неужели для того, чтобы реплаи… twitter.com/i/web/status/9…

11:45
@backendsecret никаких взрывов, просто для красного словца. тут вроде никто на такое не обижается. и всё же по теме… twitter.com/i/web/status/9…

Интересно, что сам Хаскель даёт массу примеров того, как задуманное для одного вдруг начинает отлично работать для… twitter.com/i/web/status/9…

11:52
@pilitactiles @backendsecret Мне очень понравился проект @dshevchenko_biz для подсчета хлебных единиц. Там все есть… twitter.com/i/web/status/9…
11:52

Я воспринимаю языки программирования как наборы инструментов — Хаскель даёт нам очень богатый набор, с его помощью… twitter.com/i/web/status/9…

11:55
@hmemcpy @pilitactiles @backendsecret Благодарю! Именно для этого проект и задумывался, чтобы, будучи полезным для… twitter.com/i/web/status/9…

Вот, кстати, Денис — наш главный по евангелизму! twitter.com/dshevchenko_bi…

11:56
@dshevchenko_biz @pilitactiles @backendsecret Ваша книга, кстати, О Haskell по-человечески, очень мне помогла вступ… twitter.com/i/web/status/9…
11:59
@backendsecret А что можете посоветовать из функциональных языков для изучения? Так, чтобы потом именно применить м… twitter.com/i/web/status/9…

Не буду оригинальным: изучать нужно именно Хаскель. Он позволяет увидеть ФП в чистом виде, понять основные идеи. А… twitter.com/i/web/status/9…

12:13

Мне нравится книжка «Изучай Хаскель во имя добра», я в своё время спас её перевод от шанса быть напечатанным в изур… twitter.com/i/web/status/9…

12:16

Get programming with Haskell (manning.com/books/get-prog…) вообще для самых начинающих, но сильно ориентирована на прак… twitter.com/i/web/status/9…

12:18

У меня на медиуме есть разбор книг по Хаскелю: medium.com/@_bravit, можете посмотреть. Книги есть почти на любой вкус.

12:19
@backendsecret Потому что они ими пользовались и им было больно?

Продолжаем про ненависть. Вот у меня стул был, неудобный стул, плохо на нём было сидеть. И знаете что, я его выкину… twitter.com/i/web/status/9…

12:23
@backendsecret @_bravit Здравствуйте, Виталий! Нас, читателей из далекого Усть-Уфимска, давно интересует вопрос: ес… twitter.com/i/web/status/9…

Вопрос от людей изнутри коммьюнити, с богатым контекстом и большим подтекстом. Я воспользуюсь им, чтобы начать тему… twitter.com/i/web/status/9…

12:29

Вот представьте: вы из академической тусовочки (выделено курсивом), все друг друга знаете, пилите в язык фичи (и пе… twitter.com/i/web/status/9…

12:40

У них довольно странные запросы: хотят, чтобы библиотеки поддерживались и обновлялись, чтобы backward compatibility… twitter.com/i/web/status/9…

12:43

Основной инструмент для управления зависимостями — утилита cabal-install — долгое время очень медленно развивался,… twitter.com/i/web/status/9…

12:46

Работают они на одной основе, используют Hackage — коллекцию библиотек (по типу CPAN перловского), но Hackage в рук… twitter.com/i/web/status/9…

12:48

Роль свою stack сыграл, он заставил cabal развиваться. Трения остаются, коммьюнити пытается их разруливать, в интер… twitter.com/i/web/status/9…

12:50
@vladusenko48 @backendsecret Когда мы хотим эффективность выполнения, предсказуемую корректность, простоту сопровож… twitter.com/i/web/status/9…

Вот умеет всё-таки Денис Хаскель продавать! twitter.com/dshevchenko_bi…

12:55
@backendsecret Ага, я ещё хочется CHANGELOG, тесты, бенчмарки (чтобы не дай бог не стало медленней), хорошую докуме… twitter.com/i/web/status/9…

IDE! IDE нужно! twitter.com/ChShersh/statu…

12:56
@backendsecret Как насчёт Closure? Или может даже более холивара: Haskell vs Closure

Про Clojure будет, но без холивара. Разве что в реплаях… twitter.com/gild0r/status/…

12:57
@backendsecret Недавно было обсуждение в околохасклевском коммьюнити: почему мы так кичимся крутостью нашего языка… twitter.com/i/web/status/9…

Оценка резкая, конечно, но во многом справедливая. Есть такой документ State of Haskell ecosystem:… twitter.com/i/web/status/9…

13:05
@backendsecret Как это заканчиваются? А pandoc? А компиляторы ряда языков (того же Elm)?

Вот мне подсказывают, что на Хаскеле отлично пишутся компиляторы: сам Хаскель, Agda, Idris, Elm. Я смотрел внуть GH… twitter.com/i/web/status/9…

13:09
@backendsecret @_bravit Расскажите про будущее зависимых типов в Х-ле, как вам оно видится, с учетом работы, продел… twitter.com/i/web/status/9…

С возрастом я становлюсь ретроградом, мне хочется замедления развития системы типов, так и хочется крикнуть: «Горшо… twitter.com/i/web/status/9…

13:12

Пока кажется, что безболезненно встроить зависимые типы в ткань языка не получится. Есть риск того, что всё будет з… twitter.com/i/web/status/9…

13:14

Мне больше нравятся языки с зависимыми типами из коробки, как Idris, там они гораздо естественнее смотрятся. Другой… twitter.com/i/web/status/9…

13:16
Про монады рассказать?

Кто тут не с начала, у нас опрос есть! twitter.com/backendsecret/…

13:23
@backendsecret конечно. А еще если можно про архитктуру приложений на хаскелле или книгу про это посоветуйте )

Я такую книгу не знаю, да и вообще: архитектура приложения и язык как-то далековато друг от друга, разве нет? В хас… twitter.com/i/web/status/9…

13:26

Читаю википедию перед каждой парой, но быстро забываю! Думаете, легко тут, на дне IT-образования, термины помнить? twitter.com/ShapovalovTS/s…

13:28
@putln @backendsecret aosabook.org

AOSABook прекрасная! Про GHC текст вообще потрясающе интересный. twitter.com/cblp_su/status…

13:34
@chikiro_twi @backendsecret Если Вы девушка (оо, я как раз в тему с гендерными вопросами!1), то есть: Outreachy
outreachy.org

Гендерный вопрос! Маша — наша гордость, в гугле работает, подписывайтесь! twitter.com/siamezzze/stat…

13:36
@backendsecret Что скажете про книги Душкина?

Я бы их сейчас не рекомендовал для изучения Хаскеля, но сам Роман прекрасен! twitter.com/i_am_alcoholic…

13:46

Я сторонник распространения Хаскеля на практике, но академический имидж языку сильно мешает. Я свято верю, что не н… twitter.com/i/web/status/9…

14:01

В реплаях пишут про Linq и XSLT, вот, мол, реальные технологии, не то что этот ваш Хаскель. Я думаю, что Эрик Мейер… twitter.com/i/web/status/9…

17:40

XSLT мне, кстати, очень нравится, я его преподавал 10–15 лет назад — очень хороший декларативный способ преобразова… twitter.com/i/web/status/9…

17:42
@backendsecret тогда расскажи как на нем работу найти! тут такая курица яйцо, пока бизнес не увидит разрабов он туд… twitter.com/i/web/status/9…

Найти работу на Хаскеле можно, разрабы давно уже пошли. По ресурсам для хаскелистов постоянно вакансии вижу. twitter.com/raxpost/status…

17:44
@backendsecret Скажите, а нужно ли уметь приседать со штангой до начала изучения Haskell?

Нет, умение приседать со штангой не требуется. Хотя и очень полезно! twitter.com/feelthefrog/st…

17:46
@backendsecret Удалось веру на практике проверить ? Кстати, что бумажного есть по теории категорий ?

Я не программист, поэтому нет, не удалось. Впрочем, я уже не помню, что в моей жизни появилось раньше, Хаскель или… twitter.com/i/web/status/9…

17:51
@IlyaYanok @dshevchenko_biz @vladusenko48 @backendsecret про gc правда. например, язык с gc непригоден для эмбеддед… twitter.com/i/web/status/9…

Некоторые забывают, что даже если на Хаскеле нельзя писать для жёсткого риалтайма, на нём можно генерировать код дл… twitter.com/i/web/status/9…

17:54
@backendsecret Если Хаскель - это чисто академический язык вроде Scheme, то мне не понятно, зачем его в бизнес тащи… twitter.com/i/web/status/9…

В мире языков программирования нет заборов, они есть только в головах пользователей. twitter.com/musuk/status/9…

17:57
@backendsecret @_bravit а расскажите будет ли Haskell2020 в 2020?

Думаю, что не будет. Для меня главное — успеть монетизировать членство в комитете (prime.haskell.org/wiki/Committee), пока е… twitter.com/i/web/status/9…

18:00

Всё совершенно не так. Сколько я не разговаривал с отечественными хаскелистами, которые на этом деньги зарабатывают… twitter.com/i/web/status/9…

18:07

Тут же как везде: придумывать свои библиотеки сложно, для этого нужен опыт и знания, а пользоваться ими гораздо про… twitter.com/i/web/status/9…

18:09

Я не видел ни одного хаскелиста с горящими глазами, который не смог бы найти работу на Хаскеле. twitter.com/mtrklb/status/…

18:13
@backendsecret liquid haskell не пробовал?

Я смотрел много простых примеров: выглядит неплохо, ошибки действительно можно ловить. К сожалению, LH не очень хор… twitter.com/i/web/status/9…

18:17

Один поствежливый комментатор в реплаях требует от всех, чтобы ему доказали, что Хаскель хороший. Надеюсь, никто не поведётся.

18:20
@rufuse @skchrko @backendsecret @_bravit stack, hackage... главное - Nix!

Nix, конечно, выдающееся изобретение. Я думаю, мы во многих технологиях будем потихоньку на него переходить. Это та… twitter.com/i/web/status/9…

18:29
@backendsecret Да запросто! Хаскель хороший - зуб даю! Думаю доказал, да?

Мой тезис в том, что если человек в чём-то уверен, то не надо ему ничего доказывать. Пусть живёт в своей уверенност… twitter.com/i/web/status/9…

18:30
@ak3n @mtrklb @backendsecret Поддерживаю. Тут студенты после 4 месячного курса Haskell в универе находили работу. Н… twitter.com/i/web/status/9…
18:31
@backendsecret а сколько вам известно отечественных хаскелистов зарабатывающих на этом?

Отечественных хаскелистов-профессионалов я знаю около десятка. Ещё знаю двоих плюсистов, трёх джавистов и пять чело… twitter.com/i/web/status/9…

18:37

Так вот, про монады. Понимаете ли вы концепцию перемещения в пространстве? Можно идти, ползти, бежать, лететь, гуси… twitter.com/i/web/status/9…

18:41

Встречали ли вы когда-нибудь человека, который заявлял, что он не понимает перемещение в пространстве? Конкретные п… twitter.com/i/web/status/9…

18:42

Или, вот, что такое питание? Как это вообще? Не понимаю. Как колбасы поесть — понимаю, котлетка с пюрешкой — тоже, а вот питание — ну никак.

18:44

При этом каждый, я подчёркиваю, каждый программист пользуется монадами. Он делает это каждый день, разными конкретн… twitter.com/i/web/status/9…

18:47

Видимо, причина в том, что начиная с некоторого возраста нам слишком тяжело знакомиться с новыми абстракциями, нам… twitter.com/i/web/status/9…

18:48

Хаскель принятой в нём математической терминологией даёт нам лёгкий способ оправдать себя: ой, это всё ужасная мате… twitter.com/i/web/status/9…

18:50

Монада — это общий способ описать идею вычислений, которые можно соединять вместе так, чтобы от результата предыдущ… twitter.com/i/web/status/9…

18:53

Вызвал функцию, воспользовался её результатом — привет, ты снова в монаде. Другие языки программирования не пытаютс… twitter.com/i/web/status/9…

18:56

Интересно было бы написать роман в духе альтернативной истории про то, как повернулась бы история программирования,… twitter.com/i/web/status/9…

19:07
@dmitriid @develop7 @vladusenko48 @backendsecret @dmitriid Дмитрий, я понимаю вас. В ваших сообщениях виден гнев, н… twitter.com/i/web/status/9…

Почитайте тред. Там психоанализ и терапия, все дела. Уважаю. twitter.com/dshevchenko_bi…

19:09

Смотрю на статистику и думаю, что надо больше хлёстких твитов для лайков и ретвитов. Ну ничего, будем работать.

19:39

Всем привет, сегодня с вами Даник Вартанов (нет, не из Пятигорска, сорян).
Выжил в стартапе, весь в крови и шрамах, но стартап взлетел.

12:13

Принял проект с говнокодом, написанным на Руби бывшим PHP-шником, а оставил c а̶т̶о̶м̶н̶о̶й̶ ̶б̶о̶м̶б̶о̶й̶ живым и… twitter.com/i/web/status/9…

12:15

Говорить буду в основном о малообсуждаемых проблемах в стартапах, начиная от нарушения всех правил в начале, и зака… twitter.com/i/web/status/9…

12:19
@backendsecret СТО, не шубу в трусы заправлять! Сколько человек в R&D? VP of Engineering есть?

И вот первая тема. СТО не нужон.
В стартапах, где обычно "Серёга и я", СТО называют того, кто отвечает за всю техн… twitter.com/i/web/status/9…

12:25

1 из 1000 (или скольки там) стартапов взлетает, из них ещё только один на сотню становится бизнесом с R&D такого ра… twitter.com/i/web/status/9…

12:33

Но "CTO стартапа" -- это на самом деле просто "технический сооснователь", как в анекдоте: "Я VC из Долины, собираю… twitter.com/i/web/status/9…

12:34

А смежные должности типа VPEng в стартапах -- это часто просто результат инфляции должностей. Не верьте.

12:37
@backendsecret Привет! Наконец-то люди близкие к деньгам :)

(шёпотом) Тс-с-с, денех тут неееет.
Не, сириосли, в стартапы надо идти затем, чтобы потом никакой проект не был стр… twitter.com/i/web/status/9…

12:48
@backendsecret Зато поди ДОЛЯ в перспективном стартупе имеется 😀

Значит, рублю правду матку: я, например, обычный сотрудник, который с самого начала работает за зарплату, у таких л… twitter.com/i/web/status/9…

12:59
@jbaruch @backendsecret Он - человек до которого ты докопался на ровном месте. Оставь его уже в покое, пусть расска… twitter.com/i/web/status/9…

Стартап британский/глобальный. Как живут региональные стартапы я, если чесн, не знаю.

Сорри если я на важные репла… twitter.com/i/web/status/9…

16:45
@backendsecret А если стартап взлетит высоко то всех VP и директоров поменяют на взрослых менеджеров с опытом. Пото… twitter.com/i/web/status/9…

Всё верно, переход от стартапа к бизнесу это примерно как переход от партизанского отряда к регулярной войсковой ди… twitter.com/i/web/status/9…

16:47

В последнее время этот автор сошёл с ума, начал говорить про вселение бесов в алгоритмы ИИ, но вот эта его лекция п… twitter.com/i/web/status/9…

16:55
@backendsecret сколько лет в стартапе этом?

6 лет в этом году будет. Изначально думали, что и пять лет не просидим, скучно станет. А теперь начинаю верить тем,… twitter.com/i/web/status/9…

17:09
@backendsecret Обычно работая со стартапами расширяешь знания в ширь, для глубины нужно сфокусироваться на чем то одном.

Скиллы взаимодействия с бизнесом, организации гибкого процесса производства софта, коммуникации, удержания сложност… twitter.com/i/web/status/9…

17:32

Технические, конечно, качаются в овновном в ширь, кроме одного-двух из тех, что являются специализированными для конкретного проекьа.

17:33
@backendsecret Расскажи как примерно начиналось.
С гаража, доширака и вон того парня? Работали за светлое будущее?… twitter.com/i/web/status/9…

Я не был ни автором идеи. Уже 10 лет я профессиональный имплементатор стартапов, правда сильно увлекающийся. Мы с… twitter.com/i/web/status/9…

23:23
Been thinking about this a lot. I've said this in the past, & I still believe it: you can be a great developer even… twitter.com/i/web/status/9…

Чуток про будущее программирования.
Вот твит Сары Мей, у меня нет сомнений в её искренности.
Но, на мой взгляд, она… twitter.com/i/web/status/9…

23:26

Программирование превращается в в обычную массовую рабочую сине-воротничковую профессию. ИИ заменит бОльшую часть и… twitter.com/i/web/status/9…

23:26

Если кто совсем-совсем не в теме, то вот лекция про биткоины-блокчейны, с ручательством, что там нет никаких попыто… twitter.com/i/web/status/9…

0:17
Прочитав воскресный @backendsecret в очередной раз хочу напомнить всем программистам:

Мы работаем, для того, чтобы… twitter.com/i/web/status/9…

8:08

Всем доброго утра! В следующие семь дней с вами Денис @dshevchenko_biz Шевченко, программист, известный в узких кру… twitter.com/i/web/status/9…

5:31

Каковы планы на эту неделю? Посмотрим, как пойдёт, не люблю загадывать. Но упор планирую сделать на практику. Будет код, друзья, много кода!

5:31
@backendsecret Давай сразу про монады

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! twitter.com/hmemcpy/status…

5:54
@backendsecret @dshevchenko_biz опять фп и хаскель? был тут недавно уже такой. чем отличаться от него будете?

Многим буду отличаться. Виталий - преподаватель, и говорил о вещах, о которых я имею смутное представление. А главн… twitter.com/i/web/status/9…

6:04
@backendsecret Давай сразу про гендерный вопрос.

О нет, вот этого точно не будет. Дабы сразу обрадовать/разочаровать (нужно подчеркнуть), перечислю темы, о которых… twitter.com/i/web/status/9…

6:07
@backendsecret Без поллитра-то получится код на этом вашем Хаскеле понять?

А вот и узнаем! ;-) twitter.com/blazernere/sta…

6:08

Отвечая @aarexer, расскажу немного о себе.

В программирование я пришёл в 2005 году, и началом был ассемблер для ми… twitter.com/i/web/status/9…

6:56

И вот, с 2006 года я окунулся в С++. Изначально, правда, это была ещё нестандартизованная версия (основанная на Bor… twitter.com/i/web/status/9…

6:56

Были, правда, ещё и мысли о том, чтобы остаться в C и программировать Linux kernel. Но потом плюсы всё же одержали… twitter.com/i/web/status/9…

6:56

И вот однажды, на столе у своего тогдашнего техдира, я увидел книгу "Programming in Haskell". Спрашиваю, мол, что з… twitter.com/i/web/status/9…

6:56

Найдя упавшую на пол челюсть и приделав её обратно, я спросил, ээээ, а как это можно программировать без оператора… twitter.com/i/web/status/9…

6:56

А где-то год спустя увидел в интернете слово Haskell, и вспомнил, аааа, так это же тот самый, без присваивания. И в… twitter.com/i/web/status/9…

6:57

Начал искать материалы. А год это был 2012. И было это, скажу я вам, непросто. Нормальным, человеческим языком, вот… twitter.com/i/web/status/9…

6:57

Начал формулировать мысли в своём бложике. Затем была просьба, идея, и реализация идеи, идеи о книжке для самых-сам… twitter.com/i/web/status/9…

6:57

Так я полюбил ФП. Но с точки зрения карьеры я всё ещё был С++-программистом, однако к 2014 году я понял - всё, хочу… twitter.com/i/web/status/9…

6:57

Сейчас я работаю в #IOHK, это моё третье Haskell-место. Первые два, к сожалению, пришлось сменить по причинам, не связанным с Haskell.

6:57
@backendsecret Денис, а рассказ о том, что скала - это фальшивое ФП, будет? :)

Я толком не знаком со Scala, поэтому вряд ли. Но тот пример, с Either - да, его приведу. ;-) twitter.com/iShelop/status…

6:58

Иногда (по семейным делам) буду пропадать, так что не обижайтесь, если не отвечаю на все вопросы сразу.

7:11
@backendsecret Расскажешь про рекурсию?

Почему бы и нет? Расскажу. twitter.com/bitomaxsp/stat…

7:14

Впрочем, в качестве первого объяснения, вероятно, подойдёт глава из моей книжки: ohaskell.guide/recursion.html

7:18
@backendsecret Нееее не могу это читать где AbstractRecursionSingletonProviderBean

Вот уж чего нету, того нету... Извиняйте... twitter.com/hmemcpy/status…

7:22
@develop7 @backendsecret А если серьезно? Что конкретно лучше писать на хаскеле?

Компиляторы/интерпретаторы, EDSL, бэкенд. twitter.com/artezzzgml/sta…

8:49
@backendsecret @dshevchenko_biz Если отталкиваться от проблем, то для решения каких задач, в каких областях ФП дейс… twitter.com/i/web/status/9…

Проблема в том, что мой ответ будет расценен как предвзятый. :-) И всё же я отвечу - да, однозначно стоит овчинка в… twitter.com/i/web/status/9…

8:52
@backendsecret Совершенно случайно прочел вашу книгу за вечер, и это прекрасная книга, заинтересовался Haskell.
Не… twitter.com/i/web/status/9…

Планирую, но не сейчас. На данный момент я сильно занят, как по основной работе, так и по важному личному проекту. twitter.com/gild0r/status/…

8:53
@backendsecret А какое IDE лучше всего подходит для разработке на Haskell?

Для Haskell нет полновесных IDE в том смысле, как есть для Java или C#. Однако, после доработки напильником, прекра… twitter.com/i/web/status/9…

8:55
@backendsecret Было бы круто увидеть примеры композиции монад: MTL, Free(r). Как я понимаю, эти знания - мастхэв дл… twitter.com/i/web/status/9…

О нет, мы будем смотреть на вещи, гораздо более простые. Free(r)? У нас в проекте нет Free(r), и однако же PoS-крип… twitter.com/i/web/status/9…

9:03
@backendsecret а плагин для Idea совсем плох?

Не знаю, не пробовал. Отзывы слышал, да, но они противоречивы: кто-то хвалит, кто-то ругает... twitter.com/goshan__4ik/st…

9:04
@shkuropadsky @backendsecret @dshevchenko_biz Существует так же опасность, что часть разработчиков будет сильно про… twitter.com/i/web/status/9…

О да! Многих программистов одна лишь аббревиатура "ФП" вводит в ярость и желание драться. Это при том, что большинс… twitter.com/i/web/status/9…

10:14
@backendsecret ленту не читал, но есть к тебе вопрос. Есть ли препятствия/проблемы распространения идей ФП? Почему? Как можно решить?

Да, препятствия есть. И в основном - психологического характера:

10:23
@backendsecret , слушал выпуск подлодки с вашим участием. про хаскелл и фп. Очень сильно захотелось попробовать. Но… twitter.com/i/web/status/9…

Да, есть такое: в России таких вакансий пока очень мало. Их количество растёт, да, но на фоне остального рынка труд… twitter.com/i/web/status/9…

10:36
@backendsecret Как насчёт Haskell vs Clojure, а то вот @_bravit обещался, будучи на месте @backendsecret, да так дело и не дошло

Нет. Сравнение языков - холиварная тема, ражигать очередной срач здесь я не хочу. twitter.com/gild0r/status/…

11:13
@backendsecret Просто очень интересно было бы послушать мнение того, кто в теме, может кто из читателей… twitter.com/i/web/status/9…

Я обеими руками за сильную статическую типизацию. Потому что она помогает мне, каждый день. Однако я не делаю из эт… twitter.com/i/web/status/9…

11:20

Итак, обещанный на сегодня пример. Пример, понятный нам всем - работа с конфигурационным файлом. Трудно вспомнить з… twitter.com/i/web/status/9…

13:04

Итак, что же такое конфигурация? Это стуктурированный набор данных, необходимых нашей программе для работы. Следова… twitter.com/i/web/status/9…

13:04

Да, с точки зрения компьютера конфигурация - это файл, то есть тупо строка. Но мы не хотим работать со строками, по… twitter.com/i/web/status/9…

13:04

Пример, который вы увидите, отражает декларативный подход к парсингу. Сначала мы определяем типы, отражающие конфиг… twitter.com/i/web/status/9…

13:04

Итак, вот пример: gist.github.com/denisshevchenk…. Код кажется большим, но это лишь потому, что там куча комментариев. Реко… twitter.com/i/web/status/9…

13:04

На неделе с Виталием меня обвиняли в том, что все приводимые мною примеры - это лишь примитивные однострочники. Поэ… twitter.com/i/web/status/9…

13:06

Кстати, используемый на строке 71 Either - это конструктор типа с возможной проблемой. Его реализация предельна про… twitter.com/i/web/status/9…

13:26

То есть когда мы конструируем Either-значение, оно всегда находится в одном из двух состояний:

13:26
На @backendsecret функциональные программисты дошли до парсинга конфига. Фибоначчи уже написали, а то лень искать?

Нет, обойдёмся без них. Конфиг - он как-то душевнее, ближе будет... twitter.com/mtreskin/statu…

13:39
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

Не всегда обречён. В большинстве случаев - да, но не всегда. Моя цель не в том, чтобы чем-то похвалиться через подо… twitter.com/i/web/status/9…

13:41
@backendsecret Чтоа такое алгебраический тип данных

Алгебраический тип данных (АТД) - это тип, состоящий из других типов. Посмотри на строчку 29 - это АТД. АТД бывает… twitter.com/i/web/status/9…

13:48

Ты спросишь, почему произведение? Здесь же вроде ничего ни на что не умножается. Ответ в математике, ведь речь идёт… twitter.com/i/web/status/9…

13:48

Вот почему, предоставив экземпляр класса FromJSON для типа ReceiverConfig, мы обязаны предоставить такие же экземпл… twitter.com/i/web/status/9…

13:48
@backendsecret Давайте что-нибудь более практичное, с сайд-эффектами. Я немножко хаскель-хейтер, так как считаю, чт… twitter.com/i/web/status/9…

Не всё сразу. :-) Дойдём и до трансформеров. twitter.com/borovikov/stat…

13:50

А упомянутый мною Either - это тип-сумма. Мы пишем data Either a b = Left a | Right b. То есть либо Left, либо Righ… twitter.com/i/web/status/9…

13:52

Однако, повторюсь: вся эта математическая терминология известна мне лишь потому, что я (с определённого момента) за… twitter.com/i/web/status/9…

14:06
@backendsecret Воспользуюсь моментом и кину ссылку на свой канал, где я IMO очень подробно и доступно это расписал… twitter.com/i/web/status/9…
14:42
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…

> строчки из ямла достал и усе

Так нам же не строчки нужны. :-) Нам нужны URL, или порт, или список адресов, или е… twitter.com/i/web/status/9…

14:48
@qnikst @backendsecret Я это понимаю. Но не вижу в реальном хаскел-коде. И непонятно что там выделить можно, если в… twitter.com/i/web/status/9…

Отделение чистого кода от кода, взаимодействующего с внешним миром - это вопрос правильного проектирования. Конечно… twitter.com/i/web/status/9…

14:51
@backendsecret Мой поинт в том, что в real world приложениях чистой логики очень мало. И это уже вопрос не проектир… twitter.com/i/web/status/9…

Смотря о каких real world приложениях идёт речь. Да, есть много таких, где происходят преимущественно IO-действия.… twitter.com/i/web/status/9…

16:00
@troglotit @backendsecret MTL и правда must have. Туториалов по нему, хороших, однако, мало даже на английском :( О… twitter.com/i/web/status/9…
16:10
@backendsecret Избегай успеха любой ценой

Опять... Simon Peyton Jones, один из создателей Haskell, уже объяснял истинный смысл высказывания "Avoid success at… twitter.com/i/web/status/9…

17:51
@backendsecret @ChShersh @troglotit Давно хотел спросить. Не кажется ли недостатком то, что для такой простой задач… twitter.com/i/web/status/9…

Нет, это не кажется недостатком. Напротив, это кажется преимуществом, потому что именно это позволяет жёстко отделя… twitter.com/i/web/status/9…

17:56

А насчёт "довольно непростой абстракции"... Ну вот посмотри на меня: бывший плюсовик, математического образования н… twitter.com/i/web/status/9…

17:57
@backendsecret Я не говорил, что не могут, я говорил, что она непростая. Требует времени для привыкания, и людям мо… twitter.com/i/web/status/9…

> действительно ли такой контроль так нужен

Да, он нужен. Но не в том смысле, что без него нельзя, а в том смысле,… twitter.com/i/web/status/9…

18:29
@backendsecret А какая предистория для названий right,left? Ну right ещё можно понять, но почему left, а не error или wrong?

Не знаю. Очевидно, взяв Right, просто подобрали наиболее естественный антоним, то есть Left. ;-) twitter.com/iflask/status/…

18:34
@backendsecret А удобство изменения ФП-программы при неполных и постоянно меняющихся требованиях со стороны заказчи… twitter.com/i/web/status/9…

Декларативная модель очень помогает сопровождать проект. Известное зло при изменениях - в одном месте что-то поменя… twitter.com/i/web/status/9…

18:40

А когда глобального разделяемого состояния нет - тогда нет и проблем, им порождаемых.

18:41
@backendsecret расскажи где ты работаешь (сори если было) и как нашел (найти) работу на хаскеле. У меня стойкое ощу… twitter.com/i/web/status/9…

Работаю в #IOHK, участвую в создании PoS-криптовалютной системы (конкретно я сейчас в бэкенд-команде нашего кошельк… twitter.com/i/web/status/9…

19:19

Что же касается нужд бизнеса - есть отличное видео об этом: youtube.com/watch?v=ybSBCV…. Это видео от CEO для других CE… twitter.com/i/web/status/9…

19:19
@backendsecret Ищу ментора! пишу на Java, пробовал Kotlin, знания базовые + спринг(использовал для авторизации на с… twitter.com/i/web/status/9…
8:09

Всем привет! Меня зовут Бектур и на этой неделе я буду ведущим. Коротко о себе: занимаюсь исследованиями в области… twitter.com/i/web/status/9…

8:28

Помимо основной работы я так же очень много волонтерил по научным конференциям вроде ACM SIGGRAPH, а так же активно… twitter.com/i/web/status/9…

8:30

Поэтому на эту неделю у меня план рассказать о:

– AR/VR исследованиях и индустрии в целом
– IT работе в Японии
– В… twitter.com/i/web/status/9…

8:33

Ну и так же буду рад ответить на разные вопросы :)

На данный момент правда я пока еще на работе, поэтому отвечать… twitter.com/i/web/status/9…

8:33

Я снова с вами! На самом деле сегодня был мой первый день на новой работе, и шеф по японской традиции сводил меня и… twitter.com/i/web/status/9…

12:54
@backendsecret Ник то зачем менять) ник верни

я спросил у @dcromster и он сказал что можно менять 😅 twitter.com/dcromster/stat… twitter.com/igor_maslik/st…

12:56
@backendsecret Расскажи про AR! Чего стоит ожидать в ближайшем будущем? Будет ли удачное воплощение идеи google glasses?

AR достаточно обширный топик, и всего сразу не ухватишь, поэтому расскажу что интересует сейчас меня:

1) "Демократ… twitter.com/i/web/status/9…

13:00

Тут мне нужно сделать отступление и немного рассказать о самой терминологии в AR/VR.

Термин Augmented Reality прои… twitter.com/i/web/status/9…

13:18

Соответственно на одной части спектра находится реальность, на другой – виртуальность. Все что между ними (исключая… twitter.com/i/web/status/9…

13:18

В MR входят разные "смеси" реальности и виртуальности, включая

Augmented Reality (AR) – дополненная реальность, ко… twitter.com/i/web/status/9…

13:18

Сейчас так же популярен термин XR – eXtended Reality, который вбирает себя MR + VR (исключая R, т.е. реальность)

Т… twitter.com/i/web/status/9…

13:18

Между прочим статья про RV Continuum является одной из самых цитируемых статей в области исследования всего что свя… twitter.com/i/web/status/9…

13:18

Но это еще не все! Проблема в том что сам RV континуум невозможно использовать для качественного сравнения систем (… twitter.com/i/web/status/9…

13:18

Extent of World Knowledge (EWK) – Как хорошо система понимает окружающий мир. Например HoloLens и ARKit могут опери… twitter.com/i/web/status/9…

13:18

Extent of Presence Metaphor (EPM) – Насколько "погружаемой" (?) является система. Сейчас принято использовать слово… twitter.com/i/web/status/9…

13:18

(у presence еще есть замечательное понятие telepresence/teleexistence про которое я расскажу чуть позже)

13:18

Reproduction Fidelity (RF) – качество репродукции, банальное SD vs HD vs 4k, и проч

Про это все можно почитать еще… twitter.com/i/web/status/9…

13:18

так вот ARKit/ARCore на самом деле передвигают гигантскую массу девайсов из одного конца Extend of World of Knowled… twitter.com/i/web/status/9…

13:21

2) Такое количество объемной информации о пространстве вокруг пользователей (а это очень большое количество пользов… twitter.com/i/web/status/9…

13:29
Real-time photogrammetry with #ARKit pic.twitter.com/4kqnI84ypa

например в плане фотограмметрии – реконструкции 3д моделей из различных фотографий при наличии данных о том где был… twitter.com/i/web/status/9…

13:31

3) Все это ведет к идеи о AR Cloud – где фактически есть схожая (или точная) копия реального мира в цифровом виде,… twitter.com/i/web/status/9…

13:31

Видео демо одного из AR Cloud стартапов youtube.com/watch?v=tXwVg2…

13:31

Возвращаясь к изначальному вопросу о Google Glass, на самом деле да, такое в ближайшем будущем нас ждет, и называет… twitter.com/i/web/status/9…

13:34

Моя лаборатория сейчас занимается разработкой OST-HMD на основе TMD (Transmissive Mirror Device). Об этой технологи… twitter.com/i/web/status/9…

13:34
@backendsecret Под андроид ARCore роботает пока только на ограниченом количестве топовых телефонов, так что пока о… twitter.com/i/web/status/9…

Все так! Особенно было весело когда они сначала дропнули поддержу Asus Zenfone AR, а мы только месяц как купили это… twitter.com/i/web/status/9…

13:35
@backendsecret Про IT работу в Японии интересно будет почитать

Про это было несколько вопросов поэтому сейчас буду отвечать на все вместе 👍 twitter.com/raido_future/s…

13:38
@backendsecret Во сколько лет ты впервые полетел в Японию и из-за чего?

В 20 лет, получил стипендию на учебу в магистратуре, которую потом продлили в PhD, и я надеюсь уже в этом году я та… twitter.com/i/web/status/9…

13:39
@backendsecret Очень интересно насколько трудно переехать в Японию, найти там работу. И нужен ли японский или английского будет достаточно?

Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…

13:45

3) Работать в Яндексе и быть сханченым компанией Rakuten (шучу конечно, но почему-то именно там я встречал много лю… twitter.com/i/web/status/9…

13:45

В плане языка без японского очень тяжело. По-английски говорят либо в оч крупных конторах вроде того же Rakuten или… twitter.com/i/web/status/9…

13:45

(если вы сейчас подумали как это я 5 лет прожил в Японии и не выучил языка, то это потому что я не ходил на языковы… twitter.com/i/web/status/9…

13:45
@rbektour @backendsecret Как там школьницы? 😜

В самое холодное время года продолжают ходить в юбках, как сказал один мой знакомый: "За это японским школьницам от… twitter.com/i/web/status/9…

13:46
@backendsecret А как с ЗП программистов в Японии? В какой-то передаче по телеку (года 3 назад) показывали что у сре… twitter.com/i/web/status/9…

По-разному, навскидку:

Джуниоры – $2-2.5k
Мид левел – $3-3.5k
Сениоры – $4 и выше

Но например я видел в объявлени… twitter.com/i/web/status/9…

13:53

Вообще как я слышал в Японии программистов не так уважают, все еще бытует отношение к программистам как к неким кле… twitter.com/i/web/status/9…

13:53

Говорю что слышал потому что как программист я работал только в местных стартапах и NTT Research (что-то вроде япон… twitter.com/i/web/status/9…

13:53
@rbektour @backendsecret насколько сложно перебраться в нихон?
и как уже спрашивали, как там школьницы?

Ответил чуть ниже twitter.com/AlixBreed/stat…

13:53
@backendsecret вкусно было?

попробовал сырой рыбы, вроде норм :) twitter.com/basileska/stat…

13:53
@backendsecret Скажи ему "кусэ кураэ бака яку", продемонстрируй, что знаешь японский 😅

Он про мой японский уже успел пошутить 🤣twitter.com/ochyai/status/…htwitter.com/AstarothAst/st…b

13:54
@backendsecret Очень интересно было бы послушать про культуру работы в Японии, и есть ли там что делать без знания… twitter.com/i/web/status/9…

Интересный вопрос! Действительно, переработка имеет место быть. Из рассказов и собственного опыта я видел:

1) Кома… twitter.com/i/web/status/9…

14:01

2) Команды которые действительно пашут до последнего и спят под столом. Обычно я это видел в топовых лабораториях я… twitter.com/i/web/status/9…

14:01

3) Когда все приходят когда надо и уходят когда надо – бывают команды которые работают по 7 вместо 8 часов например… twitter.com/i/web/status/9…

14:01
Один лайк – один факт о работе в японской компании.

С переработкой много интересных вещей, например ввели целую акцию Premium Friday где тебя выгоняют с работы вовремя… twitter.com/i/web/status/9…

14:01
@backendsecret плюс непонятная культура и незнание языка сильно оттолкнули. Это предубеждение, можно с этим справит… twitter.com/i/web/status/9…

Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…

Если вкратце,… twitter.com/i/web/status/9…

14:03

С другой стороны это постепенно пропадает в молодых компаниях, поэтому не все потеряно.

С языком к сожалению тяжел… twitter.com/i/web/status/9…

14:03
@backendsecret Есть ли работающие интерфейсы камера-мозг для слепых и слабовидящих людей?

Я как раз сейчас работаю над схожей темой :)

Меня интересуют т.н. эмпатические интерфейсы, которые используют дру… twitter.com/i/web/status/9…

14:11

Так же недавно читал про контроллер для слабовидящих в VR telegra.ph/Trost-kontroll…

14:11

Вообще использование XR технологий для пользователей с ограниченными возможностями (в виду физических ограничений и… twitter.com/i/web/status/9…

14:11

(некоторые считают этот термин стремным маркетинговым ходом, но тем не менее)

14:11

Например лаборатория где я сейчас работаю в прошлом году представили проект с роботизированым креслом-каталкой с VR… twitter.com/i/web/status/9…

14:11
@backendsecret Можно поподробнее почитать где-то про процесс поступления на магистратуру? В этом году заканчиваю ба… twitter.com/i/web/status/9…

Вообще у меня все началось с вот этой статьи habrahabr.ru/post/128545/

Но если вкратце то, устанавливаете контакт с… twitter.com/i/web/status/9…

14:14

Про подачу и получение MEXT есть очень много материалов и даже форум. Например:

medium.com/@jaynepal/mext…

jref.com/forum/studying…

14:14
@backendsecret Небольшой это сколько сотрудников ушли на автопилоте?

почти все ушли на своих ногах 😂

да нас всего четверо было, обычно такое планируется за месяц, но в этот раз как-то… twitter.com/i/web/status/9…

14:15
@backendsecret вообще оффтоп: слышал инфу, что на нашего СНГшного брата вообще спроса нет среди японочек. это вброс… twitter.com/i/web/status/9…

Вроде как есть спрос :) можно поинтересоваться в соответствующих группах на том же телеграме/фейсбуке twitter.com/frontend_sanya…

14:16
@backendsecret маалооо

Да, в целом говорят что хотите больших прогерских зарплат – едьте в штаты twitter.com/50megatonn/sta…

14:17
@backendsecret Да, читал эту статью по наводке Константина. Это получается надо массово спамить интересующие лабора… twitter.com/i/web/status/9…

Я бы посоветовал сделать так:

1) Определиться с областью исследования
2) Найти интересующие публикации/проекты
3)… twitter.com/i/web/status/9…

14:21

Дальше национальных идти не советую, т.к. в префектурных университетах и меньше плохо с финансированием.

И желател… twitter.com/i/web/status/9…

14:21

Так, мне вставать через 6 часов, так что я временно прекращаю вещать, но обещаю вернуться завтра

14:22

Для тех кто хочет работать с AR вещами могу посоветовать послушать/почитать интервью которое я недавно брал у Марка… twitter.com/i/web/status/9…

14:25

Насколько я понимаю сейчас он открыл новую лабораторию в Новой Зеландии и как раз набирает студентов / сотрудников.… twitter.com/i/web/status/9…

14:26

Думаю не столь важно, главное чтобы был перевод этого самого диплома на японский или хотя бы английский. Как правил… twitter.com/i/web/status/9…

14:48
@backendsecret Насчёт диплома. Должен ли это быть диплом крутого российского вуза или диплома вуза с переферии будет достаточно?

См предыдущий твит twitter.com/elephmoon/stat…

14:48
@backendsecret хорошо говоришь на японском?

Увы как я уже писал раньше, довольно паршиво, на уровне N5-N4 twitter.com/ruxeg/status/9…

14:53
@backendsecret Тогда можно и про налоги немного рассказать

С этим у меня немного сложнее, тк будучи студентом на государственной стипендии я платил налоги только с подработок… twitter.com/i/web/status/9…

15:01
@backendsecret вопрос из Haskell чата. Олег Киселёв в Цукубе ещё преподает?

Увы пока не встречал такого. Там университет гигантский, по размеру примерно как UCLA, нужно брать автобус чтобы об… twitter.com/i/web/status/9…

15:20
@backendsecret Похвастайтесь механической клавиатурой!

Пока свой фото архив ковырять лень, но есть видео с моих митапов, которыми я очень горжусь :) twitter.com/Kevroletin/sta…

15:24
@backendsecret не понимаю в чём прелесть механических клавиатур :(

Как правило тактильность и кастомизация. У хобби любителей есть целая наука о том какие комбинации корпуса / свитче… twitter.com/i/web/status/9…

15:38

Есть еще те кто разрабатывает собственные PCB, например для митапа мы делали ограниченный тираж PCB от создателей T… twitter.com/i/web/status/9…

15:38

А еще раздавали PCB от @TheVanKeyboards pic.twitter.com/NNMllEXlBX

15:38

Рандомные фото моих клавиатур с телефона pic.twitter.com/ZnocGjABHG

15:41

И звук тоже! Настоящие фанаты могут на звук отличить линейные свитчи от тактильных, розовые мх от красных, Топре от… twitter.com/i/web/status/9…

15:50
@backendsecret разве нельзя кастомизировать другие типы?

В зависимости от технологии, просто допустим для тех же Cherry MX и их клонов больше т.н. aftermarket вариантов. Се… twitter.com/i/web/status/9…

16:02

С другой стороны я помню как мой друг Энди из @keychatter описывал ощущение печатания на Cherry ML как «битье пальц… twitter.com/i/web/status/9…

16:02
@backendsecret Где такую разноцветную купить?? :) 4я фотка

Это Planck от @OrtholinearKB, а крышечки – 1976 SA (вроде как их сейчас только на reddit mechmarket можно достать)… twitter.com/i/web/status/9…

16:11

Вообще меня хлебом не корми – дай про механические клавиатуры рассказать. Постараюсь эту неделю держать себя в руках 😅

16:14
@backendsecret Да не, ни в чем себя не ограничивай. Нестандартные оффтоп темы самые интересные.

Тогда завтра я расскажу вам историю о том как я увез открытую бадью с 30л жидкого азота на убере из Комптона twitter.com/easymnyeasylif…

16:23

Я смотрю клавиатуры пользуются здесь большой популярностью, поэтому вот вам еще фото с того дня когда я отвез свою… twitter.com/i/web/status/9…

22:39
@backendsecret Компания платит всё.
22:45

Так вот, рассказываю. Прошлым летом я ехал на конференцию ACM SIGGRAPH 17 в Лос-Анджелесе, и там я в том числе долж… twitter.com/i/web/status/9…

23:59

По дороге в аэропорт получаю от него письмо что мол выручай, студентам нужно купить жидкий азот для демо на конфере… twitter.com/i/web/status/9…

23:59

Демо было про рассчитывание сердцевины в 3д принченых объектах для магнитной левитации (на основе жидкого азота) youtu.be/rnRQmN5Hb90

23:59

В общем обзвонил кучу местных компаний, из них ответила только одна контора. Но тут проблема:

1) Они находятся оче… twitter.com/i/web/status/9…

23:59

(Если что Комптон - один из самых преступных районов в ЛА, если не во всех штатах)

23:59

Всем привет, сегодня с вами я, - Дмитрий Симонов, технический директор drimsim.com. Я расскажу про то,… twitter.com/i/web/status/9…

6:16

Как стать тимлидом или техдиром? Кроме базовых гигиенических правил о профпригодности, необходимо общаться практиче… twitter.com/i/web/status/9…

6:24

Продукт - меняет мир и делает его лучше. В него вкладывают усилия разработчики, маркетинг и продаваны. Ваша обязанн… twitter.com/i/web/status/9…

6:33

Эволюция - та ещё сука и на каждый действительно классный продукт приходится с несколько десятков невыстреливших ги… twitter.com/i/web/status/9…

6:35

Вот пример хорошего продукта, которые изменил мир: Яндекс-Такси полностью переформатировал рынок такси. Он настольк… twitter.com/i/web/status/9…

6:40

После выбора удачного продукта и настройки коммуникаций с окружающим миром вы должны обеспечить собственную проакти… twitter.com/i/web/status/9…

6:55

Проактивность, - ключевое профессиональное качество для внутреннего или внешнего найма тимлида. Это простое бинарно… twitter.com/i/web/status/9…

7:12

Хороший пример сравнения проактивного сотрудника от реактивного: "Барин! Почему ты мне платишь всего пять копеек, а… twitter.com/i/web/status/9…

7:57

Проактивный человек - человек, который осознал свои глубинные ценности и цели, действует в соответствии со своими ж… twitter.com/i/web/status/9…

8:30

Т.о. проактивность, - это работа мысли, формирующей внутренний мир, который вы синкаете с внешним посредством комму… twitter.com/i/web/status/9…

11:14

Важный момент, в своём желании нанести счастье окружающим, - быть конструктивным и нетоксичным. Тимлид - это тот, к… twitter.com/i/web/status/9…

11:48

Договариваться со всеми непросто, - каждый раз требуется сводить в единую систему интересы всех и при этом не потер… twitter.com/i/web/status/9…

11:50

Тимлидам непросто: требуется строить отношения с коллективом, постоянно учиться, терпеть относительно невысокую зп.… twitter.com/i/web/status/9…

12:19

Всё самое хорошее должно начинаться с Тебя самого и Твоего внутреннего мира. Упражнение для самопроверки - готовнос… twitter.com/i/web/status/9…

12:23

# Вторник 435 твитов

Рецепт легко развиваемого сервиса: бек и фронт должны развиваться независимо, общаясь друг с другом через json.

6:45

Таким образом product owner может развивать интерфейсы в любую сторону по мере проверки гипотез.

6:47

Задача же project manager сводится к правильному обеспечению технической инфраструктуры и слаженной работы админов, беков и фронтов.

6:49

Работа правильных админов при этом несет массу ништяков: автодеплой, девсреды по щелчку пальцев, откат изменений и прочее.

6:51

В жизни все сложнее. Команды, которым проект достался готовый, тратят все силы на его познание и пере ориентирование.

6:56

Команды, стартовавшие проект с нуля (ценность, кстати! Мало, кто умеет!) подчинены главному принципы - пусть взлетит хоть как-нибудь!

6:57

Здесь мы сталкиваемся с разделение.м команд/сотрудников на разведчиков и инженеров. Первые проложат тропинку через любую пропасть.

7:00

Вторые (инженеры) превратят эту тропинку (хоть как-то работающий продукт) в широкополосное скоростное шоссе!

7:00

Работа разведчиков и инженеров отличается кардинально. Легко “сжечь” инженера поставив его на позицию разведчика.

7:02

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

7:09

Описанная схема хороша тем, что эффективную команду по ней можно построить из любых людей. То есть быстро и дешево.

7:21

Да и найти отдельно разведчиков и отдельно инженеров намнооооого проще, чем универсалов. Особенно в условиях конкуренции.

7:23
@backendsecret не лучше ли искать золотую середину? Переделывать всегда дороже, чем делать с нуля
8:37

.Конечно же всегда такая середина ищется, @Borovikov. Как правило настоящая команда формируется только после 1-2х проектов.

8:37
@backendsecret ок, расскажи про управление такой командой. Ведь придется работать вместе людям с диаметрально противоположными взглядами.
8:39

.Они идут след в след друг за другом, @Borovikov. Разведчик совершил подвиг, потом приходит ворчливый инженер и всё перестраивает :)

8:39
@backendsecret разведчики ребята это вроде практикующих проектировщиков?
8:40

.Это чапаевцы, @vladimore - шашки наголо и вперёд в атаку. "Тестировать будем в продакшне, выкатывай!"

8:40
@backendsecret всегда спрашиваю питонистов: зачем Питон?Какие задачи можно решить с его помощью, которые нельзя или сложнее решить Perl'oм
8:41

.Я люблю "американо", а вот супруга предпочитает "латте", @dcromster. И то и другое - кофе. Но строго говоря, мировой тренд - это питон.

8:42
@backendsecret И потом получится silos где будут либо хаки на фронтенде, либо бакенд подогнутый под требования одного фронтенда.
8:43

.Вопрос интеграции решаются на скрам-декомпозициях, @freiksenet_ru. Объяснять, что это такое, требуется?

8:43
@backendsecret "правильному обеспечению технической инфраструктуры" это о чем? можно несколько раскрыть тему?
8:45

.В общем видел, @ivanenok, речь идёт об этаких перилах, которые ведут разработчика от получения декомпозированной задачи к её тестированию.

8:45
@backendsecret боюсь ситуация когда ворчун не просто переделывает, а устраивает скандал "разведчику" довольно частая. да и наоборот, бывает.
8:47

.Это проблема проджекта, @Borovikov. Как правило, после первых же побед команды, все конфликты уходят, - результат-то налицо!

8:47
@backendsecret расскажи плиз, какие видишь пути разрешения конфликтов
8:49

.Я убеждённый сторонник того, что сама работа и её результаты оздоровляют обстановку, @Borovikov. Есть результаты, - все довольны.

8:50
@backendsecret хм, чаще всего, манагеры далеко не спецы в построении процессов разработки, они по сути арбитры и ревизоры, имхо
8:51

.Менеджеры, @ivanenok, делятся на инвесторов, продактов и проджектов. Инвестор даёт бабло. Продакт - продаёт продукт. Проджект - строит.

8:51
@backendsecret я думал что нода в частности и JS в общем мировой тренд
8:53

.На фронте, @dcromster, да. Нода одна из первых. Но бек ни кто не отменял.

8:53
В @backendsecret опять говорят, что скрам работает. Как же так, на моем он исключительно не работал и был максимум поводом биллить за час.
9:00

Это просто холивор, @freiksenet_ru.

9:00
@freiksenet_ru @backendsecret которые билятся: "у нас сегодня был эстимейшн на 6ч и 20 чел, вот вам счет — у нас скрам" ну охуеть теперь
9:15

Это несвязанные вещи, @yuritkachenko @freiksenet_ru. Скрам - это итерационное улучшение работающего продукта, а не способ оценки работ.

9:15
@backendsecret @freiksenet_ru ой да ладно, а христианство это добрая религия.
9:18

Смените религию, @yuritkachenko @freiksenet_ru :)

9:18
@backendsecret ок, но у меня совсем другой опыт. у разных людей разные представления о результате.
9:19

Поделись, @Borovikov! Возможно у меня был аналогичный. Это вообще могут оказаться семейными граблями, - на них ещё мой дедушка наступал!

9:19
В @backendsecret опять со своим скрамом, тьфу
9:20

Я ещё знаю слово "канбан", @iamale_ru :) (контрольный выстрел в голову)

9:20
@backendsecret о да! Только инженер не всегда доволен постоянным переписыванием ;) @Borovikov
9:21

Меняй инженера, @dcromster @Borovikov.

9:21
@backendsecret @ivanenok а в прод эти перила не ведут?:) или речь о тестировании продакшном:) bnj.com/blog/cowboy-co…
9:31

Я ограничен в количестве символов в твите, @yevvers @ivanenok. Разумеется ведут.

9:31
@backendsecret строит девелоперов? :) очень жаль проекты, где PM насаждает процесс и инструменты удобные ему, а не команде.
9:33

Строит продукт, @ivanenok. Это очень плохая практика ради крассного словца перевирать то, что я пишу. Не все поймут!

9:33
@backendsecret получается конфликт интересов. безконфликтные комманды обычно на одной волне. все думают как менеджер или как инженер.
9:37

У всего есть общий знаменатель, @Borovikov - получаемое бабло. Введите премиальную систему Водянова, чтобы знаменатель был виден ещё чётче.

9:37
@backendsecret имхо это уже область ответственности дев-лида, а не ПМа. Ввиду его не полной компетенции в таких вопросах
9:39

Считайте, что я имел в виду дев-лида, @Xedin.

9:39
@backendsecret я там специально поставил смайл. мне сложно представить программера без чувства юмора, можно с ума сойти :)
9:40

Не вопрос, @ivanenok :)

9:40
"@backendsecret найти отдельно разведчиков и отдельно инженеров намного проще, чем универсалов". Как понять, кто есть кто, во время поиска?
10:33

Разведчики, @meAmidos, уверены, что мы живем в лучшем из миров. Инженеры опасаются, что так и есть!

10:35
@backendsecret гляжу на наш продакшен и вижу, что у нас одни разведчики :( как "продать" ПМу идею про инженеров? Спеть про баги в проде?
10:36

Спой, @vladimore, про Стива Джобса и клиентов. Деньги второй раз дают только хорошему сервису с их т.з.

10:39
@dcromster @backendsecret тренд - это то, для чего тебе здесь и сейчас удалось собрать команду. Есть питонисты,то и питон будет трендом.
10:40

Здесь важно держать в головах, @de_gis, какие команды удалось собрать большим компаниям.

10:41
@de_gis можно же искать команду целенаправленно: вот эту задачу лучше решает питон, вот эту Node... разве нет? @backendsecret
10:41

Нет, @dcromster. Опираться надо на собственный опыт. Используй свои сильные стороны!

10:42
@backendsecret хорошо, сферический пример: работаем с текстом. Перл на это заточен, Нода -нет. На ней можно сделать тожесамое, но стоит ли?
10:45

Люди, @dcromster, это тоже часть сервиса. Такая же, как оборудование или технологии.

10:46
@dcromster А я вообще не понимаю зачем всё это нужно, есть жеж Ruby :) @de_gis @backendsecret
10:49

Разумеется, @POS_troi! Если есть в наличии рубисты, пиши на нем! @dcromster @de_gis

10:49
@backendsecret не соглашусь,это больше ф-ции техлида.А PM он управляет РЕСУРСАМИ,в т.ч.и людскими.PM в теории м.б. бараном в разработке
10:52

Есть и такой подход, @de_gis ) В этом плане все верно!

10:53
@backendsecret, как применить этот афоризм на практике? ;) Какой ключевой вопрос / ответ на собеседовании?
11:35

Инженер будет рассказывать про внедрённых технические фишки, -много и с упоением, @meAmidos. Разведчик - про достигнутые бизнесом победы.

11:35
@backendsecret и распри из-за денег только ухудшают отношения в коллективе, это уже проверено.
12:37

Почитайте тут, @Borovikov: megamozg.ru/post/1736/

12:37
@backendsecret @Borovikov Программисты таки не ямы копают. Обьективно оценить качество работы программиста сложно.
12:44

Возьмите 2х программеров, @freiksenet_ru, о они совершенно точно определяться друг с другом, кто из них мастер, а кто подмастерье @Borovikov

12:44
@backendsecret эм, ужас какой-то )) Я скорее согласен с Джоэлем, все это от лукавого:
local.joelonsoftware.com/wiki/%D0%9C%D0…
12:50

Джоэль, разумеется авторитет, @Borovikov. Но какие из этих методов вы тестили в реале? Я вот делюсь своим опытом. А вы?

12:50
@backendsecret особенно страдают "инженеры". их вклад долгосрочен и не очевиден. в итоге весь куш у "разведчиков"
12:57

Хороший аргумент, @Borovikov. Буду думать.

12:57
@Borovikov @backendsecret такая проблема возникает когда команда разношерстная в плане опыта и сами отношения ы тиме нездоровы.
13:13
@backendsecret @Borovikov мы устраивали занятный эксперимент. оценивали задачи как в planning poker, и соответсвенно делили деньги проекта.
13:13
@backendsecret @Borovikov надо заметить что эффект был весьма занятным. оценки стали несколько точнее и браться стали за доступные задачи.
13:13
@backendsecret @Borovikov но дело было в начале 00х и концепт был далеко не аджайловским. простое доморощенное изобретение оч понраивлось.
13:13
@backendsecret очень интересный поток мыслей был :) А я из какого лагеря? )))
15:17

Ты, @xuntaka, отдельный класс под названием "Охуенные Байбара Егор" :)

15:17
@backendsecret А Redis Cluster пробовали? сами или в EC?

Нет не пробывали, пока не надо было twitter.com/bardadymchik/s…

7:25
@backendsecret Protobuf какой-нибудь можно взять, если тебе важна скорость, а схема нечасто меняется

Да протобаф тоже шустрый, но там возни больше twitter.com/erthad/status/…

7:26
@backendsecret Postgres в docker запускаете? Есть какие-то официальные за и против от разработчиков?

В докере запускаем в CI и в stage, вот от туда жалобы на скорость поднятия. От разрабочиков только жалобы на миграц… twitter.com/i/web/status/9…

7:28

Кстати life hack если запускать пострес в докере на машинах i3 в амазоне то он стартует за 3 минуты, на обычных m4 20 минут

7:29

Всем доброе утро.
Одна из привелегий работать в IT в Израиле это вставать без будильника(это не помогает от пол год… twitter.com/i/web/status/9…

7:31

В Израиле почему то програмисты, стартапы вся индустрия называет high tech а IT называется это больше help desk.

7:32

Когда работаешь в компанией которая занимается такси, можно понимать погоду на улице не вставая с кровати, просто п… twitter.com/i/web/status/9…

7:38

По просьбам желающих выбран первой темой кубернетес(демократии или как там ее)

8:06

Вообще кубернетес это оркестрация для контейнеров, но это везде написано. Если другими словами то это платформа по… twitter.com/i/web/status/9…

8:08

Он еще умеет делать так чтоб твой сервисы всегда жили.
А главная что это все работает быстро, то есть надо еще 5 ин… twitter.com/i/web/status/9…

8:10

Он не идеальный, есть баги, иногда ломается, но из 3 решений мной провереных это на поряжок лудше
Проверял я ECS, swarm, k8s

8:12

Все сложность с кубом это его установка. Оно бывает разная, в амазоне, на чистом железе, в гугле и так далее.
Амазо… twitter.com/i/web/status/9…

8:14

Пока амазон спали, опен сорсе общество написало решения для установки и управления кубернетесом в амазоне.
Называет… twitter.com/i/web/status/9…

8:17
@backendsecret А как же EKS? Он хоть и beta, но уже есть.

Он preview... Пока не готов будет через пол года, это их пробуждения от сна twitter.com/vlazarenko/sta…

8:18

Все yaml с настройками идут на s3 и там хранится state.
Другой вариант можно получить это как терраформ файлы.

8:19
@backendsecret Kops к сожалению отстаёт по версиям куба нешуточно. Что удручает. А так тул весьма неплох.

Да примерно - 1 всегда twitter.com/vlazarenko/sta…

8:19
@backendsecret вот это интресно, как вообще устанавливать k8s ;), нужно минимум 3 ноды? я пробовал minikube на mac… twitter.com/i/web/status/9…

Новый докер идет с кубом вместе работает без vm twitter.com/lisovskyvlad/s…

9:48
@backendsecret Swarm до прода доходил, или просто игрались?

Игрались и проверяли возможности twitter.com/KostyaEsmukov/…

9:49
@backendsecret А что именно в стекдравере не устраивает?

После перехода в гугл он тормозит.
Не совсем дружит с кубом twitter.com/tru_pablo/stat…

9:50

Ок после того как kops сохраняет yaml на s3, через него можно поднять autoscaling group в амазоне.
Машины поднимают… twitter.com/i/web/status/9…

9:52

Kubelet-это бинари который бежит демоном на машине и управляет всем
Docker
Iptables и так далее

9:53

С этого момента все остальное уже в контейнерах.
На мастерах поднимается etcd, apiserver dns
На всез остальных маши… twitter.com/i/web/status/9…

9:55

Ectd в кубе это база данных, там хранятся все настройки.
Без нее все плохо
Кстати время ответа и живучесь очень сил… twitter.com/i/web/status/9…

9:58
@backendsecret кроме datadog что-то планируете проверять? или их многомиллионный PR делает свое дело?

Newrelic infra
Signal fx twitter.com/tru_pablo/stat…

10:00

Apiserver в кубе это вебсервер, который весит поверх etcd и в него стучатся все ноды за настройками, командами
Есть… twitter.com/i/web/status/9…

10:07

Pod - это что то на подобие докер композ
Набор одного или более контейнеров бегущих вместе, можно между ними папки… twitter.com/i/web/status/9…

10:11

Так что pod это самый маленький обьект в кубе.
Выше него есть replica set. Это обьект проверяет что есть нужное кол… twitter.com/i/web/status/9…

11:24

Через deployment можно указать все что надо чтоб поднять сервис аппликации в кубе.
Там можно указать как делать деп… twitter.com/i/web/status/9…

11:26

Есть еще обьект daemon set, то же самое что deployment в настройках кроме того что не указывается количество реплик… twitter.com/i/web/status/9…

11:28

Есть хорошая интеграции куба с амазон если ставить все через kops.
Можно вообше в амазон не заходить все будет,
Доб… twitter.com/i/web/status/9…

11:35
@backendsecret У нас сварм в проде... Гораздо лучше k8s

Может быть если ва не надо
Автоскалин машин и подов
Подключения volume
Настройка dns
И много других вещей twitter.com/DmitriyLyalyue…

11:37
@backendsecret Ты о глобальном сервисе в сварме? При добавлении ноды сервис будет задеплоен на эту ноду сразу после… twitter.com/i/web/status/9…

Нет если у тебя есть 3 контейнера одного сервиса и по cpu надо больше, а других не надо больше twitter.com/DmitriyLyalyue…

11:59

Поды в кубе между собой общаются через обьект который называется service, он по таг знает какие поду его я балансит… twitter.com/i/web/status/9…

12:15
@backendsecret docs.docker.com/compose/compos… Ну и плюс replicas. Или я опять не верно понял?

Ну вот делать плюс репликам ты сам делаешь или он автоматом умеет когда у тебя cpu 70% на 3 контейнера добавить еще… twitter.com/i/web/status/9…

12:28

Перейдем на другую тему по опросу
а то я так понил куб на пальцах не обьяснить

CI/CD/devops tools

12:44

Начнем с Jenkins
Швейцарский нож для всего что хочется
куча плагинов/API/галочек настроек и так далее
можно делае… twitter.com/i/web/status/9…

13:31

Travis-ci полезная штука для тестов
Плюс легкой настройвать в самом репо для любого програмиста
даешь команде дос… twitter.com/i/web/status/9…

13:38

packer
штука умеет строить image для амазона(AMI) и для других
говоришь в json мне надо машина такого размера, на… twitter.com/i/web/status/9…

14:13
@backendsecret Интересно чем k8s лучше swarm mode. Меня в swarm mode привлекает простота... Хочу понять, чем я за нее буду расплачиваться

@backendsecret
фичерым
поддержка в опен сорс
кубернетем сложен в установки(с kops проще) потом все просто даже о… twitter.com/i/web/status/9…

14:28
@backendsecret кстати, я не очень понимаю, когда и как kubernetes будет поддерживаться в Docker CE? Т.е. они просто… twitter.com/i/web/status/9…

да у меня есть на маке docker там есть опция на kubernetes локальный работает на ура twitter.com/dimaip/status/…

14:33

кто еще не видел kubernetes вместе с docker на маке
работает норм. Вместо minkube без VM pic.twitter.com/BYunMZfTJf

14:34

На счет репозитор на каждый сервис, в плане ответственности команды это хорошо,CD делать, могут быть разные языки и… twitter.com/i/web/status/9…

17:23

Настройки в гитхабе у нас такие.
На главные бранчи не кто не пушает толькл делает pull request. Все такие PR проход… twitter.com/i/web/status/9…

17:25

Компании которые хотят делать микросевисы должны привести минимум траты время на создание нового сервиса. Часто это… twitter.com/i/web/status/9…

17:27

Очень полезно когда у вас десятки сервисов иметь одно место где лежат их имена настроки всякие. И желательно чтоб э… twitter.com/i/web/status/9…

17:30

Например хотите создать на ходу конфигурации куба для все сервисов.
Делаем темплет для настроек
Идем в API получаем… twitter.com/i/web/status/9…

17:33

Настройки меняются в одном месте.
Новый сервис появляется в api и тут же он будет везде работать. Кстати там же мож… twitter.com/i/web/status/9…

17:34

Life hack
Можно в jenkins сделать selectbox выбор сервисов как параметр. Список тянется с api динамический, и так м… twitter.com/i/web/status/9…

17:39
@backendsecret Очень полезно посмотреть ещё и сюда: github.com/jdauphant/awes…
7:04
@backendsecret Если использовать conda, можно в одном yaml файле и питон, и пакеджи, и библиотеки описать и ставить… twitter.com/i/web/status/9…
7:11

Nginx. Если вы используете его с докером, то nginx-proxy упрощает жизнь.
В него прокидывается сокет докер демона, ч… twitter.com/i/web/status/9…

7:25

Это гораздо удобнее, чем использовать голый nginx и писать конфиги с апстримами руками.

7:25

... т.к. живых апстримов нет. Приходится его релоудить после деплоя аппа, чтобы он заново отрезолвил домены из апст… twitter.com/i/web/status/9…

7:25

Также к этой связке легко добавить поддержку LetsEncrypt с помощью github.com/JrCs/docker-le…

7:25

Только скейлить сетап nginx+LetsEncrypt сложнее: нужен общий стор между нодами (челленджи, сертификаты). Да и вообщ… twitter.com/i/web/status/9…

7:25

Также LetsEncrypt предлагает 3 вида челленджей: HTTP, DNS, TLS-SNI. Можно использовать DNS челлендж с одной машины… twitter.com/i/web/status/9…

7:25

Кстати, TLS-SNI челлендж планируют совсем убрать, т.к. легко получить сертификат для домена, который не контролируе… twitter.com/i/web/status/9…

7:25

Альтернатива – traefik.io . У него есть поддержка распределенного LE через K-V store. github.com/containous/tra…

7:25

Если еще не читали статью о том, как в StackOverflow год назад внедряли https – очень рекомендую. Про один wildcard… twitter.com/i/web/status/9…

7:25
Спринт на три недели я ласково зову «водопадик». twitter.com/backendsecret/…
7:34
@backendsecret Если сервис только на одной машине, то для прода это вполне весомое условие, согласен. А падение стейджа чем так критично?

Падение стейджа не критично. Но чем ближе среда прода к среде стейджа, тем меньше риск положить прод. Особенно с ан… twitter.com/i/web/status/9…

9:02
@jyraff @backendsecret У нас в рельсе другая проблема с Docker'ом: чтобы все это дело отдавалось nginx'ом, приходит… twitter.com/i/web/status/9…

В Django тоже такая особенность есть. Если uwsgi еще умеет статику раздавать из контейнера, то Django Channels – ни… twitter.com/i/web/status/9…

9:06

Почему nginx, а не traefik или даже голый веб апп:

9:14

1. Nginx очень качественный и быстрый. Даже я, такой “везучий”, не сталкивался с багами ни разу.

9:14

А вот issue трекер traefik сразу отпугивает: github.com/containous/tra…
Поищите даже по таким базовым вещам как gzip,… twitter.com/i/web/status/9…

9:14

2. Все-таки иногда нужно переопределять локейшоны. Редиректы расставить, заголовки кеширования на статику, robots.t… twitter.com/i/web/status/9…

9:14

3. Nginx может в microcaching: во время наплыва можно врубить кеширование ответов аппа для гостей. У нас снижало на… twitter.com/i/web/status/9…

9:14

Только осторожно с геоипом, куками и заголовками. Надо знать, от чего зависят ответы аппа. И апп не должен слать se… twitter.com/i/web/status/9…

9:14

Если в Django это практически не нужно (проще кеширование из Django через redis заюзать), то для ноды с Server Side… twitter.com/i/web/status/9…

9:14

4. Nginx (и -proxy + LEcompanion) умеет OCSP stapling из коробки. keycdn.com/support/ocsp-s…

Traefik не умеет… twitter.com/i/web/status/9…

9:14

5. Nginx замечательно работает с http/2. Не хватает только server push. Но, честно, пользы от него мало: чтобы брау… twitter.com/i/web/status/9…

9:14

CloudFlare умеет h/2 push. По моим экспериментам, если пушить бандлы вебпака (которые иначе прекрасно кешируются),… twitter.com/i/web/status/9…

9:14

А может кто-то все-таки успешно использует h/2 push? Расскажите!

9:14

CORS исторически у нас всегда был в nginx. Как-то так: enable-cors.org/server_nginx.h…
На первый взгляд вроде всё мило: эко… twitter.com/i/web/status/9…

9:21

На второй не очень:

9:21

3. OPTIONS запросы не доходят до аппа. Django Rest Framework там возвращает инфу по эндпоинту, например, которая мо… twitter.com/i/web/status/9…

9:21

Мониторинг. Минимальный набор у нас это: nginx access logs + Sentry + Zabbix + uptimerobot.com . Настраивае… twitter.com/i/web/status/9…

17:21

Zabbix с версии 3 стал очень хорошим. Появилось TLS шифрование между агентом и коллектором (теперь VPN/LAN для них… twitter.com/i/web/status/9…

17:21

Из коробки легко настраиваются алерты в почту. Можно настроить хоть в телеграм: gist.github.com/KostyaEsmukov/…

Агенты раз… twitter.com/i/web/status/9…

17:21

Но добавлять кастомные метрики в заббикс неудобно. Нужно и в агент конфиг дописать, и в вебморду template сделать (… twitter.com/i/web/status/9…

17:21

Sentry мы очень любим. С Python/Django интеграция вообще прекрасная. По любому непойманному исключению есть куча ин… twitter.com/i/web/status/9…

17:21

Есть Cloud версия. Но надо иметь в виду, что несмотря на наличие встроенного data scrubber на клиенте, часть секрет… twitter.com/i/web/status/9…

17:21

Клиент Sentry для JS чуть похуже питоновского. Инфы отсылается меньше. Также у них их две версии: "raven-js" для бр… twitter.com/i/web/status/9…

17:21

Prometheus хорош. Прожорливый по памяти только, да и разворачивается тяжеловато: куча отдельных компонентов (сам pr… twitter.com/i/web/status/9…

17:21

Из аппа метрики можно экспортить так:

17:21

Если между прометеусом и экспортерами нет защищенной сети (у нас разные проекты мониторятся), то в доках рекомендуе… twitter.com/i/web/status/9…

17:21

Мы спрятали за nginx с клиентскими сертификатами. Работает замечательно, но ансибла вокруг этого всего многовато.

17:21
@backendsecret Если у вас девелоперы дешевле девопсов, то у вас проблемы. Обслуживание должно обходиться дешевле ра… twitter.com/i/web/status/9…

Хаха, у всех девелоперы дешевле девопсов (если вы не называете девопсами релиз инженеров). Не верите? Почитайте ста… twitter.com/i/web/status/9…

7:25

Девопсы так дорого стоят потому что бизнес видит что введение этой роли решает конкретные проблемы. Из минусов – ха… twitter.com/i/web/status/9…

7:26

И вот тут я начинаю не понимать: инфраструктура интереснее бекенда хотя бы потому что пилить формочки под какой-то… twitter.com/i/web/status/9…

7:33

И я бы не сказал что инфраструктура\девопс это сложно. Нет, это даже проще.

(Я не беру в расчет ребят которые по… twitter.com/i/web/status/9…

7:35
@backendsecret Чот у вас какое-то очень узкое представление о том что такое бэкенд.

Ну или у людей узкое представление о том что такое девопс :) Например: twitter.com/russianlagman/… twitter.com/feelthefrog/st…

7:36
@backendsecret Супердинамичная отрасль с десятом покрытых мхом инструментов. Сколько лет паппету, ансиблу? Не тянет… twitter.com/i/web/status/9…

Достойно :) Хотя последний раз использовал шеф года три-четыре назад. Сейчас же везде контейнеры, правильно? twitter.com/russianlagman/…

7:57
@backendsecret Девелоперы делают условный Продукт, пилят фичи. А девопсы за ними подчищают, фиксят баги. Так себе деятельность.

А QA пишет тесты вместо программистов. Алло, звонили 90-е, просили вернуть их орг. структуры обратно. twitter.com/alcotaran/stat…

7:58

Вообще звучит очень забавно: “Подчищать за программистами”. Некоторые мои знакомые сисадмины примерно так описывают свою деятельность.

8:01
@backendsecret Стейтфул сервисы никто не отменял, их тоже надо обслуживать. Сборка контейнеров мало чем отличается… twitter.com/i/web/status/9…
8:03

Ну вот, мне накидали как в девопсе все тоже плохо. А я хотел попереманивать людей между специальностями.

8:03
@backendsecret Писать скрипты для инфраструктуры это примерно как собирать Лего конструктор, конечно тоже увлекател… twitter.com/i/web/status/9…

Вообще у меня как-то в моих девопс командах программистов обычно больше чем сисадминов\опсов. Интересно почему? twitter.com/radium73/statu…

8:05
@russianlagman @backendsecret то ли дело говнокод на пхп, да? сидишь с 95 года, ковыряешь очередную legacy crm или… twitter.com/i/web/status/9…
8:05

Хотя если вы спросите лично меня, то вот совсем уж имхо, но я люблю плоские структуры с шарингом опыта между людьми… twitter.com/i/web/status/9…

8:10
ахахахахахаха!!!! twitter.com/backendsecret/…
8:25
@backendsecret А кому нужна эта инфраструктура, 99% времени уходит на написать приложение, 1% скрипты/контейнеры чт… twitter.com/i/web/status/9…
8:27

Вообще так трогает наивность с которой люди рассуждают о том как в инфраструктуре все просто :) Интересно, как там… twitter.com/i/web/status/9…

8:28
@borovikov @backendsecret Ну фидбек он вполне имеет право возвращать бизнесу, и если бизнес не совсем дремучий, то… twitter.com/i/web/status/9…
9:10
@radium73 @backendsecret А то, что на бэке у вас своего кода тоже двадцать строчек, а все остальное за вас написали… twitter.com/i/web/status/9…
9:10
@russianlagman @backendsecret как умение freebsd 10 лет назад влияет на знание современных практик и технологий? в… twitter.com/i/web/status/9…

Вот, кстати, отличное мнение. Часто люди если запускали джейлы считают что они знают о инфраструктуре все. А мир ме… twitter.com/i/web/status/9…

9:11
@AstarothAst @backendsecret Кто лучше автора знает что автор хотел сказать? Как там его творение должно запускаться… twitter.com/i/web/status/9…

Ну вот именно. Зачем переносить кучу знаний о внутреннем устройстве кода между головами и между специальностями? Ве… twitter.com/i/web/status/9…

9:12
@BeiZero @truetobetrue @backendsecret Если у вас на проекте уходит 99% времени на скрипты развёртывания, то вы делаете что-то не то и не так
9:17

Хм. Давайте введем разные названия для разных девопсов?

Например девопс-сисадмин, девопс-оператор, девопс-инфраст… twitter.com/i/web/status/9…

10:17

Все что я говорил вчера сводится к тому что девопс сейчас супер широкий тайтл, который можно заменить на “решатель… twitter.com/i/web/status/9…

10:22

Поэтому спорить насчет того что должен делать девопс такая же специальная олимпиада как и доказывать что андроид лучше айфона.

10:23

Вернемся к мониторингу – девелопер должен мониторить код не только потому что он лучше знает код и имеет больше рыч… twitter.com/i/web/status/9…

10:31
@vgn_xplrr @radium73 @backendsecret Да я не против, просто немного подгорает, когда говорят что есть настоящие прог… twitter.com/i/web/status/9…

Стой, я думал что девелоперы используют труд маркетологов и сейлов. Потому что без них никто бы не знал о продукте. twitter.com/alexgsh404/sta…

10:33
@backendsecret Потому, что поддерживать инфраструктуру проще, чем ее наполнять. В моей практике было 5 сисадминов н… twitter.com/i/web/status/9…

Вообще я о таком только слышал. И часто это симптом оторванности сисадминов от бизнеса. Потому что реальный бизнес… twitter.com/i/web/status/9…

10:44
@backendsecret Вопросы реакции на проблемы - проблемы девопсов. Девелоперы пилят говно, девопсы деплоят и живут в э… twitter.com/i/web/status/9…

Отличная тема, но вообще опсы редко сами могут пофиксить проблему. И чаще дергают девелоперов, чем фиксят что-то са… twitter.com/i/web/status/9…

10:46
@backendsecret Что значит мониторить код?

Блин, я опять. Мониторить сервис. Я всегда имею ввиду мониторить сервис :) twitter.com/hairyhum_/stat…

10:50
@backendsecret Хуевые значит девопсы. Главное умение девопса - быстро разгребать говно. В том числе и в коде бизнес… twitter.com/i/web/status/9…

Всегда интересно, откуда люди берут уверенность в своих словах? Ну то есть вот парень на 100% уверен в том что конк… twitter.com/i/web/status/9…

10:55
@backendsecret Почему вообще девопсы должны фиксить баги продукта, если они работают с инфраструктурой? Может тогда… twitter.com/i/web/status/9…
10:59
@truetobetrue @backendsecret О, ну давайте про девопс. Прогер пишет код, который взаимодействует с redis, oracle, l… twitter.com/i/web/status/9…

Тут такая штука, что да, в проде все по другому. Надо ли девелоперу при разработке учитывать что код будет запускат… twitter.com/i/web/status/9…

11:12
@backendsecret Так тут (как всегда!) вопрос баланса - начнешь думать о всем подряд, и не сделаешь даже того миниму… twitter.com/i/web/status/9…

Тут хитрая штука – делать надо минимум который нужен. Но как проще сделать этот минимум: ставя задачу одной команде… twitter.com/i/web/status/9…

11:23
@backendsecret Поэтому, наверное, стоит рассмотреть вариант пересборки команды, что б в ней были, как специалисты,… twitter.com/i/web/status/9…

Да, мне очень нравится такая структура сквадов. Я впервые о них услышал в докладах от Spotify… twitter.com/i/web/status/9…

11:30

Впрочем, в граммарли мы реализовали что-то подобное пару лет назад. Не знаю как сейчас, может что-то уже и изменило… twitter.com/i/web/status/9…

11:31

Вы в организации разделяете логи как часть UI и логи как набор событий? Если вы пишите логи что б было удобно из ко… twitter.com/i/web/status/9…

13:14

По-хорошему, чтобы написать лог надо спросить себя - может ли мне понадобится информация о этом событии в будущем?… twitter.com/i/web/status/9…

13:16

То есть вместо:
INFO: start super method for user qwe123
INFO: super method end without mistake

можно попробоват… twitter.com/i/web/status/9…

13:21

Конечно, я не могу давать рекомендации по формату событий, но для небольших нагрузок json очень неплох.

13:21
@backendsecret тут ведь как - если разработчик не занимается локализацией проблем - то ~его надо сжечь~ он рассужда… twitter.com/i/web/status/9…

Ну этим он усложняет локализацию проблем для опсов или кто там ей занимается?

Я думал что мы уже договорились о т… twitter.com/i/web/status/9…

13:23

Организация бизнес ролей по знаку зодиака. Недорого. twitter.com/sleem_muzzy/st…

13:32
@backendsecret @truetobetrue А. Тогда вопросов больше не имею. Да и вообще, судя по всему, человек не сталкивался с… twitter.com/i/web/status/9…
13:48
@backendsecret быстро получать фидбек. сам наговнокодид - сам огрёб. я этот подход продвигаю в своём проекте:)
16:34

Что-то срач о том что должен делать\не делать девопс не утихает со вчера. А вроде твиттер о бекенде. Кстати, как вы… twitter.com/i/web/status/9…

18:46
@backendsecret Я нежно люблю оба языка. У каждого своя ниша. Однако компания в которой я работаю активно избавляетс… twitter.com/i/web/status/9…
18:55

Но в мире инфраструктуры и утилит го заменил питон и руби. В основном из-за того что код очень легко читать и доста… twitter.com/i/web/status/9…

19:02
@backendsecret Go шустрее, но проще python конечно
19:15
@backendsecret Пайтон может и хорош для изучения основ. Но потом он хорош в прикладной сфере, типа датасайенса и не… twitter.com/i/web/status/9…
20:08
@MurcielagoCat @basili4_1982 @backendsecret @truetobetrue Как обещал - подробнее про большие внедрения. Да простит… twitter.com/i/web/status/9…

Начиная с этого твита отличный тред от @AstarothAst twitter.com/AstarothAst/st…

20:19
@backendsecret Го читать легче питона и руби?

Вообще да. Ну если поставить вентилятор в кресло для охлаждения пятой точки от постоянных if err != nil

По моему… twitter.com/i/web/status/9…

21:20

Или о том какой метод суперкласса мы наследуем. Или о том что к нам приходит и по какому методу мы можем к нему обр… twitter.com/i/web/status/9…

21:22
@backendsecret В го довольно большой бойлерплейт у слайсов, словарей, строк, регэкспов; нет перегрузки операторов и интерполяции строк
21:29

Вчера я написал о том, что все библиотеки для работы со временем сломаны. Сломаны они в предсказуемых местах, поэто… twitter.com/i/web/status/9…

7:31

Там есть все те же проблемы что и везде, но! метка времени там, это на самом деле две метки времени. Когда вы получ… twitter.com/i/web/status/9…

7:33

а если вы захотите вывести метку времени в лог, будет использоваться обычная метка времени. Монотонной метки времен… twitter.com/i/web/status/9…

7:34

В общем, как обычно с golang, за вас подумали и решили что вам лучше подходит, заодно добавили защиту от дурака.

7:35

По поводу Go. Я делаю на нем один свой pet проект, поэтому довольно много кода приходится писать. Это love-hate rel… twitter.com/i/web/status/9…

7:37

Но как язык это что-то жуткое. Чего только стоит обработка ошибок. В коде на Go слишком часто можно встретить `val,… twitter.com/i/web/status/9…

7:46

Отдельного упоминания заслуживает стандартная библиотека. Там очень много сильно странного. Вышеупомянутый package… twitter.com/i/web/status/9…

7:48

Если вы хотите использовать таймаут, то придется использовать другую функцию - DialTimeout (ведь Пайк считает что п… twitter.com/i/web/status/9…

7:49

Самое ужасное это vendoring и работа с зависимостями. Слежу за одним проектом на Go на Github-е, в один прекрасный… twitter.com/i/web/status/9…

7:53
@backendsecret Вот на обработку ошибок гнать не надо. В других языках тоже пустой catch написать можно. Самое главн… twitter.com/i/web/status/9…

главная претензия это не игнор ошибок, а километровые простыни кода, щедро усеяные if err != nil {...} twitter.com/borovikov/stat…

7:56

которые чаще всегд делают `return nil, err` и все, код который в языке с исключениями писать не надо

7:57
@backendsecret Тебе просто специальной клавиатуры не хватает pic.twitter.com/sSZe7Yud2v
7:59
@backendsecret Pragmatic! Practical! Non-academic!
7:59
@backendsecret Скрлько ты знаешь человек, способных написать радежный код на с++, который бы работал, с исключениям… twitter.com/i/web/status/9…

В С++ это сложно только из-за свойств языка. Нужно осилить RAII и основы написания exception safe кода. В языках с… twitter.com/i/web/status/9…

8:14

С другой стороны, в обработке ошибок в Go есть кое что хорошее, это хорошее - panic. Скажем в С++ сейчас мало кто и… twitter.com/i/web/status/9…

8:18

В результате получается, что код, который работать уже не должен, продолжает работать. Нарушения инвариантов должны… twitter.com/i/web/status/9…

8:20
@backendsecret Если посмотреть на это с другой стороны, то vendoring и dep management в Go это как раз самое сильно… twitter.com/i/web/status/9…

Разница в том что история изменений в гите портится. Стараешься делать атомарные коммиты и писать нормальные commit… twitter.com/i/web/status/9…

8:25

С другой стороны это учит думать о том, что ты не просто зависимость в проект притащил, но семизначное количество с… twitter.com/i/web/status/9…

8:27
we are all going to die pic.twitter.com/fAUyR2S9hX
8:35
@flex_ferrum @backendsecret Еще есть байка про то, что в Новосибирске граница UTC+6/UTC+7 таймзон раньше проходила… twitter.com/i/web/status/9…
12:24

Всем доброе утро и привет из @it_poselok! Сегодня поговорим про методологии разработки. pic.twitter.com/iKSRnmY0Uz

7:52

У нас в компании используется некий гибрид Scrum, Continuous Integration, "хуяк-хуяк, и в продакшен", а также элеме… twitter.com/i/web/status/9…

7:56

Еще какое-то время использовали Planning Poker для оценки задач в спринте, но он отнимал кучу времени. Затем в кома… twitter.com/i/web/status/9…

8:00
А как с такими долгами боретесь? @backendsecret pic.twitter.com/GVwezxoz2p

Отдел коллекшена уверяет, что по таким долгам исправно платят без всяких просрочек :) twitter.com/dcromster/stat…

10:12
Началось!
stepik.org/course/693/syl…

Русскоязычным желающим изучать Haskell очень повезло, у нас есть великолепный онлайн-курс от Дениса Николаевича Мос… twitter.com/i/web/status/9…

4:25
@backendsecret @hmemcpy @_bravit Виталий, расскажите почему вы не выбрали гламурную жизнь разработчика бэкенда?

Я руководствуюсь старым принципом: «кто не может работать, тот учит». Есть ещё, правда, продолжение: «кто не может… twitter.com/i/web/status/9…

4:29
@backendsecret @_bravit а Idris вы тоже в университете преподаёте?

У нас сейчас нет регулярного курса Идриса, я с ним обычно в другие места езжу, вот тут есть два таких прочтения в з… twitter.com/i/web/status/9…

4:35
@backendsecret По моему вполне хорошее начало. Я раньше думал, что Haskell это нечто вроде латыни среди языков прог… twitter.com/i/web/status/9…

Учёные мужи пользуются, постоянно придумывают много всего сложного и непонятного, но for the rest of us есть парсер… twitter.com/i/web/status/9…

4:38
@backendsecret Ебать-копать, про настоящий Хаскель?
А правда, что в том примере про quicksort на C vs Хаскеле, кото… twitter.com/i/web/status/9…

Про quicksort правда, вот такой код плох: wiki.haskell.org/Introduction#Q…. Если под правильной реализацией понимать сортиро… twitter.com/i/web/status/9…

4:44
@frank_snijder @backendsecret Если говорить о Common Lisp, то там очень богатая система типов и одна из лучших реал… twitter.com/i/web/status/9…

Спасибо. Я сам не очень хорошо знаю Common Lisp, зато есть отличная книжка: lisper.ru/pcl/, её переводом з… twitter.com/i/web/status/9…

4:59
@backendsecret Прочтя этот тред вы можете увидеть "Проклятье монад" в действии: если ты понял что такое монада, то… twitter.com/i/web/status/9…

Не встречал ни одной попытки объяснения монад без того, чтобы кто-нибудь не вышел с таким наблюдением. На самом дел… twitter.com/i/web/status/9…

5:15

Давайте поретвичу реплаи про интересные и полезные хаскелевские библиотеки. Предлагаю такой формат: «sbv — верифика… twitter.com/i/web/status/9…

6:51
@backendsecret На эту тему прочитал замечательный пост (англ.) про то, почему большинство monad tutorials не работа… twitter.com/i/web/status/9…

Также можно почитать Abstraction, intuition, and the “monad tutorial fallacy” от Brent Yorgey… twitter.com/i/web/status/9…

6:56
@backendsecret hackage.haskell.org/package/servant - создание веб сервисов через декларативное описание (на типах); генерация к… twitter.com/i/web/status/9…
7:33
@backendsecret hackage.haskell.org/package/smallc… - фреймворк для тестирования аналогичный quickcheck, но вместо случайных да… twitter.com/i/web/status/9…
7:35
@backendsecret hackage.haskell.org/package/QuickC… - автоматическое тестирование свойств функций. Может генерировать случайные… twitter.com/i/web/status/9…
7:36
@backendsecret hackage.haskell.org/package/distri… - erlang для Haskell, но типизированный и с каналами, там целая экосистема.
7:40
@backendsecret hackage.haskell.org/package/async высокоуровневый интерфейс для работы с легкими потоками, и задачами выполняемыми в фоне.
7:40
@backendsecret hackage.haskell.org/package/stm - software transactional memory сделанное правильно (и первыми). Основная ли… twitter.com/i/web/status/9…
7:41
@backendsecret это были библиотеки внутреннено потребления, которые могут помочь лучше написать программу, про внешние будет позже.
7:42
@backendsecret interpolatedstring-perl6

Название, не требующее пояснений. twitter.com/voidlizard/sta…

7:52

Про тестирование: к smallcheck и quickcheck можно добавить классический HUnit, а ещё удобно объединить всё это (и в… twitter.com/i/web/status/9…

8:00
@backendsecret hackage.haskell.org/package/gauge - маленький и шустрый фреймворк для бенчмаркинга.
8:10
@backendsecret hackage.haskell.org/package/criter… - не такой маленький и чуть менее шустрый фреймворк для бенчмаркинга, но зат… twitter.com/i/web/status/9…
8:10
@backendsecret Канал про бэкенд всё-таки
hackage.haskell.org/package/hakyll - "генератор генераторов статических сайтов", усло… twitter.com/i/web/status/9…

Hakyll неплох, мы сайт конференции на нём делали: plc.sfedu.ru twitter.com/aelaau/status/…

8:26
@backendsecret Детерминистическое тестирование многороточных программ hackage.haskell.org/package/dejafu
8:26
@qnikst @backendsecret Более модерновый вариант hackage.haskell.org/package/hedgeh…

Вообще для тестирования в Хаскеле много всего, коммьюнити очень заботится о корректности программ. twitter.com/qrilka/status/…

8:27
@backendsecret расскажи про перформанс. Есть мнение, что чистые функциональные языки медленны, потому что GC приходится тяжеловато

Перфоманс Хаскеля, тезисно.
1) Если не задумываться о производительности кода изначально, то будет медленно.
2) Есл… twitter.com/i/web/status/9…

9:04

3) Если задумываться и хотеть сделать красиво, то тоже есть средства, почти наверняка получится медленнее, но не оч… twitter.com/i/web/status/9…

9:06

Главное: чем более высокоуровневый код мы хотим писать, тем хуже будет производительность — это слабость компилятор… twitter.com/i/web/status/9…

9:09
@backendsecret github.com/quchen/stackag… - stackage для offline

А ещё есть acme-everything — чтобы сбилдить себе вообще всё! twitter.com/Cynede/status/…

9:14
@backendsecret Под то, что вы описываете вполне функтор подходит, товарищ учитель :) Он вполне себе цепочки вычислений описывает.

Неплохой тред от пуриста с чёткой идеей несовершенства мира в голове. Математики, кстати, любят чёткие определения… twitter.com/i/web/status/9…

10:12
@backendsecret Вам знакома система Facebook Sigma для борьбы со спамом? Они утверждают что получили достаточную про… twitter.com/i/web/status/9…

Я не разбирался с деталями, но справедливости ради нужно отметить, что главный разработчик этой системы в Facebook… twitter.com/i/web/status/9…

10:30
@backendsecret нанёс страшный удар русскоязычному индустриальному Haskell сообществу, теперь вместо того, чтобы ра… twitter.com/i/web/status/9…

А главное, пишут! twitter.com/qnikst/status/…

10:31
@backendsecret оттуда вышло: поддержка numa; поддержка выгрузки модулей (нужная для hot reload); более адекватная о… twitter.com/i/web/status/9…
10:33
@backendsecret Если серьезно мне нравится это объяснение монад:
adit.io/posts/2013-04-…

Есть много версий для разн… twitter.com/i/web/status/9…

Мне всегда очень сложно пробираться сквозь объяснения на картинках. Мало того, что идею понять надо, так ещё и карт… twitter.com/i/web/status/9…

11:34
Отписался от этого потока сознания в виде @backendsecret
11:38
@backendsecret doctest — автоматическая проверка примеров кода из документации на компилируемость и корректный резу… twitter.com/i/web/status/9…
12:35

Erlang. В принципе, можно было бы ограничиться цитатой Армстронга (создателя): «Although the functional community w… twitter.com/i/web/status/9…

14:55

Сомнительный статус. В принципе, можно считать, что самые простые элементы функциональных языков, такие как функции… twitter.com/i/web/status/9…

14:58

У Армстронга ещё, конечно, издевательский тон по поводу сообщества функциональщиков, которые не смогли придумать ни… twitter.com/i/web/status/9…

15:00

Все же в курсе, что то, что мы знаем как Erlang, в 1985 году было Прологом? Любители Пролога не любят ФП, потому чт… twitter.com/i/web/status/9…

15:01
@backendsecret Об истории Эрланга в крайне захватывающем изложении написано в статье Армстронга A History of Erlang… twitter.com/i/web/status/9…
15:11

Я несколько раз бросал студентов на изучение Эрланга без всякой поддержки и они справлялись. Вчера я писал про студ… twitter.com/i/web/status/9…

15:14
@backendsecret Я слышу песню про эту "замену программистов" с 1995 года. Чё-то всё заменяют, заменяют, да никак не заменят. :-D

Вообще, не с 96-го года, а с появления FORTRAN'а.
Но детки, давайте поможем Даше вспомнить что же произошло в посл… twitter.com/i/web/status/9…

10:42
@backendsecret Поддерживать проекты, которые сейчас пишутся - ещё на десяток лет работы хватит. Потом перерастет в… twitter.com/i/web/status/9…

Для поддержвания существующих проектов не факт, что нужны будут человеки.

twitter.com/iKoduc/status/…

10:44

Я напоминаю, что все наши требования к качеству кода, красивая архитектура и грамотный дизайн -- это всё нужно толь… twitter.com/i/web/status/9…

10:46

ИИ может херачить говнокод и всё с ним будет в порядке. И да, для атомных станций нужны будут люди. Но очень мало.… twitter.com/i/web/status/9…

10:48
@backendsecret У меня есть плиточник знакомый за год заработал 100 тыс$ расстраивается, что высокие налоги. Так что… twitter.com/i/web/status/9…

Плиточника, скорее всего, не заменят суперэффективной машиной. А синевеоротничковые knowledge workers (включая бОль… twitter.com/i/web/status/9…

10:51
N-цать лет спустя. Бля, у нас нет бабок на датацентр для обработки говнокода для управления вторым датацентром, пре… twitter.com/i/web/status/9…

Отличная тема, кстати: раньше люди были дешевле железа, теперь наоборот, потом снова станет наоборот.

Только вот о… twitter.com/i/web/status/9…

10:55
@backendsecret До тех пор, пока цена ошибки программиста относительно велика - бояться нечего.

Да, для софта для атомных станций нужны будут люди. Только ими будут не Сары Мей, которые не хотят жертвовать личн… twitter.com/i/web/status/9…

10:56
@backendsecret А что с ИИ произошло? Придумали какие то новые чудо алгоритмы?

google://весна искуственного интеллекта

twitter.com/aynanenane/sta…

11:02
@flex_ferrum @AstarothAst @backendsecret вообще я не любитель каламбуров, но "в сжатые сраки" это супер!!

Это как-то Асхату Уразбаеву написали "нам нужно внедрить agile в сжатые сраки". Он сказал, что в тот момент он поня… twitter.com/i/web/status/9…

11:04

Кстати, если кто не видел ещё: вот первые шажочки в автоматическом создании сайтов-визиток: thegrid.iotwitter.com/i/web/status/9…

11:21
@NolanRus @backendsecret забыли рабочих, которые руками плитку в эту машину выкладывают из лотка

Эти рабочие даже близко уже не обладают ни зарплатами ни статусом плиточника за $100/yr

twitter.com/ramwoolf/statu…

11:24

Если мы с тобой коневоды начала XX века, то надо смотреть не на то, какие неуклюжие автомобили сейчас, а экстраполи… twitter.com/i/web/status/9…

15:53
@backendsecret Разработки в области ИИ идут, и это хорошо. И действительно, в ближайшие лет 10 ряд профессий будет… twitter.com/i/web/status/9…

Вопрос где будет граница клепания кнопочек. Скорее всего всё то, чему можно научить в буткемпе за год, в эту границ… twitter.com/i/web/status/9…

15:56

Во время второй мировой войны союзники построили много своих авиабаз на удалённых островах в океане. Туземные жител… twitter.com/i/web/status/9…

19:11

Чтобы приманить больших железных птицы, они строили из говна и палок взлётные полосы, диспетчерские вышки, ходили с… twitter.com/i/web/status/9…

19:11

Ну, признавайтесь, кто узнал внедрение agile в большинстве фирм? :-) pic.twitter.com/aGVM9pJwsR

19:12

подобных карго-культов в нашей индустрии пруд пруди, начиная от TDD и размера методов и заканчивая приёмами управления проектами

19:13

Отличить таких культистов легко: они орут, что НАААААААДО внедрять TDD, но на вопрос "зачем?" столбенеют. Как вариа… twitter.com/i/web/status/9…

19:15

Есть интересная классификация степени понимания области.

22:21

Карго-культисты -- они даже не специалисты.
Хорошие специалисты в области agile нередки в индустрии, вполне вероятн… twitter.com/i/web/status/9…

22:23

Мастеров я пока не видел и сам им не являюсь, у меня в программировании-то интуиция начала появляться дай боги если 5 лет назад.

22:24

Но зуб даю, любому опытному человеку дай любую Святыню agile'а и он обязательно вспомнит или сгенерирует пример, ко… twitter.com/i/web/status/9…

22:27
@backendsecret Что по-поводу Scala скажешь? Она, субъективно, более популярна, чем Haskell. Порог вхождения ниже, и… twitter.com/i/web/status/9…

Да, она более популярна, и вакансий больше. Порог вхождения - да, ниже: меня уверяли, что любой Джавист способен пе… twitter.com/i/web/status/9…

5:02
@kana_its_me @backendsecret А можно для лучшего понимания ещё пример, когда Either используется не как пара ошибка\результат ?

Строго говоря, Either как раз и придумали для того, чтобы представлять пару "ошибка\результат". twitter.com/iflask/status/…

5:05
@backendsecret IDE нету, потому что нету денег в сообществе, или как у Scala по техническим причинам, как демаете?

Я думаю, главная причина в том, что в IDE нет такой уж гигантской потребности. Как минимум 95% всех хаскелистов, ко… twitter.com/i/web/status/9…

5:09
@backendsecret А как вы без IDE справляетесь со сложностью управления разработкой масштабных проектов? Да, парадигм… twitter.com/i/web/status/9…

Почему-то вспомнилось старое:

5:46

Часто слышу мнение, будто сильная статическая типизация ограничивает программиста, тем самым мешая ему. И да, друзь… twitter.com/i/web/status/9…

6:09

Но что такое ограничения? Ограничения - это фундамент гарантий. Любая гарантия обусловлена каким-то ограничением, и… twitter.com/i/web/status/9…

6:09

Гарантия же в свою очередь порождает уверенность. И сильная статическая типизация как раз и укрепляет нашу уверенно… twitter.com/i/web/status/9…

6:09

Обратите внимание: сильная типизация укрепляет нашу уверенность, но не делает её абсолютной. Поэтому в серьёзных Ha… twitter.com/i/web/status/9…

6:09
@cblp_su @theaspect @backendsecret IDE нужна чтоб быстро сходить в реализацию функции и вернуться. Поискать все исп… twitter.com/i/web/status/9…

> А главное, пожалуй, это «проект» - т.е. открыл проект, и вот тебе все его файлы в дереве и поиск по ним.

NeoVim… twitter.com/i/web/status/9…

6:26
@batyshkaLenin @backendsecret Все говорят - без IDE нельзя,
Все говорят - без IDE нельзя,
А я говорю, что буду
7:18

Дискуссия насчёт IDE для Haskell забавляет... Такое впечатление, будто бы мы должны ОПРАВДЫВАТЬСЯ за то, что у нас… twitter.com/i/web/status/9…

8:34

Да, можно просто сидеть и плакать, ах, если бы у нас была такая IDE, наша жизнь стала бы такой прекрасной, ой, как… twitter.com/i/web/status/9…

8:34
@backendsecret Думаю, пора переходить к той части, ради чего стоит страдать без IDE. Как сейчас модно говорить: "пр… twitter.com/i/web/status/9…

Вероятно, вас удивит мой ответ, но "продавать haskell" кому бы то ни было я не собираюсь. У меня нет такой цели, и,… twitter.com/i/web/status/9…

8:50
@backendsecret Никто не просит вас "впаривать", расскажите, в чём профит. Где оно даёт выигрыши и прочие интересные… twitter.com/i/web/status/9…

> расскажите, в чём профит

Первый профит - сильная статическая типизация с выведением типов. Но есть такие, которы… twitter.com/i/web/status/9…

9:01

Хорошо, друзья, давайте двигаться дальше, а то, чувствую, дискуссии уже потихоньку превращаются в холивары... Продолжим о практике.

10:29

Один из старых мифов касательно Haskell - отсутствие инструментария для проекта и чрезвычайно скудное число библиот… twitter.com/i/web/status/9…

10:29

Справедливости ради, в прошлом так оно и было. Голый компилятор, и пара десятков библиотек (со скудной документацие… twitter.com/i/web/status/9…

10:29

Сегодня у нас есть Stack, кроссплатформенный инструмент для работы с проектами. Он создаёт пустой проект по заготов… twitter.com/i/web/status/9…

10:29

Stack устанавливает нужное нам окружение (в виде компилятора и набора библиотек) таким образом, что на одном компе… twitter.com/i/web/status/9…

10:29

Вот сайт: haskellstack.org. Вот репозиторий: github.com/commercialhask…. Устанавливается Stack либо через скрип… twitter.com/i/web/status/9…

10:29

Stack - относительно молодой инструмент, релизнулся он летом 2015 года. Его активная разработка продолжается, основ… twitter.com/i/web/status/9…

10:29

И, строго говоря, Stack - не единственный подобный инструмент, однако именно он завоевал наибольшую популярность у Haskell-команд.

10:29

Подчеркну: Stack не идеален. Конечно, сегодня он лучше, чем был 2 года назад, однако иногда он тупит. Например, вын… twitter.com/i/web/status/9…

10:29
@backendsecret Раскажите пожалуйста про альтернативы Haskell Stack

Cabal. Его сайт: haskell.org/cabal/.

Собственно, с него всё и началось, этот инструмент значительно старше St… twitter.com/i/web/status/9…

10:47

Есть, правда, ещё один способ принести Haskell на свой компьютер. Называется Haskell Platform (… twitter.com/i/web/status/9…

10:50

Кстати, кто желает подробностей - вот моя заметка про Stack, на сайте нашего сообщества: ruhaskell.org/posts/utils/20…

10:53
@backendsecret почему не idris?

Потому что Idris и близко не готов к продакшену в той мере, в какой готов Haskell. twitter.com/H311oWorld/sta…

14:36
@backendsecret, а хаскелл только для бекенда хорош или есть ещё области применения?

Вот исследование, подробно отвечающее на этот вопрос: github.com/Gabriel439/pos…. Там области перечислены, и рассказан… twitter.com/i/web/status/9…

15:51

Ну и раз уж сегодня был упомянут Stack, то нельзя не упомянуть и Stackage. А для начала краткий экскурс в историю.

17:22

В 2008 году появился Hackage, репозиторий Haskell-пакетов. Название Hackage происходит от "Haskell" и "package". По… twitter.com/i/web/status/9…

17:22

И всё было бы хорошо, но существовала проблема с зависимостями. Суть её предельно проста: мой проект зависит от пак… twitter.com/i/web/status/9…

17:22

И вот создатели Stack предложили решение этой проблемы, так появился Stackage. Название происходит от "Stable Hacka… twitter.com/i/web/status/9…

17:22

Таким образом, если пакеты А, Б и В включены в стабильный список, то упомянутой ранее проблемы с зависимостями не б… twitter.com/i/web/status/9…

17:22

Каждый стабильный список пакетов, называемый LTS Haskell, имеет свою версию. Аббревиатура LTS происходит от Long Te… twitter.com/i/web/status/9…

17:22

Примерно раз в неделю выходит новый список. Вот пример такого списка, версии 10.9: stackage.org/lts-10.9. Список… twitter.com/i/web/status/9…

17:22

Затем в конфигурационном файле проекта указывается версия используемого LTS Haskell. И, как вы уже поняли, стабильн… twitter.com/i/web/status/9…

17:22

Такой подход сильно помогает в командной разработке. Пока у всех членов команды один и тот же LTS Haskell, их проек… twitter.com/i/web/status/9…

17:22

А когда в команду приходит новый человек, он клонирует репозиторий проекта, а затем выполняет лишь две команды:

1.… twitter.com/i/web/status/9…

17:22

Разумеется, я могу установить и такой пакет, который не входит в конкретный LTS. Однако в этом случае гарантий совм… twitter.com/i/web/status/9…

17:22

Кстати, вот он, полный список пакетов в Hackage: hackage.haskell.org/packages/

17:27
@backendsecret в тему этой недели, закончил цикл статей про связь формальной логики и ЯП. Написано очень по-дилетан… twitter.com/i/web/status/9…
20:14
@cblp_su @backendsecret Прилетело очень в тему: twitter.com/Harenome/statu…
20:15

В общем приехали мы со студентами, нам налили 30л бочку азота. Как вы можете заметить, бочка не запечатанная. pic.twitter.com/ULjzzN6ToQ

0:03

Я спрашиваю компанию:

– А как мы это вывезти-то должны?
– Ну не знаем, убер закажите что ли

Короче в итоге мы за… twitter.com/i/web/status/9…

0:03

Кстати в первый раз я рассказывал эту историю Марку Элендту, который недавно получил Оскар за работу над Houdini siggraph.org/discover/news/…

0:03

Нашел видео с самим демо (можно было собирать небольшие игрушки и катать их по воздуху, да) pic.twitter.com/RKJfKS8l6S

2:03

Нетфликс прямо как-будто читает что я пишу 😄 pic.twitter.com/UJ52LPURjz

3:23

У меня через пару часов заканчивается рабочий день, поэтому я снова приду к вам с историями. Про что бы вы сегодня хотели послушать?

6:38

Кратко поясню что я имею в виду под третьим вариантом. По работе (и хобби) я часто занимаюсь тем что контактирую с… twitter.com/i/web/status/9…

6:43

Это может быть полезно тем кто учится в магистратуре или аспирантуре, поскольку обычно так люди находят исследовательскую работу

6:43

гигантская ракета, местная достопримечательность pic.twitter.com/pDF14nUU8t

8:20

(Это я вас так готовлю к рассказам про японскую науку)

8:38

Кстати да, если есть какие-то конкретные вопросы, можно сразу сюда писать

8:51

так, я вернулся и начинаю вещать!

12:15
@backendsecret ergodox-ez.com можешь что-то об этих рассказать? стоит своих баксов, или можно найти что-то получше?

Уже несколько вопросов про Ergodox. Лично мне он не очень понравился, там проблема в ortholinear layout к которой с… twitter.com/i/web/status/9…

12:17
@backendsecret Купил себе бу Google pixel для разработки и думаю не прогадал )

Google Pixel вроде пока поддерживает ARCore, надеюсь не дропнут через год :) twitter.com/michbil/status…

12:18
@backendsecret Для набора текста лучше cherry blue или red?

Считается что cherry blue, но вообще я знаю и тех кто печатает на линейных (например я) twitter.com/ReTelecaster/s…

12:19
@backendsecret Ctrl Ctrl ____ Alt Alt? Да что ж ты делаешь, злодей?

это шутка про @ctrlaltio twitter.com/bwh1te/status/…

12:20
@backendsecret Третья прям зачёт. Где такие дают и по чем? Хотя бы скажи как форм фактор называется.

Это Winkeyless B.mini winkeyless.kr/product/b-mini… + JTK Debut Purple on White (PoW)… twitter.com/i/web/status/9…

12:21
@vgermaniu @backendsecret На massdrop.com или mechanicalkeyboards.com можно намониторить, но самые круты… twitter.com/i/web/status/9…

Все так, мехкейс команда с массдропа мои друзяшки кстати :) я у них в офисе в СФ даже бывал twitter.com/FapSpirit/stat…

12:22
@backendsecret Какие IT направления являются самыми перспективными в Японии?

Сейчас растут блокчейн стартапы как грибы после дождя. Поскольку в Японии с электронными платежами все еще дикий ха… twitter.com/i/web/status/9…

12:30

C бонусными и платежными картами в Японии очень весело, вот что например я наскреб у себя из стопки на столе. Полов… twitter.com/i/web/status/9…

12:30

Вообще сейчас почти любая хайповая технология из силиконовой долины имеет свой филиал в Японии. Из объявлений я оче… twitter.com/i/web/status/9…

12:30
@backendsecret Каково отношение к публикациям в заведомо слабых журналах/конференциях?

Действительно такая проблема имеет место быть, и стандарты зависят от учреждения. В университете Аизу где я учился… twitter.com/i/web/status/9…

12:41

  • еще какие-то издания/конф. которые утвердили через дотошный процесс ревью, комиссий и тд
  • 12:41

    Еще часто смотрят на размер статьи (например technical paper vs poster)

    Лично мне кажется что эти метрики довольно… twitter.com/i/web/status/9…

    12:41

    В университете Цукуба где я работаю сейчас вроде меньше парятся в плане списка конференций, но у студентов, наприме… twitter.com/i/web/status/9…

    12:41

    В целом как мне кажется если хорошо аргументировать что ваша статья – стоящая, у нее есть внушительная impact стати… twitter.com/i/web/status/9…

    12:41

    (если конечно вы не Computer Science major опубликовавший статью в каком-нибудь "Аграрном вестнике Словении", и такое бывает, да)

    12:41
    @backendsecret Круто! Может вы в курсе, в чем секрет невозможности отправить дроп напрямую в Россию?

    80% уверен что либо налоги, либо почта России. Так-то для европы они доставляют через DHL twitter.com/FapSpirit/stat…

    12:44
    @backendsecret на ErgoDox Infinity не посматриваешь?

    Пока нет, ответил чуть ниже почему twitter.com/Nick27surgut/s…

    12:44
    @backendsecret Как с библиотечками/средствами разработки для AR/VR? Уже можно туда приходить простым девелоперам ил… twitter.com/i/web/status/9…

    Сейчас с этим очень хорошо. Вообще я до сих пор считаю что с приходом ARKit самое крутое это обновление HIG от Appl… twitter.com/i/web/status/9…

    12:48

    У той же Vuforia например нативная документация имелась на уровне комментов в ObjC++ коде что не так весело

    12:48

    Но сейчас все повально используют Unity для демо, особенно после того как они добавили поддержку ARKit (не помню ка… twitter.com/i/web/status/9…

    12:48

    Т.е. в плане оптимизации и стабильности в Unity не всегда хорошо, особенно когда апдейты ломают проект и тд

    12:48
    @backendsecret Если релокейтится в японию, то нужно ли учить японский или для начала английского хватит, а там япон… twitter.com/i/web/status/9…

    Писал про это ранее, если вкратце:

    1) Японский очень желателен
    2) Подтянуть японский тяжело, по крайней мере для р… twitter.com/i/web/status/9…

    13:57

    Рилокейт – по сути подался на стипендию MEXT, прошел, приехал по стипендии в универ, отучился сначала на мастера, п… twitter.com/i/web/status/9…

    13:57
    @backendsecret А можешь немного про Topre рассказать? А то в наших краях эти свичи не потрогаешь.

    Topre это японские электростатические свитчи которые работают по принципу схожему с мембранными клавиатурами. По ощ… twitter.com/i/web/status/9…

    14:02

    Есть разные варианты: 35г (самые легкие), 45г (стандарт), и 55г (тяжелые, похожи по ощущениям на печатную машинку)… twitter.com/i/web/status/9…

    14:02

    Вообще знаю лично менеджера клавиатурного отдела Topre (на самом деле Topre это большая японская компания которая д… twitter.com/i/web/status/9…

    14:02

    Topre очень "радикальные" свитчи, кому-то они нравятся, кому-то нет. Еще проблема есть с износом, порой использован… twitter.com/i/web/status/9…

    14:02
    @backendsecret Заинтересовал, можешь подсказать, какую на пробу взять?

    На плоских клавиатурах потом нет проблем печатать?

    У меня проблем нет с плоскими клавиатурами, но некоторые говорят что потом некоторое время нужно привыкать обратно.… twitter.com/i/web/status/9…

    14:05

    Возвращаясь к IT и науке, и то и другое – темы обширные, поэтому возможно у меня на это уйдет несколько дней.

    14:08

    Пожалуй я попробую рассказать об этих темах в форме ответов на следующие вопросы:

    – Я хочу стать программистом в Я… twitter.com/i/web/status/9…

    14:08
    @backendsecret Ничего другого для кроссплатформы нет, увы :(

    Ну есть еще Unreal Engine, но там C++, и насчет совместимости с AR либами я не уверен как там обстоят дела twitter.com/Dinozavrr/stat…

    14:13

    С согласия @dcromster так же постю следующее объявление:

    Если вы интересуетесь IT работой в Японии и посредственно… twitter.com/i/web/status/9…

    14:17
    @backendsecret Так больше плотют на долине, туда все хотят

    Все так и есть, но у Японии есть и свои плюсы. Навскидку я бы назвал транспорт, безопасность, экологию и внутренний… twitter.com/i/web/status/9…

    14:19

    Итак, вы хотите стать программистом в Японии. Сразу отбросим вопрос "Зачем?!"

    14:39
    Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…

    Про то как попасть я писал тут twitter.com/backendsecret/…

    Пререквизиты: диплом, хотя бы знание английского, а еще луч… twitter.com/i/web/status/9…

    14:39

    В плане переезда пожалуй самая большая проблема это оформить рабочую визу. Там есть целый список документов который… twitter.com/i/web/status/9…

    14:39

    С самим переездом вроде больших проблем нет. Главное опасайтесь квартир на первом этаже ибо там плесень. Вообще опа… twitter.com/i/web/status/9…

    14:39
    Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…

    Если вкратце,… twitter.com/i/web/status/9…

    На рабочем месте уже могут быть различия с культурой, про это я писал тут:

    twitter.com/backendsecret/…
    twitter.com/backendsecret/…

    14:39

    В целом есть такое понятие как "gaijin card" ака "карта иностранца" – если вы не будете следовать каким-то японским… twitter.com/i/web/status/9…

    14:39

    Поэтому приходите на работу и уходите с нее по расписанию и честно кладите сами знаете что на переработку. Так же н… twitter.com/i/web/status/9…

    14:39

    Из митапов в Токио (а именно там сейчас проходит бóльшая часть всех IT событий в Японии) могу посоветовать… twitter.com/i/web/status/9…

    14:39

    Это был краткий экскурс в IT работу, а теперь о науке. Тут уже имеет смысл вопрос "Зачем?"

    По сути в Японии очень… twitter.com/i/web/status/9…

    15:03

    Так же в японских лабораториях (по крайней мере в моей области работы) не стесняются выделять бюджеты даже на самые… twitter.com/i/web/status/9…

    15:03

    Неудивительно что например в том же MIT Media Lab директор, а так же многие сотрудники и студенты – японцы.

    15:03
    Я бы посоветовал сделать так:

    1) Определиться с областью исследования
    2) Найти интересующие публикации/проекты
    3)… twitter.com/i/web/status/9…

    Как попасть я писал тут:

    twitter.com/backendsecret/…
    twitter.com/backendsecret/…

    Допустим вы уже получили стипендию (или… twitter.com/i/web/status/9…

    15:03

    Теперь все зависит от вашего научного руководителя и лаборатории. Если у вас агрессивная в плане публикаций команда… twitter.com/i/web/status/9…

    15:03

    Ну хорошо, допустим вы что-то поделали, опубликовались, и получили мастера. Дальше вопрос: нужно ли мне получать Ph… twitter.com/i/web/status/9…

    15:03

    С PhD уже сложнее тк тут нужно иметь больше публикаций, уникальную тему исследования, а так же другой склад мышлени… twitter.com/i/web/status/9…

    15:03

    Поэтому в связи с таким кол-вом времени и нервов, в Японии на PhD как правило идут иностранцы, по крайней мере из м… twitter.com/i/web/status/9…

    15:03

    С другой стороны после выпуска с PhD у вас уже гораздо больше возможностей:

    1) Вы можете подаваться в качестве уч… twitter.com/i/web/status/9…

    15:03

    В конце концов вы можете стать профессором с tenure track. Хитрость в том что когда вы получите tenure вас очень тя… twitter.com/i/web/status/9…

    15:03

    Особенность Японии в этом плане состоит в том что вы – иностранец, и не во всех университетах вас будут видеть нара… twitter.com/i/web/status/9…

    15:03

    Но вообще все это и без черных списков очень соревновательно, готовьтесь к частым отказам, написанию различных апел… twitter.com/i/web/status/9…

    15:03
    @backendsecret @zel_enb В Лайн русских почти нет. В Токио совсем без японского попась нереально, а вот в Фукуоку ес… twitter.com/i/web/status/9…
    15:09
    @backendsecret @zel_enb Если вы владеете ML/NLP тоже можно смело писать, скорей всего вас возьмут. Естественно диплом, опыт и английский.
    15:10
    @backendsecret @zel_enb Лайн помогает с переездом и имеет опыт в этом. Есть курсы японского в Фукуоке и все условия… twitter.com/i/web/status/9…
    15:12
    @skkap @backendsecret русские и не нужны. я QA. для меня вакансий не было там :( в Фукуоке холоднее чем в Токио =_= накиньте еще компаний

    Навскидку:
    Rakuten
    Recruit
    CyberAgent
    Microsoft JP
    Google JP
    Mercari

    Может быть еще мои друзья с @codechrysalis мо… twitter.com/i/web/status/9…

    15:21
    @backendsecret Дома пользую механику amazon.com/gp/product/B00…, на работе amazon.com/gp/product/B00…. иногда просто на н… twitter.com/i/web/status/9…

    Главное чтобы нравилось :) мне например нравятся клавиатуры на новых макбуках, хотя многие любители механики от них… twitter.com/i/web/status/9…

    15:24
    @backendsecret А что с теми, у кого образование не профильное (ну у меня маркетинг-менеджмент, а работаю джавистом)… twitter.com/i/web/status/9…

    Вот с этим сразу сказать не могу, желательно спросить кого-нибудь с опытом HR работы или тех же рекрутеров. Мне каж… twitter.com/i/web/status/9…

    15:27

    Кстати если интересно могу завтра рассказать как я занимался изготовлением кастомных клавиатурных кнопок из жидкого… twitter.com/i/web/status/9…

    15:41
    @zel_enb @backendsecret Не скажу где нужны QA, но если в японии то стоит глянуть на Rakuten, Recruit, Indeed, Googl… twitter.com/i/web/status/9…
    15:42
    @backendsecret Кстати в Indeed тоже очень много бывших сотрудников Яндекса, повсюду русская речь :)
    15:49

    Алсо в свое время я создал и вел почти целый год клавиатурный лайвстрим @topclack (сейчас он продолжает жить без ме… twitter.com/i/web/status/9…

    15:54
    @zel_enb @backendsecret Кстати там же и Ракутен и много стартапов. Я не совсем в теме, но там какая-то особая зона… twitter.com/i/web/status/9…
    15:55
    @backendsecret @topclack @Massdrop @OrtholinearKB @InputClub @jamesbardolph Расскажи про японское комьюнити, вижу м… twitter.com/i/web/status/9…

    Частично в этом виноват я, тк митап-то создал, людей пригласил, а все всё равно сидят только в твиттере. Можно поче… twitter.com/i/web/status/9…

    16:37
    @backendsecret как мирится с тем что у механики длиннее ход клавиш и соответственно теор предел скорости печати мен… twitter.com/i/web/status/9…

    Можно пользоваться MX Silver, MX Speed или короткими ML свитчами. Вообще все не так просто twitter.com/oulasvirta/sta…twitter.com/i/web/status/9…

    16:48

    Коллеги! Вчера мы дружно знакомились, а завтра я буду рассказывать о сроках проектов и как их не провалить. Сегодня… twitter.com/i/web/status/9…

    4:10

    Порядок приёма вопросов: под этим твитом я до 23:59 мск собираю вопросы и по мере их поступления отвечаю отдельными… twitter.com/i/web/status/9…

    4:46

    # Среда 286 твитов

    Рецепт для того, чтобы быть хорошим беком: работайте. На основной работе, на лежаках, дома, на даче, где угодно. Важна практика.

    6:56

    Берите леваки, подработки, шабашки, все, что угодно, расширяющее ваш рабочий кругозор. Кроме того, лишняя работа принесет много контактов.

    6:57

    Обилие рабочего опыта, обилие контактов принесет интересный результат, - вы опробуете себя в самых разных ролях: от падавана до цто.

    6:59

    Тут важно помнить, что роль, - это роль как у актера, который в жизни лысый импотент, а играет чегевару и казанову в одном флаконе.

    7:01

    Не имеет смысла писать: я программист, архитектор и очень крутой. Имеет смысл рассказывать про косяки, которые всплывали на этих ролях.

    7:02

    Ни кому не интересно, какую роль ты играешь. Всем интересно, как ее играть им. И как не быть освистанным, а значит получить много бабла.

    7:04

    Делитесь опытом решения косяков, “палите” темы, рассказывайте о своих неудачах. ЭТО всем интересно! Но чтобы оно было, - нужна практика.

    7:05

    Совершайте ошибки, учитесь их исправлять, не совершайте их второй раз. И однажды вы поймете, - все книжки от гуру, - враньё.

    7:06

    Гуру зарабатывают на книжках, а не на разработке. Иначе у них не было бы времени публиковаться. Берите пример с Марка Лемана (автор EV).

    7:08

    Его ценник - около 1 килоевро за один день работы. Ему не надо публиковаться. Ему не надо следить за фигурой. Он просто ебашит!

    7:09

    Посмотрите на Монса! Он преподает перл в МГУ, пишет облако для Мейла и заботится о 12ти кошках) Разве он кричит о том, какой он крутой?

    7:12

    Он просто крут и охуенен! Кто про вас так скажет? Ни кто, если не будете каждый день работать на разных ролях, набирая практику.

    7:14

    Сегодня линейным программистом, завтра консультантом, послезавтра техдиром. А потом снова программистом. Таких, кто так может - мало.

    7:15

    Должность (роль) можно отнять. Премии лишить. Практику и опыт - нельзя. Кто кому должен завидовать? Кто без кого не обойдется?

    7:16

    И лично от себя добавляю еще раз: не верьте на слово ни кому. Проверяйте, практикуйте, учитесь!

    7:18

    Почему я это все пишу? Потому что потребность в работающих есть всегда, а работает по сути ровно 1%. Остальные занимаются сибурде!

    7:23
    В @backendsecret сегодня мотивационная речь и немного скрытой политоты. И любовь, обожание к перлу.
    7:28

    Про мотивацию специально для @freiksenet_ru pic.twitter.com/2MR6FWf61N

    7:28

    Про перл специально для @freiksenet_ru pic.twitter.com/wEsuukJG4t

    7:29
    @backendsecret Может у меня такой пузырь, где перла нет.
    7:53

    Поменяй слово perl на любое другое название, @freiksenet_ru

    7:53

    Пример правильного построения пула воркеров: i.imgur.com/3297BXb.gifv

    11:17

    Давайте про асинхронность. Кто что использует и как дебажит утечки памяти? Указывайте язык, plz!

    18:27
    @backendsecret не только беком. В последнее время у меня спрашивают: как стать девелопером, что читать… На что я отвечаю: бери и пиши код.
    18:33
    @backendsecret вот говоришь "фигачьте фигачтье!" а где же баланс между работой и личной жизнью?
    18:33

    Баланс простой, @dcromster. Работай ровно столько, чтобы денег хватало на личную жизнь)

    18:35
    @backendsecret И что, шаблон должен универсально подходить для всех сервисов, независимо от их назначения?

    Да он должен включать только инфраструктуру и общие вещи которые вы хотите на всех сервисах. Например не прикольно… twitter.com/i/web/status/9…

    6:48

    Когда становится много сервисов начинается проблемы как их настроить локально чтоб можно было проверить локально.D… twitter.com/i/web/status/9…

    8:39

    смотрят на чем написаны ваши сервисы от этого считается когда наступает момент когда локально уже не чего работать… twitter.com/i/web/status/9…

    8:41

    Автомация когда разрабатывает тесты e2e. Нуждаются во всех сервисах рабочих так им проходится поднимать все в облак… twitter.com/i/web/status/9…

    8:43

    вот пример потребления памяти сервисами на Rails и Golang
    разница на лицо сколько можно поместить на машины тех и… twitter.com/i/web/status/9…

    8:46

    думаю сами понимаете кто есть кто pic.twitter.com/0Zdqq83nbG

    8:49

    У нас на данный момент около ~50 environment разработки. Много? да. Потому что команд больше 10 в каждой из низ раз… twitter.com/i/web/status/9…

    8:53

    Тут конешно надо добавить редисы, базы, rabbitmq,nginx короче много всего выходит. Так что кубернетис это упрощает… twitter.com/i/web/status/9…

    8:56

    У нас есть бот на слаке который умеет делать деплой на окружения для разработки, удобно когда тебе надо все сервис… twitter.com/i/web/status/9…

    8:57

    Чтоб укоротить время деплоя в кубернетис желательно иметь маленькие docker image, я тут не давно решил использовать… twitter.com/i/web/status/9…

    9:02

    На rails я быстро понил что это без полезно потому что нет build то есть надо все всегда.На го сервиса очень полезн… twitter.com/i/web/status/9…

    9:06

    Оказалось что это не совсем так
    если работайте с alpine

    9:08

    Кстати бот на слаке написан был на Хакотоне внутренем он не занел первые места что обидно, но зато им все пользуются каждый день

    9:12

    Бот зовут плуто
    Он умеет делать несколько команд и еще гавкать
    команды которые он незнаю просить его научить то ест… twitter.com/i/web/status/9…

    9:18

    Life hack про деплои в прод

    9:21

    Life hack про деплои в прод

    9:22

    DevOps tools в Gett:

    9:35
    @backendsecret Есть статья с описанием? Или гит?

    Нету, но статью надо написать twitter.com/Khorev/status/…

    9:53

    Life hack:
    Маленький тролинг соседей по офису еще не кому не вредил😋 pic.twitter.com/5rSYYhC6HT

    13:36
    @backendsecret На рубимайн есть корпоративная лицензия?

    да есть лицензия еще на goland тоже twitter.com/john_govno/sta…

    14:44
    @backendsecret А базы для сервисов тоже с помощью k8s поднимаете и администрируете?

    Нет там все rds. Мы боимся такие вещи делать сами twitter.com/salikhov/statu…

    16:47
    @backendsecret какие библиотеки вы используете в Go для работы с PostgreSQL (ORM, конструктор запросов, мигратор, и т. п.)

    Gorm,
    Мигратор у нас свой, улучшеный goose, назвали swan twitter.com/vassilevsky/st…

    19:17
    @backendsecret вот это интересно, что в k8s никто ничего персистентного не держит теперь... А цены на DBaaS кусаются!

    Ты можешь настроить кубернетис для баз, есть много решений для этого готовых и есть крупные компании которые так де… twitter.com/i/web/status/9…

    21:07

    Кубернетис самый шустрый и живой опен сорсе проэкт который я видел, там есть очеред на мерджи в мастер, супер сложн… twitter.com/i/web/status/9…

    21:12

    Если писать PR не кубернетис а в его модули типо autoscaling то вообще за день могут посмотреть и замерджить код.

    21:13

    Все ровно есть иногда баги даже там, сегодня поймал такой в кластере, пошол искать по гитхабу, нашел что починили у… twitter.com/i/web/status/9…

    21:15
    @backendsecret Мы как раз выбрали DNS челендж вместо того чтобы шарить папку или заруливать выписывание только на о… twitter.com/i/web/status/9…
    7:29
    @backendsecret 1. Как масштабировать прометей и бороться с дырками в таймлане метрик?

    1. Насчет масштабирования – federation. Насчет дырок – зависит от их причины. Если это от ребута сервера – то они т… twitter.com/i/web/status/9…

    7:40

    2. Можно прикрыть его nginx с basic auth. По аксес логам видно, какой юзер слал запросы.

    7:40

    Python. На двойке после тройки прям противно писать. Но тройка лично мне, несмотря на проблемы (о них ниже – всё имхо), нравится.

    7:52

    1. Основная проблема 3 это Py2. Где-то ещё приходится писать 2+3 код (это когда пишешь на 2, но так, чтобы оно еще… twitter.com/i/web/status/9…

    7:52

    Многим еще приходится писать на Python 2, потому что миграция большой кодовой базы на тройку это реально дорого, а… twitter.com/i/web/status/9…

    7:52

    Интервью с инженерами из инстаграм о том, почему (typings, community, performance) и как (10 месяцев в 3 стадии) он… twitter.com/i/web/status/9…

    7:52

    Вот интересные сайтики, где показано, сколько из топовых пакетов поддерживают тройку. Спойлер: почти все.… twitter.com/i/web/status/9…

    7:52

    Из моей практики сейчас осталось всего два пакета, которые еще не поддерживают 3: evernote-sdk-python (есть бета дл… twitter.com/i/web/status/9…

    7:52

    Очень больно смотреть на новые (мелкие!) проекты, которые начинают на Python2. Просто потому, что так привыкли. Пож… twitter.com/i/web/status/9…

    7:52

    2. Стандартная библиотека хоть и большая, но местами тухловатая. Например, http клиент (urllib) даже ответ в юникод… twitter.com/i/web/status/9…

    7:52

    Есть поддержка IDNA encoding, но она реализует устаревшую (на 7 лет) версию спеки. Поэтому приходится юзать сторонн… twitter.com/i/web/status/9…

    7:52

    Вместо модуля регулярок re иногда юзают сторонний regex, в котором есть поддержка Unicode codepoint properties (нап… twitter.com/i/web/status/9…

    7:52

    А в Татарстане у нас вообще свой мир: pic.twitter.com/Cimq1YPq1J

    7:52

    3. Performance – это не про пайтон. Говорят, что pypy вместо cpython снижает нагрузку. Но, имхо, от пайтона ждать п… twitter.com/i/web/status/9…

    7:52

    Кстати, в cpython 3.7 будет небольшая оптимизация потребления памяти при использовании GC для shared memory (из-за… twitter.com/i/web/status/9…

    7:52

    4. Куча мяса вокруг доставки зависимостей: easy_install, pip, conda, apt/yum/etc. setup.py, pbr, PEP… twitter.com/i/web/status/9…

    7:54

    В общем, проблем хватает. Но community, на мой взгляд, отличное.

    7:54

    Про синхронизацию состояния между фронтом и бэком поговорим в четверг pic.twitter.com/I3RrdTyXuV

    7:55
    @backendsecret Как организовывать структуру проекта с Django или аналогичного рода фреймворком, когда для фронта An… twitter.com/i/web/status/9…

    Если бэк отдает только API, то однозначно отдельными репами. Мобильные приложения не храните в репе с бэкендом же,… twitter.com/i/web/status/9…

    8:20
    Ещё причина - необходимость работы в энтерпрайзе с RHEL6, где из коробки py2.6 twitter.com/backendsecret/…

    А еще внутренние зависимости энтерпрайза на py2. Это да.

    Мой твит был о мелких проектах, не обремененных энтерпра… twitter.com/i/web/status/9…

    8:25
    Я конечно о своем буду ныть. Вот сколько сил/времени в каждой команде на все это уходит. А это потеря фокуса, несде… twitter.com/i/web/status/9…

    Да, Вы абсолютно правы. Именно поэтому я и затронул Prometheus. На одном Zabbix с современным веб аппом действитель… twitter.com/i/web/status/9…

    10:04

    Помимо community пайтона мне очень близки его принципы из The Zen of Python. Самый известный, наверное, это:

    Expli… twitter.com/i/web/status/9…

    10:10

    А если вы *реально* его прочитали и помедитировали, то вот это может вызвать у вас недоумение:
    There should be one-… twitter.com/i/web/status/9…

    10:10

    Если вы читали код на Python 2+3, то наверняка могли видеть необычные импорты такого вида:

    from __future__ import… twitter.com/i/web/status/9…

    10:20

    Большинство из них касаются Python2, но и для тройки есть парочка:
    generator_stop (с 3.5) python.org/dev/peps/pep-0…twitter.com/i/web/status/9…

    10:20

    Я жду 3.7 ради __future__ annotations, который откладывает evaluation of type annotations, что решит проблему с обя… twitter.com/i/web/status/9…

    10:20

    Еще есть __future__ пасхалка, заменяющая оператор != на <>:

    >>> from __future__ import barry_as_FLUFL
    >>> 1 <> 2… twitter.com/i/web/status/9…

    10:20

    Django. Позиционирует себя как "Web framework that encourages ... pragmatic design", но URLValidator не принимает у… twitter.com/i/web/status/9…

    19:11

    Но в целом принципы, перечисленные на этой странице, вполне соблюдаются и в Django, и в аппах для нее (по моим набл… twitter.com/i/web/status/9…

    19:11

    REST API на голой Django писать неудобно, поэтому для апи практически всегда тащат Django Rest Framework (DRF). Бол… twitter.com/i/web/status/9…

    19:11

    Пермишки проверять надо в BasePermission классах. Отображением и валидацией управлять в Serializer. Фильтрацией в F… twitter.com/i/web/status/9…

    19:11

    Причем креативить то можно. Только потом сплошные страдания от этого. Лишний код (бойлерплейт!), который надо подде… twitter.com/i/web/status/9…

    19:11

    Строгий RESTful никто не навязывает (но из коробки DRF пытается быть похожим). Добавляйте свои нетривиальные экшоны… twitter.com/i/web/status/9…

    19:11

    Изучив все эти абстракции, рапидно разворачивать проекты довольно несложно.
    Разумеется, это утверждение верно для л… twitter.com/i/web/status/9…

    19:11

    Естественно, все эти ништяки аукаются ценой запросов ORM (хотя в среднем они довольно адекватные) и вездесущими cou… twitter.com/i/web/status/9…

    19:11

    Из коробки клёвые админка и гуи для API, которые реюзают часть (если не всю) написанной логики для API. Не надо ник… twitter.com/i/web/status/9…

    19:11

    Накидал модельку-вьюсет-сериалайзер-тесты для новостей, выдал админскую учетку стаффам с пермишками только к этим н… twitter.com/i/web/status/9…

    19:11

    Очень клёвая поддержка geospatial через postgis из коробки. Прям очень. Полигоны, точки, расстояния – всё спокойно… twitter.com/i/web/status/9…

    19:11

    Некоторые вещи приходится кастомайзить. Тот же URLValidator, например. Или пагинатор свой. Но проблем с этим у нас… twitter.com/i/web/status/9…

    19:11

    Очень рекомендую апп django-waffle. Позволяет делать фича-флаги. Мы их используем очень по-разному: для тестировани… twitter.com/i/web/status/9…

    19:11

    И хотя автор DRF не рекомендует отключать DRF Browsable API, оно течёт значениями FK. Например, если у юзера есть F… twitter.com/i/web/status/9…

    19:11

    Мы закрыли DRF Browsable API через django-waffle, показываем только стаффу.

    19:11

    Также значения FK по дефолту рендерятся в html шаблоне админки на странице редактирования сущности. Тут вопрос перф… twitter.com/i/web/status/9…

    19:11

    Django большая. Есть также протухшие куски. Например, поле для картинок не умеет генерить вариации – юзают django-s… twitter.com/i/web/status/9…

    19:11

    Иногда добавляют новые куски. Например, нативный JSONField для PG (в 1.9) или db migrations (1.7) – то, что раньше… twitter.com/i/web/status/9…

    19:11

    План миграции c south великолепный: удалите все миграции и создайте новые. What could possibly go wrong?… twitter.com/i/web/status/9…

    19:11

    Опять про инстаграм: как они апгрейдились с Django 1.3 до 1.8: youtu.be/lx5WQjXLlq8?t=… (ссылка с таймтегом)

    19:11

    До версии 2.0 каждый *.* релиз считался мажорным (как у postgres). С 2.0 маркировка версий немного поменялась: docs.djangoproject.com/en/dev/interna…

    19:11

    Кстати, если вы мейнтейните Django проект и до сих пор не подписались на django-announce mailing list, очень рекоме… twitter.com/i/web/status/9…

    19:11

    Для вебсокетов есть Django Channels: запросы принимает daphne ("HTTP and WS termination server") и через redis/amqp… twitter.com/i/web/status/9…

    19:11

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

    19:11

    Как-то так. Django хейтить у меня получается хуже, чем всё остальное :)

    Про ORM и тестирование напишу отдельно (завтра).

    19:11
    Да ну, про языки сраться это совсем 2015 (tl;dr - Груви рулит). Про DevOps интересней. twitter.com/backendsecret/…
    5:32
    Вот хороший вопрос для сегодняшнего @backendsecret, кстати. twitter.com/sadoperator/st…

    Это кстати не только ко мне вопрос. А какая единица измерения разработчика? Сейчас буду отвечать :) twitter.com/jbaruch/status…

    5:33
    @backendsecret есть люди, которые не то, что не понимают, за что хвалят питон, но им также не особо ясно, зачем нуж… twitter.com/i/web/status/9…
    5:33

    Может быть две причины для того чтобы как-то мерять КПД разработчика\девопса: вы не понимаете делает ли человек что… twitter.com/i/web/status/9…

    5:36

    Вообще выставлять какие-то KPI для дев\девопс\опс чревато тем что у вас останутся только заточенные под этот KPI лю… twitter.com/i/web/status/9…

    5:38

    Возможно у кого-то есть система с KPI по которой можно оценить работу программиста, но этот кто-то держит эту систему в секрете или врёт.

    5:40
    @backendsecret Кажется у @yegor256 что-то было

    Ну я же говорил “врут”. twitter.com/tw_kotalex/sta…

    5:43

    Если вы хотите понять как можно улучшить вашу работу или работу вашего отдела, то тут не все так просто обычно.

    Е… twitter.com/i/web/status/9…

    5:49

    Чаще всего вы, как девопс\релиз инженер\инфраструктурщик можете влиять на TTM. Также вы можете влиять на способност… twitter.com/i/web/status/9…

    5:51

    Естественно вы будете влиять и на стабильность приложения. И на кучу всего другого.

    Тут самая важная штука - подо… twitter.com/i/web/status/9…

    5:52

    Ну и конечно надо быть честным с тем какие задачи ты выбираешь и для чего. Процитирую “Гарри Поттера и методы рационального мышления”

    6:00

    Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…

    6:01
    Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…

    Я время от времени вижу как люди придумывают себе причину заниматься какой-то задачей просто потому что она интерес… twitter.com/i/web/status/9…

    6:02

    Так что просто сходите к бизнесу и узнайте его цели. Это может быть и х2 сотрудников через год. Это может быть и 99… twitter.com/i/web/status/9…

    6:15

    А если вы знаете цели бизнеса, то вы сможете поставить себе такие задачи, чтобы помочь бизнесу с достижением его це… twitter.com/i/web/status/9…

    6:17
    @backendsecret А бизнес такой фигак, и выкатил несколько гигабайт текста написанного лучшим канцеляритом: "Вот опис… twitter.com/i/web/status/9…

    Ну это вообще-то проблема – неумение компании доносить свои цели сотрудникам. И я не знаю как эту проблему решать,… twitter.com/i/web/status/9…

    6:21
    @backendsecret Есть такое дело. Всегда говорил что хороший бэкенд девелопер должен понимать всю серверную кухню, чт… twitter.com/i/web/status/9…
    6:21
    @poisoncorpsee @backendsecret Менеджеров как и любые другие квалифицированные надо регулярно воспитывать и обучать.… twitter.com/i/web/status/9…
    6:21
    @backendsecret может лучше подумать про то, как получше написать код? А то вот чуть более чем вся отрасль уже из та… twitter.com/i/web/status/9…

    Вообще интересная точка зрения. Хотя я её не поддерживаю, потому что лично в моей практике люди которые в первую оч… twitter.com/i/web/status/9…

    8:05

    А если случайно делали нужную фигню, то получалось это не эффективно.

    8:06
    @backendsecret Бизнесовые метрики на прямую не годятся для принятия инженерных решений (они вообще не годятся для п… twitter.com/i/web/status/9…

    Если честно, мне сложно понять как метрика “size of tech deb” поможет мне понять двигается ли мой отдел в правильну… twitter.com/i/web/status/9…

    8:17
    @backendsecret Ещё хорошие метрики: test coverage, cyclomatic complexity, number of open bugs.

    Опять же, если у вас весь код будет покрыт тестами, 100% коверейдж, но уже 50 китайских компаний выпустили клон с н… twitter.com/i/web/status/9…

    8:19
    @backendsecret Го читать просто, но больно
    8:19

    Поэтому я и говорю что инженеры (программисты, опсы и девопсы) не должны кукситься в своем мирке с выдуманными идеа… twitter.com/i/web/status/9…

    8:22

    У опсов тоже, кстати, есть свои приколы - типа всё на стабильность, когда стабильность не нужна. Или идиотские прав… twitter.com/i/web/status/9…

    8:23
    @backendsecret А именно: понимать как то, что они делают приносит или экономит деньги.
    Только мне сдаётся, что об… twitter.com/i/web/status/9…
    8:24
    @backendsecret Ооо, безопасность головного моска, я знаю о ней ФСЕ!!! До сих пор совершенно идиотские тикеты в джир… twitter.com/i/web/status/9…
    8:26
    @backendsecret Это понятно, но есть риск, что у вас разработка как загнанная лошадь будет, и ваш time to market рез… twitter.com/i/web/status/9…

    Я это отлично понимаю, поэтому и говорю что это симптоматическая метрика, на которую надо смотреть, как и на другие… twitter.com/i/web/status/9…

    8:35

    Я попробую еще проще: представьте что вы едете на машине в ралли. Вам надо следить за кучей вещей. Но единственное… twitter.com/i/web/status/9…

    8:39

    Ну, если ваш бизнес умеет управлять такой абстракцией разработчика, то да, это может быть такой ценностью. Хотя по… twitter.com/i/web/status/9…

    8:55
    @backendsecret Все это "программист должен думать о бизнесе" хорошо до тех пор, пока бизнес маленький, а программис… twitter.com/i/web/status/9…

    Ну вообще все началось с того как можно измерять полезность работы девелопера\девопса. И вообще я даже скорее не за… twitter.com/i/web/status/9…

    8:58
    @backendsecret Как-то странно получается. Зачем тогда бизнес нанимает разработчиков, если не может донести свои планы?

    От безысходности. Людей которые хотят заниматься какой-то фигней (не зависимо от причин) гораздо больше чем людей к… twitter.com/i/web/status/9…

    9:06
    @axique Из-за когнитивного диссонанса. Если ты веришь в идеальный код с правильной архитектурой, 100% покрытием, а… twitter.com/i/web/status/9…

    Собственно почему девелоперы так любят говорить о техдолге? Потому что им вбили в голову что есть некая идеальная а… twitter.com/i/web/status/9…

    9:13
    @backendsecret когда полностью соглашаешься с "бизнесом" в лице манагера... ну это приводит либо к закрытию конторы… twitter.com/i/web/status/9…

    Интересно посмотреть примеры :) Но вообще да, из-за того что девелоперов\опсов надо продавливать многие менеджеры п… twitter.com/i/web/status/9…

    9:22
    @backendsecret Здравый подход
    Техдолга нет только у мертвого и ненужного продукта
    9:25
    @backendsecret в долгосрочной перспективе архитектура влияет на скорость выкатки фич. Конечно из-за плохой архитект… twitter.com/i/web/status/9…

    Конечно влияет. Я ж не говорю что надо писать код простынями на перле. Возможно у нас разный опыт. Я, лично, неодно… twitter.com/i/web/status/9…

    9:29
    @backendsecret ещё я бы советовал прикинуть какое количество багов генерирует большой техдолг. Нередко боттленеком… twitter.com/i/web/status/9…

    Ещё раз, я же не говорю что надо наращивать техдолг как пивной живот. За всем надо следить. Но ориентироваться на к… twitter.com/i/web/status/9…

    9:31
    @alcotaran @backendsecret Про важность понимания бизнеса у меня несколько иное видение:
    если ты понимаешь, что стои… twitter.com/i/web/status/9…
    9:32
    @backendsecret @axique Систему KPI можно аккуратно прописать, покрыв все нужные аспекты и скореллироваьь их с высок… twitter.com/i/web/status/9…

    Вот если честно не встречал KPI которые бы не превращались в синтетический тест видеокарт. Либо ты не используешь K… twitter.com/i/web/status/9…

    10:06
    @backendsecret А как тех долг превратить в KPI? Что мерять?

    Измеряется в чезанах\минута twitter.com/visualwatermar…

    10:42
    @backendsecret @almaleksia Пытаются делать многие, но не у всех получается. Так же как и не у всех банально получае… twitter.com/i/web/status/9…

    Вот тут есть такая интересная штука – я считаю что если что-то может работать плохо, то надо искать варианты чем ег… twitter.com/i/web/status/9…

    10:52
    @borovikov @backendsecret для меня важнее та метрика, улучшение которой прибавляет мне денег. если менеджмент не по… twitter.com/i/web/status/9…

    Вот так в принципе думает большинство. Хотите больше денег и влияния — не думайте так :) к тому же разбираться в чё… twitter.com/i/web/status/9…

    11:59
    @backendsecret Тоже дело стиля. Атомарный вендоринг, атомарные апдейты завендореных библиотек. Комментарии вида “Ve… twitter.com/i/web/status/9…

    Это все конечно возможно, но ты начинаешь делать работу мейнтейнеров и вся эта работа смешивается с историей измене… twitter.com/i/web/status/9…

    6:02

    Попробую развернуть немного. Давным давно, не дистрибутивы не существовали и администраторы сами собирали все инстр… twitter.com/i/web/status/9…

    6:05

    Мало того что вам нужно было все собирать самостоятельно. Вам нужно было подписываться на списки рассылки и следить… twitter.com/i/web/status/9…

    6:08

    ... и публикуют пакеты. Администратор просто устанавливает готовые пакеты. Для упрощения жизни были придуманы утили… twitter.com/i/web/status/9…

    6:10

    Тут появляется Роб Пайк и заявляет что все это лишнее. Удобнее всего деплоить single binary без зависимостей (таки… twitter.com/i/web/status/9…

    6:13

    Для многих проектов это именно то что нужно. Проблема только в том, что теперь программист должен следить за проект… twitter.com/i/web/status/9…

    6:15
    @backendsecret Рибейс зло надо описать merge
    гайд чтобы пользоваться рибейсом грамотнo. Вроде как при пуле не разрешать комитать

    Имеется ввиду `git pull --rebase origin branch_name`. Тут будут рибейзиться только твои локальные изменения, которы… twitter.com/i/web/status/9…

    6:17

    первое "не" тут лишнее конечно, double negation прямо как в AAVE!

    6:19

    Лучше уж сделать fork репозитория и мерджить upstream вручную. Submodules довольно геморно удалять, плюс ты все рав… twitter.com/i/web/status/9…

    6:22
    @backendsecret К этому рано или поздно все придут. Вот хороший пример github.com/aptible/superc…
    6:23
    @backendsecret Ну и да, аргумент, «а вот тут писать код не надо, оно само» — мягко говоря, слабенький.

    А потом эти люди пишут костыли, для ручной генерации stack trace-ов из ошибок. twitter.com/CuredPlumbum/s…

    8:58

    Пожалуй настало время рассказать про разработку Akumuli. Вот обзорная статья на Хабре - habrahabr.ru/post/345974/.

    11:31

    Когда-то давно я прочитал книгу Малкольма Гладуэлла, название которой не помню, что-то про outliers, в которой расс… twitter.com/i/web/status/9…

    11:40

    но, во многих случаях, это довольно точная нижняя граница для оценки необходимого опыта. В общем, я впечатлился и р… twitter.com/i/web/status/9…

    11:42

    Я пользуюсь одним простым правилом. Стараюсь сделать что-нибудь каждый день. Пусть это всего 20 минут кодинга, либо… twitter.com/i/web/status/9…

    11:45

    Люди очень сильно склонный недооценивать небольшие инкрементальные изменения на протяжении длительных периодов времени.

    11:47

    И в те моменты, когда ты не пишешь код, есть время подумать над тем что делать дальше. И вот это "подумать" у меня… twitter.com/i/web/status/9…

    11:50

    Дольше всего в проекте живет код для сжатия данных. Я написал свое сжатие для time-series еще до того как была опуб… twitter.com/i/web/status/9…

    12:03

    тупо использовали Gorilla paper с небольшими изменениями. Поэтому их алгоритм очень медленно работает (Gorilla это… twitter.com/i/web/status/9…

    12:04

    Сам алгоритм описан вот здесь - docs.google.com/document/d/1yL…

    Для тестирования я использовал фаззинг (american fuzzy lop… twitter.com/i/web/status/9…

    12:11

    Я надеюсь рано или поздно перейти с AFL на libfuzzer, так как сейчас фаззинг очень медленный и долгий. Вот хорошая… twitter.com/i/web/status/9…

    12:12

    Почему не стоит? Представьте, что существует такой input, который можно будет сжать и получить результат, который п… twitter.com/i/web/status/9…

    12:16
    В общем, знайте, что если у человека есть миллиард открытого выдроченного софта в открытом домене или, не дай бог,… twitter.com/i/web/status/9…

    Узнаю себя
    mobile.twitter.com/vasilenkos/sta…
    (на самом деле нет)

    14:06
    @backendsecret @Nattf0dd @it_poselok Мне ваша концепция с поселком не понравилась из-за нарочитого упоминание того,… twitter.com/i/web/status/9…

    Да, @it_poselok – это секта. Недавно у нас был камин-аут в двух частях
    blog.poselok-programmistov.ru/posts/23-n-ste…
    и… twitter.com/i/web/status/9…

    7:48

    Я считаю, что в твиттер нельзя часто писать – это для здоровья опасно. Вот наш бывший губер @NikitaBelyh писал кажд… twitter.com/i/web/status/9…

    7:53
    @backendsecret @Nattf0dd @it_poselok Не знаю когда найти момент спросить про результаты и в целом цели.
    Цель писать код или делать продукты?

    Конечно, делать продукты. В идеале, если бы они вообще без кода получались. Кстати, у многих так могут – например,… twitter.com/i/web/status/9…

    7:56

    Давайте в комментариях к этому твиту поделимся стеком инструментов для разработки и отзывами к нему. Мы используем… twitter.com/i/web/status/9…

    8:01

    Отзыв такой. Bitbucket – нейтрально, только аптайм иногда подводит. Jira вместе с аджайлом – страшновато по интерфе… twitter.com/i/web/status/9…

    8:03
    @backendsecret @Atlassian Мы используем гитлаб, дропбокс пэпер и трелло, ни о чем не жалею

    Гитлаб – это норм, серьезно? Я завтра передаю аккаунт нашей односельчанке Анастасии Власовой, в ее команде запарил… twitter.com/i/web/status/9…

    8:06
    Our MOOCs are now available on our Open edX platform! scala-lang.org/news/2018/02/2… You can enroll, access the course mat… twitter.com/i/web/status/9…

    Пока я манкирую своими обязанностями по ведению твиттера, можете пройти четыре курса по Scala: язык с таким богатым… twitter.com/i/web/status/9…

    5:02

    Проблема Скалы, на мой взгляд, состоит в попытке усидеть на двух стульях: императивность и функциональность, сосуще… twitter.com/i/web/status/9…

    8:48
    @backendsecret Типичный @backendsecret . Вчера критиковал ерлангистов, которые брызгали слюнями на haskell. Сегодня… twitter.com/i/web/status/9…

    Это ещё что, я сейчас сам Хаскель ругать начну. Проникся комментами хейтеров. twitter.com/Odomontois/sta…

    12:52

    Так вот, самый лучший функциональный язык — это, разумеется, Standard ML. Я с ним, к сожалению, поздно познакомился… twitter.com/i/web/status/9…

    13:00

    Вообще всё семейство ML мне нравится (даже F#). Понимаете, это языки без претензий, языки для тех, кому ехать, а не… twitter.com/i/web/status/9…

    13:02

    Посмотрите на объекты и классы Ocaml — вот так по-честному нужно делать ООП в функциональном стиле, а не то, что по… twitter.com/i/web/status/9…

    13:05

    Система типов в ML-языках сложная, но не раздавливающе сложная, как в той же Скале или Хаскеле. Модули замечательны… twitter.com/i/web/status/9…

    13:07
    @backendsecret > Ocaml тоже неплох.
    ждем лайк

    Это нам тут напоминают, что правильно писать OCaml, сейчас придёт бот и лайкнет твит с неправильным написанием. twitter.com/hmemcpy/status…

    13:09
    @backendsecret Не думали в сторону перевода PFPL?

    Речь о книге Боба Харпера Practical Foundations for Programming Languages. Во-первых, там нечего переводить, одни… twitter.com/i/web/status/9…

    13:15

    Читайте «Типы в яыках программирования» Пирса, вот книжка для детей. Как раз бэкендерам пойдёт. newstar.rinet.ru/~goga/tapl/

    13:16

    Причём я ни в коем случае никого не хотел обидеть, это действительно приятно читаемая книжка. Там лямбда-исчисление… twitter.com/i/web/status/9…

    13:20

    Вполне возможно, что я бы какой-нибудь ML читал в университете, но случилось так: когда-то в далёком 2003 году (я т… twitter.com/i/web/status/9…

    13:29

    Я тогда был страшно самоуверенный, заявил, что все языки одинаковые (основываясь на знании гигантского количества я… twitter.com/i/web/status/9…

    13:30

    А что вы хотите? Провинциальный вуз, я и слов-то таких как функциональное программирование никогда не слышал. Тольк… twitter.com/i/web/status/9…

    13:32

    SICP надо читать, хоть над ним в лурке смеются. Первые три главы уж точно, дальше необязательно. Но вот языки семей… twitter.com/i/web/status/9…

    13:37
    @backendsecret Если кто хочет почитать SICP, рекомендую вот этот модернизированный PDF с хорошей типографией github.com/sarabander/sic…

    Но есть и на русском: newstar.rinet.ru/~goga/sicp/

    Спасибо, кстати, @gogabr за перевод! А ещё он Окасаки переводил и то… twitter.com/i/web/status/9…

    13:45
    Это правда. Но решается простыми рекомендациями к стилю кода. И в той или иной степени (обычно меньшей) есть и в др… twitter.com/i/web/status/9…

    Рекомендации к стилю кода редко работают. К тоже же обычно есть противоречивые рекомендации. Но вообще это старый с… twitter.com/i/web/status/9…

    13:49
    @backendsecret Пссс, про ruby чё-нить слышал?

    Ruby — это, конечно, ужас. У нас форум факультетский на Discourse, который на Ruby написан, иногда приходится внутр… twitter.com/i/web/status/9…

    13:54

    Зря про Ruby написал, да? Ну ок. Вы ж имейте в виду, что я вообще чушь несу, тут народ отписывается целыми коммьюнити и ничего!

    14:02

    Слушайте, а эти ребята токсичные. Я всех люблю, на самом деле. Даже рубистов!

    14:07
    @backendsecret Страшным образом для тебя - это в vim? :D

    Оскорблять пытаются. Я с вимом с 1997 года знаком, с первого курса. У нас в дисплейном классе по Enter'у на pas-фай… twitter.com/i/web/status/9…

    14:19

    Вы же поймите. у меня просто интересы другие! Вам нужно что-то запрограммировать. Желательно быстро, чтобы работало… twitter.com/i/web/status/9…

    14:27

    Только он как язык скучный, там вообще ничего интересного нет! Как представлю, что мне пришлось бы Ruby преподавать… twitter.com/i/web/status/9…

    14:28

    Вот Javascript, кстати, я за ним с 2000 года наблюдаю. Он же прикольный! О, это чудесная объектная модель на протот… twitter.com/i/web/status/9…

    14:34
    @backendsecret А может лучше работать и ебашить фичи,а не искать всю жизнь лучший язык программирования, читать тео… twitter.com/i/web/status/9…

    Может, и лучше. Просто у меня другая профессия. Все эти работники, создающие фичи, ведь не с потолка берутся. Хотя,… twitter.com/i/web/status/9…

    14:42
    @backendsecret Если вкратце, там синтаксис как в js, но система типов от ocaml. Это все к тому, что ML подобный син… twitter.com/i/web/status/9…

    Про ReasonML twitter.com/somerandstring…

    14:46

    Я не знаю. Может, кто что посоветует? twitter.com/mtrklb/status/…

    14:51
    @backendsecret Давай про Хаскель ближе к земле.
    Чем и как либы/зависимости устанавливают? Кабалы эти ваши и вот это… twitter.com/i/web/status/9…

    Есть два инструмента: stack и cabal. Они оба работают. Stack ориентируется на относительно небольшой (~2600) набор… twitter.com/i/web/status/9…

    15:00

    Если ничего экзотического не требуется, то оба инструмента работают приемлемо, они оба сейчас активно развиваются,… twitter.com/i/web/status/9…

    15:02

    Для подключения C-библиотек используется FFI — Foreign Function Interface, там нужно поработать над соответствием т… twitter.com/i/web/status/9…

    15:03

    Сейчас в cabal делают новый интерфейс, постепенно переводя его на nix-рельсы. Пока сыро, но пользоваться уже можно.… twitter.com/i/web/status/9…

    15:07

    Рубисты, прекращайте! Увидели, что докладчик идиот — всё, пошли дальше.

    15:09
    @backendsecret Твиттер - инструмент для рассмотрения и ведения конфликтов. Ты просто убегаешь от них. В текущем слу… twitter.com/i/web/status/9…

    Так я честно говорю: компетенции никакой у меня нет! Это к кураторам: позвали какого-то лоха из провинции с экзотич… twitter.com/i/web/status/9…

    15:17
    @alcotaran @backendsecret Большинство проблем, которые приходится решать,никак не связано с языком, на котором прих… twitter.com/i/web/status/9…

    Счастье не наступит. Но вообще ясно же, что сложные задачи на любом языке сложно решать. И в Хаскеле с этим придётс… twitter.com/i/web/status/9…

    15:23
    @backendsecret про руби вы просто из функционального лагеря, а красота руби в ооп. я ненавидел ооп когда писал на п… twitter.com/i/web/status/9…

    Рад за рубистов! twitter.com/oleg_antonyan/…

    15:32
    @backendsecret Не совсем. Сложные задачи на kotlin просто решать

    Про Kotlin не буду писать, а то на меня в JetBrains обидятся, а они хорошие, пользу отечественному образованию боль… twitter.com/i/web/status/9…

    15:55

    Idris — прекрасный язык. Очень полезно для самообразования, книжка отличная от автора языка есть (… twitter.com/i/web/status/9…

    16:03
    @backendsecret С такого комментария уже можно обидиться - "не буду писать". Если обратная связь конструктивна, чего обижаться.

    Это шутка была! Я люблю JetBrains! Kotlin — лучший в мире язык программирования! Ещё у него архитектор замечательны… twitter.com/i/web/status/9…

    16:09

    Ладно. Все поняли, что в языках программирования я ничего не понимаю, и хорошо. Пойду отсюда, пока ещё кого-нибудь… twitter.com/i/web/status/9…

    16:12
    Неделя треша с новым автором @backendsecret

    все меньше понимаю связь авторов с тематикой проекта...

    Не могу не отретвитить на широкую аудиторию, но заявление по собственному желанию писать не буду! twitter.com/devilish_flux/…

    16:45

    Тут спрашивали удалённо ли я над стартапом работаю. Хороший вопрос, потому что это как посмотреть. Когда мы начинал… twitter.com/i/web/status/9…

    22:14

    Сейчас я большую часть времени провожу в Британии, но команда теперь распределена от Сибири до Португалии.
    Для наше… twitter.com/i/web/status/9…

    22:15

    Даже когда я в Британии, я могу неделями не приходить в офис, работая из дома, просто потому что так бывает удобно,… twitter.com/i/web/status/9…

    22:17

    С самого начала у нас была политика remote first: какие бы процессы мы ни выстраивали, прежде всего удобно должно б… twitter.com/i/web/status/9…

    22:18

    Вообще, в выстраивании удалённой работы много нюансов, но самый сложный случай -- это когда уже есть "центральный о… twitter.com/i/web/status/9…

    22:21
    @backendsecret Кагбэ да, однако так ли легко бизнесовые требования замоделировать без глобального разделяемого сост… twitter.com/i/web/status/9…

    > так ли легко бизнесовые требования замоделировать без глобального разделяемого состояния?

    А я и не говорил, что… twitter.com/i/web/status/9…

    7:13
    @backendsecret И получается дешевле (по деньгам и срокам) сделать спагетти с глобальным стейтом, чем раскладывать в… twitter.com/i/web/status/9…

    Опять же, всё зависит от проекта.

    Если это проект, который изначально задуман как времянка, и его нужно сделать ка… twitter.com/i/web/status/9…

    7:52
    @backendsecret Беда в том, что 4 стейкхолдера собравшись на митинг всё равно опишут только 20-50%% очевидных кейсов… twitter.com/i/web/status/9…

    > И пойдешь все свои строгие типы на корню переделывать после первого столкновения с реальностью.

    Вполне возможно.… twitter.com/i/web/status/9…

    7:58
    Топишь за язык, будь добр оправдывайся и за IDE. Или зачем вы тут вообще? twitter.com/backendsecret/…

    > Или зачем вы тут вообще?

    Рассказывать об использовании языка. А не оправдываться за то, что для него нет каких-т… twitter.com/i/web/status/9…

    8:32
    @backendsecret Поставим вопрос по другому :)
    Есть ли ограничения или сложности в практическом (как оперативном, так… twitter.com/i/web/status/9…

    > Есть ли ограничения или сложности в практическом ... использовании ФП с различными методологиями: MSF, RUP, гибки… twitter.com/i/web/status/9…

    9:06
    @backendsecret раз уж об отличиях - известна в мире хоть одна хаскеллист-женщина? (никакого сексизма! чистый интерес)))

    Да. И не одна. Например, вот доклад "Haskell is Not For Production and Other Tales" (youtube.com/watch?v=mlTO51…). Он о… twitter.com/i/web/status/9…

    9:13
    @backendsecret Недавно вышла хорошая книжка pragprog.com/book/swdddf/do…. Читается на одном дыхании, как по теме моделир… twitter.com/i/web/status/9…
    10:38

    А вот, кстати, ещё одна прекрасная представительница хаскелистов: youtube.com/watch?v=B19WKs…. Рассказывает о реалиях п… twitter.com/i/web/status/9…

    11:11
    @backendsecret отлично. Кстати, смотрели в сторону ЯП Swift? Видно, что его делали с оглядкой на ФП. Есть и высшие… twitter.com/i/web/status/9…

    Да, Swift впитал в себя дух ФП, это видно даже в синтаксисе. Но сам я не работал с этим языком, поэтому прокомменти… twitter.com/i/web/status/9…

    11:16
    @backendsecret боюсь пробовать хаскелл именно потому что в докладах всё ахриненно круто, а в жизни столкнусь с труд… twitter.com/i/web/status/9…

    > в жизни столкнусь с трудностями

    Конечно столкнёшься! Да, ФП помогает избежать многих проблем, но не всех. И на H… twitter.com/i/web/status/9…

    11:45

    Но по своему опыту могу сказать: столкновение с трудностями помогло мне снять розовые очки, но ничуть не оттолкнуло меня от ФП-парадигмы.

    11:50
    @backendsecret Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.
    Н… twitter.com/i/web/status/9…

    > Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.

    Монады - это… twitter.com/i/web/status/9…

    12:00

    "Всякий раз, когда кто-то называет функциональный объект функтором, где-то в мире умирает математик..." (C)

    К чему… twitter.com/i/web/status/9…

    12:43
    @backendsecret Да функтор это жеж прост класс в си-крестах с перегруженными круглыми скобками.
    Ну или лямбда там.… twitter.com/i/web/status/9…

    НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! Зачем, зачем ты сделал это?! Ведь только что ещё один представитель математического сообществ… twitter.com/i/web/status/9…

    13:13
    @backendsecret Ну если я аппликацию на хомяках и орешках под бутылочку стаута смог объяснить, то и монады с каким-нибудь зельем смогу
    14:01
    @backendsecret Я правилно понял, что монада, это интерфейс, с правилами реализации, для которого есть синтаксический сахар в haskel?

    Не спрашивайте, пожалуйста. Объяснение будет позже. Если я решусь на это. И не могу обещать, что решусь-таки... :-) twitter.com/zysyg/status/9…

    14:02
    @skv_nskv @backendsecret Вот тут то типы и нужны, можно понять, что чепуха получается, пока ещё тонны кода не написаны.

    Золотые слова! twitter.com/qnikst/status/…

    15:51
    @backendsecret Наша дружная команда очень нуждается в PHP разработчике (уровень middle)
    по уровню , по ключевым на… twitter.com/i/web/status/9…

    Спрашивать о PHP-разработчике на Haskell-неделе... Это похоже на подкол. :-) twitter.com/abystrova1/sta…

    15:52
    Друзья! В один инновационный проект, а именно "Лига ЖКХ" требуются программисты. PHP, PostgreSQL и вот это вот все.… twitter.com/i/web/status/9…
    17:36
    @backendsecret Денис, а что скажете про TDD и Haskell есть ли профит от такого союза?

    TDD - это ведь Type Driven Development, верно? От такого союза самый что ни на есть профит! :-)

    Если же под TDD по… twitter.com/i/web/status/9…

    19:02
    @backendsecret @ditansu На самом деле паттерны программирования в Haskell есть. Но это скорей здравый смысл и часто… twitter.com/i/web/status/9…
    20:27

    Ну что, отдохнули от монад?

    12:06
    Как я пытаюсь изучать хаскель coub.com/view/13ka5l
    12:27

    Ну раз отдохнули...

    12:31

    is.gd/4qRRRy Функциональное программирование - Ярон Мински, Анил Мадхавапедди и Джейсон Хикки - Программ… twitter.com/i/web/status/9…

    12:31

    Функциональное программирование - Ричард Уорбэртон - Java 8 Lambdas: Functional Programming for the Masses / Лямбда… twitter.com/i/web/status/9…

    12:32

    [Computer Science Center] Функциональное программирование на языке Haskel [2015, RUS] is.gd/W9CVQb видео

    12:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2013 год [2014, PDF/DjVu, RUS] is.gd/4ysopT

    12:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2012 год [2013, PDF/DjVu, RUS] is.gd/QVDOYy

    12:37

    Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2011 год [2012, PDF/DjVu, RUS] is.gd/eo92jJ

    12:37
    ищу разработчика Python в #Таганрог (#Краснодар или #Ростов или ещё где тоже устроит) как-раз за такие деньги. Ау?!! twitter.com/belliht/status…
    12:42

    Городняя Л. В. - Основы функционального программирования [2004, PDF, RUS] is.gd/u4HLgN

    12:44

    Мартин Одерски - Принципы функционального программирования на языке Scala / Functional Programming Principles in Sc… twitter.com/i/web/status/9…

    12:50

    Функциональное программирование - Бёрд Р. - Жемчужины проектирования алгоритмов. Функциональный подход [2013, PDF,… twitter.com/i/web/status/9…

    12:50

    [TechDays] Практическое функциональное программирование на F# от облачного- и веб-программирования до телефона и иг… twitter.com/i/web/status/9…

    12:50

    [CompSciCenter.ru / lektorium.tv] Функциональное программирование (Haskell) [2012, RUS] is.gd/EZOtha видео

    13:21

    Сошников Д. - Функциональное программирование на F# [2011, PDF, RUS] is.gd/GIsjyx

    13:21

    Больше не буду. Профессор по ФП возмущается пиратским книжкам.

    13:21

    А может у вас есть вакансии? Давайте, поретвичу!

    13:45
    @backendsecret если можно, спасибо twitter.com/GosuAi/status/…
    14:07
    @backendsecret Мы вот в Гамбург сисадмина ищем innogames.com/ru/innogames-r…

    Помогают с переездом, команда дружная, работы море.

    14:07
    @limmopony @backendsecret Насколько я знаю если образование не по ирженерной специальности, могут быть проблемы с в… twitter.com/i/web/status/9…
    0:00
    LINE ищет финансистов/менеджеров для работы в сфере криптовалют (не IT). Японский не значится в списке скилов, но… twitter.com/i/web/status/9…
    2:31

    Как я и говорил. Прямо из гайдбука подачи на гранты для молодых исследователей от JSPS (японское сообщество продвиж… twitter.com/i/web/status/9…

    5:10
    @backendsecret Изначально канал для бекендеров и иже с ними. И я бы хотел все причастных поздравить с неофициальным… twitter.com/i/web/status/9…
    5:33

    Как и обещал, продолжаю вещать!

    Клавиатурное хобби может показаться очень странным человеку извне, но даже в нем е… twitter.com/i/web/status/9…

    6:19

    Мне не нравится вариант перевода с "кустарными" клавишами, поскольку на самом деле по-настоящему профессиональные р… twitter.com/i/web/status/9…

    6:23

    Так что же все-таки представляют с собой артизаны? Допустим вам нравится ваша клавиатура, а так же вам очень нравят… twitter.com/i/web/status/9…

    6:26

    Именно с роботов пошли одни из первых артизанов, Bro Caps, кейкапы назывались Brobot wiki.geekhack.org/index.php?titl… (фото… twitter.com/i/web/status/9…

    6:30

    А дорогие они потому что это ручная работа сделанная фактически в одном экземпляре. Сами авторы как правило не прод… twitter.com/i/web/status/9…

    6:31

    Чтобы понять почему они так дорого стоят даже до перепродажи, советую посмотреть это видео youtube.com/watch?v=QOiyyR…

    6:35

    Это более-менее полный вариант отливки кастомных кейкапов. Вот только одно но, сетап на видео + материалы стоит от… twitter.com/i/web/status/9…

    6:35

    Если вкратце, то процесс происходит так:

    1) Отливаете силиконовую форму для вашей клавиши
    2) Смешиваете жидкий пла… twitter.com/i/web/status/9…

    6:41

    Проблема в том что многие экономят на камерах и в итоге используют китайские аналоги (или еще хуже – китайские паро… twitter.com/i/web/status/9…

    6:43

    Но! Если вы набьете руку, то можно вытворять абсолютно крутые, даже сумасшедшие вещи. Яркий пример – мои друзья из… twitter.com/i/web/status/9…

    6:53

    По примерной оценке авторов на одну такую клавишу уходит до 8-10 часов работы

    6:54

    Я в свое время делал только простейшие даблшоты, но никогда их не продавал тк качество было так себе pic.twitter.com/44otuM8TZz

    7:01

    Из по-настоящему крутых артизанов могу назвать:

    KeyKollectiv
    Booper
    Binge (Hunger Work Studio)
    Bro Caps
    Doom caps… twitter.com/i/web/status/9…

    7:11

    На этом бизнесе, правда, шибко не заработаешь, особенно если вы делаете у себя на дому. Некоторые из артизанов это… twitter.com/i/web/status/9…

    7:24

    Но в этом нет ничего плохого. Наоборот, автоматизация экономит время. Например Binge убухал кучу денег чтобы создат… twitter.com/i/web/status/9…

    7:28

    купить его можно тут techkeys.us/products/synth

    7:29

    Однако не ожидал что мои рассказы про клавиатуры будут пользоваться такой популярностью. Хотите расскажу как дизайн… twitter.com/i/web/status/9…

    8:55
    @backendsecret А как дела с шумом от них в опенспейсе? Оч хочу перейти, но боюсь, что:

    Я сижу в лаборатории из 30 студентов, 20 из них на механике. Проблем не замечал twitter.com/zobninatn/stat…

    9:04

    # Четверг 342 твита

    Судя по “многочисленным” ответам тут мало кто занимается работой на низком уровне, а следовательно большими нагрузками. Поднимаемся выше!

    5:18

    Кто использует в работе какие фреймворки или CMS-ки? Какие бд? Мускул? Постгря? Монга? Redis-ка? Эластик-серч? Мемкеш?

    5:20
    @backendsecret только Plack, только Postgre, только хардкор! Ну и Redis еще
    5:22
    @backendsecret нода, монго и редис
    5:25
    @backendsecret так о ликах или о тредах тема? Вещи весьма себе перпендикулярные :)
    5:26

    Использование тредов или асинхронности, @ivanenok, влечет за собой проблемы ликов и дебага. То есть вопрос про фактическую работу.

    5:28
    @backendsecret в managed окружениях типа JVM и .NET с памятью все просто, треды за тобой чистят, но нужен тюнинг иногда.
    5:39

    А с самой памятью, @ivanenok, как там? “Хеллоу, ворлд“ сколько занимает в виде веб-сервера?

    5:41
    @backendsecret дебаг многопоточности еще тот геммор и потому предпочтительно тратить больше времени на проектирование.
    5:44

    Странный тезис, @ivanenok! Программируете сначала на доске/бумаге? Я слышал про подобные собеседования в гугле.

    5:46
    @backendsecret само окружение жрет память, но под задачи типа Hello World, нужно брать подходящие инструменты типа пыхи, ноды и тд :)
    5:47

    Это отмазки, @ivanenok. Какой размер?

    5:47

    И как впечатления, @Chudesnov?

    6:07
    @backendsecret @ivanenok подстрелить соломки в местах всяких рейс-кондишенов на этапе проектирования это всегда хорошо. И доска тут непричем
    6:07
    @imdefined @backendsecret я больше о проектировании. типа какие данные шарятся, что с этим делать и как минимизировать сваливание в кернел.
    6:07
    @backendsecret для дебага использую лимитированные очереди везде, где можно. вместо ликов - режекты.
    6:08

    Поясни про лимитированные очереди, @Borovikov. У нас (перл) нет такого понятия.

    6:08

    Про него слышал только название мельком, @freiksenet_ru. Про что эта история?

    6:10
    @backendsecret любая асинхронная задача выполняется через пул потоков, задачи кидаются вначале в очередь, а пул разгребает.
    6:10

    Это знакомо и есть аналоги, @Borovikov. И?

    6:11
    @backendsecret если эту очередь выбрать ограниченной, то при попытке засабмитить слишком много тасков получаем эксепшен
    6:17
    @backendsecret получается fail fast, и смотрим какой метод пытается переполнить пул и ищем проблему в нем.
    6:17
    @backendsecret ситуации там как правило типовые, например таски создаются в цикле. или забыли дожидаться окончания тяжелого вызова.
    6:17
    @backendsecret Язык запросов интересный, сериализуется и выполняется на сервере.
    6:19
    @backendsecret node, mongo, redis, postgress, lua
    6:20
    @backendsecret Rails + Postgres + Redis + Memcached + Sidekiq
    6:20

    В первый раз слышу про sidekiq, @bytecheg! В бою он под какие задачи юзается?

    6:21
    @backendsecret ты может и код первый день пишешь? @bytecheg
    6:25

    Бгг, @graff_z @bytecheg :)

    6:25
    @backendsecret сначала прочитал "В БД" :) Как обычно: любые, требующие много времени и/или надежности. Например, публикация в соцсети.
    6:33

    Очень интересно, @bytecheg! Я так понимаю она на тоже на рубях написана и имеет развесистый интерфейс функций?

    6:34
    @backendsecret Да, ruby. Функции: разные очереди с разными приоритетами, retry провалившихся задач,web-интерфейс для управления и статистики
    6:38

    Кроновский эмулятор, @bytecheg, должен быть по идее. Не пробовали все периодические задачи на sidekiq пересадить?

    6:39
    @backendsecret 1/2 это не совсем крон. Крон только по времени отрабатывает. А в sidekiq можно кидать задачи прямо из приложения, что удобно.
    6:41

    Я понимаю, @bytecheg. Сталкивался с аналогичными решениями для питона и перла. Мне интересна возможность отказаться от крона. Пробовали?

    6:42
    @backendsecret для ruby есть clockwork - легковесный ruby-процесс,аналог cron'а.Он и секунды поддерживает, и приложение загружать не надо.
    6:46

    Мегасупер, @bytecheg!

    6:47
    @backendsecret Mongo, NodeJS, SailsJS, Redis на сервере
    6:54
    @backendsecret раз уж пошла такая пьянка: Расскажите, сталкивались ли вы с хранением в БД данных весом в 5Тб и больше? Какая БД была?
    8:38

    Да, есть такая попаболь, @lopinopulos. У нас десятки миллионов мелких файлов на огромные тб. Живём на go + aerospike.

    8:40

    Решение по стореджу, @lopinopulos, готовил facebook.com/profile.php?id…. Стукнитесь к нему, - он расскажет много чего интересного!

    9:12
    @backendsecret Perl, Catalyst, Mojolicious, Postgres, MongoDB, Redis, memcached. Ansible, Docker.
    9:20
    @Bugagazavr @backendsecret супер, спасибо! А кто там следит за временем? Они встраиваются в процесс самого сайдкика или что?
    9:49
    @bytecheg @backendsecret да, оно встраивается в сам процесс sidekiq
    9:49

    У кого какие сисадмины? Добрые и помогающие? Заносчивые и вечно спрашивающие “Тикет есть?” Параноидальные? Участвуют ли в вашей разработке?

    12:13
    @backendsecret тикет есть? :)
    12:52
    @backendsecret А для локального девелопмента какой оркестратор используете? Minikube?

    У разрабочиков каждый кто что хочет локально. Большинство или просто поднимают по 2-3 сервиса руками, если надо бол… twitter.com/i/web/status/9…

    0:32
    @backendsecret А почему aws, а не gcloud (или вообще 3rd party bare metall), хотя бы для CI/CD? Они же дешевле

    Aws историческая причини
    Другие можно прикрутить но бфдет содержать накладно потому что другие конфиги twitter.com/dpoddubny/stat…

    5:23
    @backendsecret Если во время билда нужна база (разогреть кэш), это норм, или что то не так с архитектурой?

    Во время докер билд не нужна база, это немного анти патерн twitter.com/dpoddubny/stat…

    5:25

    Поговорим про Израильский high tech. Тут индустрия сильная даже по мировым рынкам. Был на конференции амазона в вег… twitter.com/i/web/status/9…

    6:55

    Израильские компании можно делить на 3 вида

    7:00

    Второй вид.
    Компании которые выросли из стартопов и не продались, примерно от 100-500 человек. Часть из них прибылн… twitter.com/i/web/status/9…

    7:04

    Третий вид.
    Крупные международные компании у которых есть офис в израиле или они израильские.
    Facebook, google, che… twitter.com/i/web/status/9…

    7:06

    Работы разработчикам хватает, есть последнии несколько лет есть серьезная нехватка инженеров. Это отражается в зарп… twitter.com/i/web/status/9…

    7:10

    Есть компании которые открыли офисы свои в Украине или даже несколько.
    Почему именно эти страны? Близость, отсутств… twitter.com/i/web/status/9…

    7:12

    Последний шик Израиского high tech. Новое здание в центре тель авива.Сьем офиса наверно очень дорогой. Там амазон с… twitter.com/i/web/status/9…

    7:15

    Пример израильские компании в high tech

    7:21

    У многих компаний в Израиле есть офисы в Америке, обычно это sales или "HQ" чтоб было легче деньги собирать.

    7:25
    @backendsecret чем программист-еврей оличается от программиста-русского?

    Не чем. И у тех и у тех 10 пальцев и одно голова. twitter.com/slesh93/status…

    7:26

    В Израильском high tech большой процент русско говорящих. В любой компании выше 5 человек будет кто то кто знает русский.

    7:30

    Переписка внутри компании или наружи прянето на английском. Часть потому что есть офисы не в Израиле, часть потому… twitter.com/i/web/status/9…

    7:35

    Потому что много success story, типо продаж стартапов ща милионы долларов. Есть куча людей которые думают что они м… twitter.com/i/web/status/9…

    7:44
    @backendsecret Стартапы это хорошо, у меня есть крутая идея. Grammarly для русского языка, думаете взлетит?

    Наверно :) только если будет работать на мобильных twitter.com/otakahuynyaa/s…

    7:48

    Есть много компаний который занимаются информационной безопасностью. Тут принето модно слово для них "cyber". У час… twitter.com/i/web/status/9…

    7:51

    Все эти компании Cyber обычно крутят большие деньги. Они работают как страховые компании, пугают что в интернете ес… twitter.com/i/web/status/9…

    7:54
    @backendsecret Что ты думаешь о portnox.com

    Без понятия, первый раз вижу twitter.com/L0ndra_/status…

    8:01
    @backendsecret А в какой индустрии Израиля их мало? :))

    Такситы, там их мало twitter.com/vlazarenko/sta…

    8:09

    Знаешь как сделать docker image с rails + pg client + ubuntu чтою было меньше чем 700-900мега? twitter.com/maksfromspb/st…

    8:45

    Как у вас работат CI E2E?

    9:18
    @backendsecret Я в феврале прошлого года из 10 взятых такси в Тель Авиве поймал только одно, в котором был израильт… twitter.com/i/web/status/9…

    где вы ловите? я на такси ездию примерно 3 раза в неделю нет и их мало twitter.com/vlazarenko/sta…

    9:38
    @backendsecret А расскажите, пожалуйста, как проводите миграции в pg? Используете ли какие-то тулзы?

    Мы взяли и переписали goose, назвали swan.Там он умеет смотреть на sql и говорить разработчику что миграция плохая… twitter.com/i/web/status/9…

    13:40

    В тяжелых случаях делают миграции брут форсом. То есть обрывают конекшины в базу гоняют миграции за секунды и возра… twitter.com/i/web/status/9…

    13:42

    Судя по опросу у малого количество людей CI e2e работает на ура. И это понятно, оказывается набрать команнду, напис… twitter.com/i/web/status/9…

    13:46
    @backendsecret У нас в @neoscms @DXTestCafe работает на ура в CI на Travis.

    E2E или юнит тесты? twitter.com/dimaip/status/…

    15:33
    @backendsecret Миниатюры проще генерить на лету с кешированием через nginx + image_filter или гошными тулзами. Зара… twitter.com/i/web/status/9…

    Это когда media хранится у тебя (или гоняется через тебя). Но взять S3-alike сторадж проще в обслуживании, имхо. Пр… twitter.com/i/web/status/9…

    6:47
    @backendsecret Мы тут совместно уютным чатиком написали FAQ для заинтересованных github.com/amureki/django…
    6:49
    @salikhov @backendsecret И после этого какой-то умник натравит скрипт в цикле запрашивающий размеры с изменением в… twitter.com/i/web/status/9…

    А другой умник при тех же затратах пойдёт плодить сущности через ваше REST API. Абузить можно много чего.

    Также ко… twitter.com/i/web/status/9…

    7:05

    Django ORM. Действительно очень прагматичная штука. Селекты с джойнами ей даются очень легко. Immutable и lazy quer… twitter.com/i/web/status/9…

    7:22

    Надо ко всем запросам приджойнить FK? Не вопрос, в модельку пихаешь менеджер, который модифицирует дефолтный QS (se… twitter.com/i/web/status/9…

    7:22

    Надо отпагинировать ответ? BasePagination принимает QS и нарезает его лимитами-оффсетами как угодно (постранично, к… twitter.com/i/web/status/9…

    7:22

    Тут следствие: Django без её ORM юзать в принципе можно, но вы не сможете использовать практически ничего из неё: а… twitter.com/i/web/status/9…

    7:22

    В любой момент можно скатиться до сырого SQL. Причём в двух вариантах: "низкоуровневый" для записи и обернутый в Ra… twitter.com/i/web/status/9…

    7:22

    Модельки можно наследовать. Например, один раз мы закодили модерацию, и теперь просто подмешиваем её модельку/сериа… twitter.com/i/web/status/9…

    7:22

    Неадекватные запросы (лично у меня) бывают только для монстров с GROUP BY. И то по тестам сразу становится понятно,… twitter.com/i/web/status/9…

    7:22

    DELETE/INSERT испортить сложно :).
    Есть bulk_create для одного INSERT с кучей VALUES.
    Но нет постгресовского ON CO… twitter.com/i/web/status/9…

    7:22

    Есть сигналы: чтобы после сохранения сущности можно было что-то сделать: счётчики пересчитать, имейл отправить и т.… twitter.com/i/web/status/9…

    7:22

    Проблема с сигналами в том, что для запросов по нескольким строкам они не вызываются. Например, для bulk_create и д… twitter.com/i/web/status/9…

    7:22

    Есть и ряд других нюансов в угоду прагматичности, расстраивающих DBA и перфекционистов:

    7:22

    2. Те самые choices (как SQL enum), о которых я вчера писал, на самом деле хранятся как varchar, а не как enum. Воз… twitter.com/i/web/status/9…

    7:22

    3. Валидаторы не переносятся в constraints бд. Даже такие простые как choices и min/max. И при ретриве из бд объект… twitter.com/i/web/status/9…

    7:22

    4. Перед сохранением при валидации проще сделать несколько селектов и сформировать ошибки, чем сразу пытаться сохра… twitter.com/i/web/status/9…

    7:22
    @backendsecret привет! А можешь заретвитить вакансию плз, возможно кто-то из читателей мечтает писать на Elixir в большом проекте.

    Aviasales twitter.com/fliptheweb/sta…

    8:18

    Django + DRF tests. Тестраннер из коробки адекватный (но докинуть pytest + линтер стоит).
    Кто-то может удивиться, н… twitter.com/i/web/status/9…

    9:10

    Теоретически, нормальные unit тесты (работающие <1 сек) можно получить, если заморочиться с моками кучи джанговской… twitter.com/i/web/status/9…

    9:10

    Но на практике [нам] это не сильно мешает. Приложение разбито на мелкие аппы. Тесты аппа, в свою очередь, на отдель… twitter.com/i/web/status/9…

    9:10

    С другой стороны, писать такие пухлые тесты кажется прагматично: при апгрейдах помогает.

    9:10

    С HTTP запросами в тестах проблема решается с помощью vcrpy (аналог рубишного vcr): при первом запуске HTTP запросы… twitter.com/i/web/status/9…

    9:10

    К вопросу о необходимости тестов и о покрытии, скажу так: непокрытое кусает за задницу в самый неподходящий момент.… twitter.com/i/web/status/9…

    9:10

    Переходим к фронту. Хочу обсудить с вами хипстерский тренд: пихание SPA во все щели вместо обычных HTML шаблонов на… twitter.com/i/web/status/9…

    14:08

    Если коротко: на SPA проще и быстрее делать модный фронт, меньше дублирования кода на бэке (API всё равно надо). Но… twitter.com/i/web/status/9…

    14:08

    (+) Удобнее сборка. Не надо думать, как втащить в ваш бэкенд coffeescript/uglifier/sass/yui, а потом – oh SHI💩 – вы… twitter.com/i/web/status/9…

    14:08

    Во фронте всё меняется быстрее, чем на бэке. У нас уже давно evergreen браузеры. Место IE уже успел занять Safari.… twitter.com/i/web/status/9…

    14:08

    (+) Компоненты дают удобную структуру: вёрстка и стили рядом с логикой, реюзаются хорошо, BEM не нужен (простите).

    14:08

    (+) Управление состоянием в шаблоне это сложно. Сделать интерактивную загрузку аватарки так, чтобы она сразу везде… twitter.com/i/web/status/9…

    14:08

    С реакт-редуксом такой проблемы в принципе нет, т.к. источник правды один, и он всегда актуально выведен в отображение.

    14:08

    Для ангуляра это *частично* тоже корректно, но не совсем: типично данные из HTTP запросов один раз стекаются в шабл… twitter.com/i/web/status/9…

    14:08

    (+) Навигация быстрее, интеракция быстрее => UX лучше (при прочих равных).

    14:08

    (-) Нужна куча инфраструктуры вокруг. SPA без SSR грузится заметно дольше, чем шаблоны. А SSR это сразу nodejs в прод тащить надо.

    14:08

    Нельзя просто так взять вебпаковый фронт, собрать dist и задеплоить его в 2 разных окружения: CDN/API урлы и прочие… twitter.com/i/web/status/9…

    14:08

    (-) Типичный SSR из коробки возвращает на любой запрос http status 200. Редиректов нет. Еретики!
    (справедливости ра… twitter.com/i/web/status/9…

    14:08

    (-) Поддерживать древние браузеры сложнее. С SSR прочитать сайт смогут все (пренебрежём поехавшей вёрсткой на IE8),… twitter.com/i/web/status/9…

    14:08

    (-) При перегрузах API сервера SPA фронт практически ни на один запрос не выдаст адекватный ответ: для рендеринга н… twitter.com/i/web/status/9…

    14:08

    (-) Требуется решать проблему с пробросом загруженных в SSR данных до аппа в браузере. В реакт-редуксе замечал 2 гл… twitter.com/i/web/status/9…

    14:08

    (-) Иногда очень сложно сделать выбор. react/preact? redux/mobx? cssmodules/CSSinJS? (в Ангуляре с этим сильно прощ… twitter.com/i/web/status/9…

    14:08

    (-) i18n на бэке и на фронте разный. Тексты лежат в разных местах и иногда дублируются. Правила плюрализации могут отличаться.

    14:08

    (-) Появляется проблема показа-сокрытия доступных кнопочек-формочек. Из REST апи просто так эту информацию не всегд… twitter.com/i/web/status/9…

    14:08

    Да ещё и кнопочки эти надо для каждого объекта из длинного списка рисовать. Без замусоривания сущности флагами дост… twitter.com/i/web/status/9…

    14:08

    (-) Есть клиенты, у которых одна версия SPA во вкладке живёт больше суток. Даже если этот SPA – единственный консью… twitter.com/i/web/status/9…

    14:08

    (*) Ни один вариант не решает проблему дублирования логики (валидации, подсчёта символов в твите).
    Ну, тут всё зави… twitter.com/i/web/status/9…

    14:08

    *нет, не предлагайте мне писать API на nodejs в монорепе, оно того не стоит*

    14:08

    В общем: шо то говно, шо это говно, и обе эти … ну вы поняли.

    14:08
    @backendsecret Trello просто периодически просит перезагрузить страницу

    Jira великолепно проблему устаревания кода фронта решает (правда, там не SPA): хочешь видеть свежий бэклог во время… twitter.com/i/web/status/9…

    15:17

    А todoist (реакт) вытаскивает такую кнопочку в контекстное меню: pic.twitter.com/2VgxM4lPag

    15:17
    @AstarothAst @backendsecret Ну и вообще, все эти «идеальные кодеры» на скрамах обычно ведут себя как полные мудаки,… twitter.com/i/web/status/9…
    8:01

    Не могут утихнуть споры о бизнесе, а я предлагаю поговорить о интервью.
    Я вам сейчас накидаю супер золотоплатиновы… twitter.com/i/web/status/9…

    8:07

    Правило 1: перед тем как интервьюировать человека, подумайте о том что он будет делать и задавайте вопросы конкретн… twitter.com/i/web/status/9…

    8:08

    Если вы спрашиваете алгоритмы, то вы либо идиот который не знает зачем он задает вопрос, либо вы Гугл и у вас прост… twitter.com/i/web/status/9…

    8:12

    Был случай: знакомый решил спрашивать на интервью вещи которые он недавно прочитал в книге по ЯП и которые он до эт… twitter.com/i/web/status/9…

    8:17
    @backendsecret Хосспади, ну хоть один нормальный человек! как упрутся в эти алгоритмы, и все, хоть стой, хоть падай… twitter.com/i/web/status/9…
    8:18

    Можно задавать разные теоретические вопросы, но лучше всего делать это на скрининге, где вопросы будут простые, про… twitter.com/i/web/status/9…

    8:20

    А в остальных случаях пишите код! Разве это не то чем вы будете заниматься? Сядьте рядом, посмотрите как кандидат п… twitter.com/i/web/status/9…

    8:34
    @backendsecret А чем писать небольшой классический алгоритм с *нюансом* плох (судя по предыдущему твиту про вредность знания алгоритмов)?

    Так а на какой вопрос вы хотите ответить такой задачкой? Может есть вопрос получше на который можно ответить? twitter.com/cybran111/stat…

    8:48
    @backendsecret Та ладно. Как один из фильтров вполне годный. Необязательно спрашивать угар E задач первого дивизион… twitter.com/i/web/status/9…

    Окей, если совсем не может, то да, заржавел. Но сравнивать за какое время кандидаты развернут дерево – не правильно… twitter.com/i/web/status/9…

    8:50

    То есть если человек решает задачу с алгоритмом это нам мало что о нем говорит. Если не решает или решает медленно,… twitter.com/i/web/status/9…

    8:51
    @AstarothAst @mtrklb @backendsecret А О-нотацию знать?

    О-нотация это удобно. Хотя если человек не знает конкретно нотацию, то можно узнать понимает ли он принципы и научи… twitter.com/i/web/status/9…

    8:54
    @backendsecret Навыки реализации конкретных алгоритмов дают представление о сложности алгоритмов, знакомят с вполне… twitter.com/i/web/status/9…

    Кстати, спрашивать по структурам данных обычно очень интересно. Но опять же, спрашивать стоит в рамках практических… twitter.com/i/web/status/9…

    8:55

    Это идеальный случай. Ну то есть здорово было бы нанимать только таких людей. Но по факту большая часть из этих реб… twitter.com/i/web/status/9…

    9:19
    @backendsecret Перефразирую твит выше: посмотреть, как кандидат пишет код, обсудить идеи, посмотреть, как он думает… twitter.com/i/web/status/9…
    9:20

    Самурай без меча во всем подобен самураю с мечем, только без меча. twitter.com/mtrklb/status/…

    9:21
    @mazur_igor @backendsecret Развернуть дерево что бы что?

    Вот это правильный вопрос. twitter.com/Rashid80/statu…

    9:22

    Опять же, если вы будете спрашивать по структурам данных, то возьмите какую-то задачку которую вы решали на работе и задайте её.

    9:34

    С алгоритмами и остальным та же фигня: вместо того чтобы спрашивать знает ли человек О нотацию - возьмите какую-то… twitter.com/i/web/status/9…

    9:37

    Про практические задачки есть и обратная сторона: встречал людей которые соловьем заливались по паттернам, тонкостя… twitter.com/i/web/status/9…

    9:38

    В остальных случаях вы скорее проверяете умеет ли проходить человек интервью, а не сможет ли он выполнять конкретную работу.

    9:40
    @backendsecret Профита "для проекта" вообще не существует. Проект - это процесс.
    Убеждение "ну я же знаю как развор… twitter.com/i/web/status/9…
    9:43

    Вторая важная вещь о которой все забывают или не думают – продавайте себя и компанию. Продавайте на интервью миниму… twitter.com/i/web/status/9…

    10:03
    @backendsecret Вот это многие забывают. У меня были случаи когда чуть ли не открытым текстом шла речь про ‘мы уныло… twitter.com/i/web/status/9…
    10:06

    Потому что потом в вашу компанию никто не пойдет? twitter.com/ngalayko/statu…

    10:18

    Третье: дайте понять кандидату что его никто не оценивает. Что вы его уважаете и просто пытаетесь понять будет ли е… twitter.com/i/web/status/9…

    10:22

    Поэтому нет ничего плохого в том чтобы сказать: “Дружище, у тебя очень интересный опыт, но вот что мы ожидаем от че… twitter.com/i/web/status/9…

    10:23
    @backendsecret Но это ж не правда, вы ж его оцениваете на самом-то деле. Win-win тут будет показать, что оценивают не только его, но и он.

    Вообще не правда. У меня есть множество знакомых которых я собеседовал в одно место и они там не подошли, но отличн… twitter.com/i/web/status/9…

    10:26
    @backendsecret Да ладно. Вот один товарищ в чате приглашал на работу программистов. Больше никакой информации о ком… twitter.com/i/web/status/9…

    Очень смешной тред :) twitter.com/turinkay/statu…

    10:32
    @backendsecret Тут два пути, либо продавать себя, либо продавать то, что делаешь.

    Угу. Работают оба. Кстати, вот лично мне всегда лучше удавалось продавать то, что я делаю.
    Наверное потому что я н… twitter.com/i/web/status/9…

    10:34

    Вообще, старайтесь думать о кандидате. Например не оставлять длинных пауз, не наваливаться толпой в 5 человек, дава… twitter.com/i/web/status/9…

    10:37

    Опять же, если человек не прошел сейчас, то это не значит что он не пройдет через год или два. Или он может помочь… twitter.com/i/web/status/9…

    10:39

    Я вот сейчас скажу очень спорное утверждение и я понимаю его слабые стороны, но выбирая между человеком (10/10 прия… twitter.com/i/web/status/9…

    10:45
    @backendsecret Брошу лайк вместо камня
    10:47

    А теперь про вопросы на интервью для девопса:

    линукс - системные вызовы, дебаг и трейсинг, файловое и сетевое IO… twitter.com/i/web/status/9…

    10:50

    Системная архитектура: балансировка, планирование, прочность систем, проверка на модульность и расширяемость.

    Мон… twitter.com/i/web/status/9…

    10:52

    Впрочем, я считаю что этими знаниями должен обладать любой инженер. Это такой минимальный набор для построения совр… twitter.com/i/web/status/9…

    10:56

    Потому что даже java девелоперам неплохо знать и понимать как их виртуальная машина взаимодействует с ядром или что… twitter.com/i/web/status/9…

    10:58

    И я слишком часто сталкивался с тем что человек неплохо знающий алгоритмы пишет плохой код, просто потому что не по… twitter.com/i/web/status/9…

    11:11
    @backendsecret что такое минимально распределенная система? чем он от программиста отличается тогда, раз программы должен уметь писать?

    Тем что девопс знает немного больше чем “обычный программист”? twitter.com/truetobetrue/s…

    11:12
    @backendsecret Я думал девопсы и в экономике разбираются)) вроде это общие понятия. раз уж они на все руки мастер.

    Кстати, между делом порекомендую книги “Как устроена экономика” и “Фрикономика”. Мне в свое время очень зашли. twitter.com/shkarlat/statu…

    11:50
    @backendsecret Годнота)
    Дополню, что в понятие "приятно работать" больше вкладывается обучаемость и восприимчивость… twitter.com/i/web/status/9…
    12:27
    если он успешно на всё ответит, спросить, почему он хочет в ваше сраное НИИ twitter.com/backendsecret/…

    Первый шаг для этого — работать в крутой компании типа neuromation.io twitter.com/AzatKhadiev/st…

    12:28
    @karbonio @backendsecret И знаете, я за не видел ни одного проекта, который бы не представлял собой бестолковое наг… twitter.com/i/web/status/9…
    14:13
    @karbonio @backendsecret Весь сыр-бор с алгоритмами из-за того, что их все время спрашивают, но редко применяют
    Поэ… twitter.com/i/web/status/9…
    14:48
    @backendsecret A good one, worth a translation for my friends: "If you ask algorithm related questions on an interv… twitter.com/i/web/status/9…
    15:00

    Что-то много агрессии на твит о бинарных деревьях. Вот вы сможете за час написать код, который развернет бинарное д… twitter.com/i/web/status/9…

    16:12
    @karbonio @backendsecret Мы опять пришли к обратно. Я перефразирую исходный посыл. Я считаю, что если человек знает… twitter.com/i/web/status/9…

    Вот тут мы и пришли к самому интересному – что значит “нравится мне”? Это может быть просто случайная симпатия пото… twitter.com/i/web/status/9…

    17:15

    Кстати, есть одна интересная практика – если кандидат тебе нравится, то попробуй себя убедить в том что он тебе не… twitter.com/i/web/status/9…

    17:16

    Еще одна важная часть собеседования - хватит уже писать код на бумажке. Вы хотите самоутвердиться или что? Писать к… twitter.com/i/web/status/9…

    17:46

    Если задача требует использование алгоритмов, то вы сами сможете увидеть как человек выбирает между ними и заодно о… twitter.com/i/web/status/9…

    17:47
    @backendsecret Например, понимает что я ему говорю, а я понимаю что он мне говорит; слушает когда надо слушать, гов… twitter.com/i/web/status/9…
    18:59
    @backendsecret Ну там отношение к работе, софтскиллы и ответственность, короче говоря. Потому что этому не научишь… twitter.com/i/web/status/9…
    18:59
    @backendsecret ты же можешь ещё и наш подкаст посоветовать послушать, кому интересно! ;)
    bit.ly/1srvAcw
    6:29
    @backendsecret но ведь и для C++ придётся притащить весь рантайм (он просто меньше по объёму будет)

    Ну в общем то да. Не факт что меньше. Часть libstdc++ это хедеры с кучей шаблонов, раздувающие размер исполняемого… twitter.com/i/web/status/9…

    6:33
    @backendsecret А не хочешь пачку твитов про время объединить в блог-пост?

    Так ведь это и есть самый настоящий блог, с приставкой "микро", но тем не менее :) twitter.com/dronnix/status…

    6:34
    @backendsecret У Питера Норвига есть эссе на данную тему (в т.ч. ссылается на Malcolm Gladwell)
    norvig.com/21-days.html
    6:35

    Всем привет! Меня зовут Анастасия Власова, и сегодня я буду спамить всякой фигней, чтобы вам не скучно было работат… twitter.com/i/web/status/9…

    5:48

    Алексей Конышев обещал вчера, что я расскажу про гитлаб. История простая: прошлой весной гитлаб упал на несколько д… twitter.com/i/web/status/9…

    5:50

    К тому же, гитлаб внезапно ввел странную монетизацию на свой CI - по минутам, из-за чего этот самый CI вдруг стал о… twitter.com/i/web/status/9…

    5:51
    @backendsecret Про поселок расскажите что-нибудь? Сам одно время хотел туда. Как там в целом живется? Особенно семейным?

    В целом живется хорошо :) Красиво, соседи хорошие, дом комфортный, Киров нравится - что еще нужно для счастья? Дете… twitter.com/i/web/status/9…

    9:04
    @backendsecret А почему вдруг переехали в такое закрытое поселение? :)

    А чем у нас оно такое закрытое? За все это время отказали только одному человеку, который хотел построить конную до… twitter.com/i/web/status/9…

    9:11
    @backendsecret Окей, с гитхабом понятно. А на какой CI вы планируете перехать?

    Мы уже переехали, на Travis, пока все устраивает twitter.com/pvl_loud/statu…

    9:16

    Немного ruby в ленту: в текущем проекте мы используем небольшую часть фреймворка Traiblazer, его формы… twitter.com/i/web/status/9…

    9:20
    @backendsecret Нет школ/садов/больниц. До ближайшей цивилизации ехать и ехать. с трёх сторон лес с волками и прочей дичью.

    "ехать и ехать" - 10 минут до всех магазинов/школ/садов/больниц, 50 минут - до центра города в 500к жителей, а дичь… twitter.com/i/web/status/9…

    9:28

    В поселке нет идеологии, религии, запретов и т.п. Это не родовое поселение, не экопоселение, не секта. Здесь обычны… twitter.com/i/web/status/9…

    9:30
    @dcromster @backendsecret Почему нет сравнения качества образование в Мск и этом городе на 500к?

    А как можно объективно сравнить образование в одном месте и в другом? Я училась в физико-математическом лицее Толья… twitter.com/i/web/status/9…

    10:42
    @Faceless_Rebel @SamoilovVlad12 @backendsecret То есть, курящие люди все-таки там могут жить? И употребляющие алкоголь?

    Могут :) Это не запрет, а скорее тренд. У нас нет никаких запретов, кроме обычных общегражданских. И кстати, инфа н… twitter.com/i/web/status/9…

    10:51
    @backendsecret Теперь мои вопросы:
    1) Как часто мотаетесь в Киров? Не задолбало? Только давайте честно, как дауншиф… twitter.com/i/web/status/9…

    Два-три раза в неделю в среднем. Иногда подзадалбывает, но вспоминаешь Питер и Москву, где час - это минимум, еще и… twitter.com/i/web/status/9…

    10:59
    @backendsecret 2) Вы, которые не из Кирова и области, как с родными и друзьями видитесь?
    3) Как часто приходится ма… twitter.com/i/web/status/9…

    2) я летаю к своим на самолете или мы с мужем вместе ездим на машине
    3) почти каждый день, здесь комфортно передвиг… twitter.com/i/web/status/9…

    11:04
    @Faceless_Rebel @SamoilovVlad12 @backendsecret Очень странная реклама, так как в такой подаче это 100% гарантия неадекватности.

    В сложное время мы видно живем. Раз фраза:
    "У нас оказалось много общего – все зарабатывают удаленным трудом, ни у… twitter.com/i/web/status/9…

    11:22
    @backendsecret В чем проблема выпить бокал вина вечером?

    Каждый, сам решает пить ему или нет.
    Мы вот с мужем не пьем, потому что считаем, что человек может "расслабляться"… twitter.com/i/web/status/9…

    11:54

    Я хочу написать этот пост в поддержку тех, кто не гонится за новыми технологиями, зато просто стабильно хорошо рабо… twitter.com/i/web/status/9…

    12:42
    @backendsecret Модные это как? После React/Vue/Angular все вернутся на jQuery когда мода закончится? Go/Rust/Swift… twitter.com/i/web/status/9…

    Вопрос как раз в том, как отделить моду от эволюции и годную технологию от фигни. Вон angular 1.0 тоже казался всем… twitter.com/i/web/status/9…

    14:08

    Я бывает зависаю на codewars.com, встретила там задачу: создать регулярное выражение, проверяющее, кратн… twitter.com/i/web/status/9…

    14:24
    @backendsecret Подождите, Анастасия! А у вас то самой, какой аккаунт в Твиттере?

    Так получилось, что у меня кроме аккаунта для тестов других в твиттере нет :) Если хотите что-то написать в личку,… twitter.com/i/web/status/9…

    17:42
    @backendsecret Изучать надо как минимум по 2 причинам :

    В целом согласна. Правда, насчет остаться за бортом - проекты у работодателей меняются гораздо медленнее, чем техно… twitter.com/i/web/status/9…

    17:48

    Наверное каждому программисту приходила хоть раз мысль научить свою жену программировать. Мой муж эту идею реализов… twitter.com/i/web/status/9…

    17:59

    Не то чтобы ruby такой прекрасный (хотя он прекрасен :)), но для него есть отличный учебник для начинающих… twitter.com/i/web/status/9…

    17:59
    @backendsecret А рельсы там как? Вроде ж они тоже стагнируют.

    Стагнируют, стагнируют, даневыстагнируют :) проектов много, работы много, хотя по ощущениям у javascript'еров повес… twitter.com/i/web/status/9…

    19:16

    Вот и закончилось мое время на @backendsecret. Всем спасибо и хороших выходных!

    19:54
    @backendsecret можете кратко про универ/студентов? как появился хаскель в универе и т.д.

    Первый раз курс «Функциональное программирование» (Haskell) я прочитал на мехмате ЮФУ весной 2008 года. Он читался… twitter.com/i/web/status/9…

    13:39

    Так получилось, что вскоре после того как это направление появилось на мехмате ЮФУ (2005 год), я стал активно участ… twitter.com/i/web/status/9…

    13:43

    Несколько лет он читался весной на четвёртом курсе, потом перешёл на осень четвёртого курса, а с этого года в уполо… twitter.com/i/web/status/9…

    13:45
    @backendsecret Чем?

    Нас спрашивают, чем полезно ФП. Тем, что практически все промышленные языки программирования сейчас поддерживают со… twitter.com/i/web/status/9…

    13:49

    Когда-то мне подарили книгу Фридриха Шеллинга «Лекции о методе университетского образования». Каюсь, толком я её не… twitter.com/i/web/status/9…

    13:59

    Некоторое время назад я заявил в своём твиттере @_bravit, что программистам математика не нужна. Как известно, мысл… twitter.com/i/web/status/9…

    14:02

    Так вот, программистам не нужна не только математика, но и университетское образование вообще. Технологии сейчас ра… twitter.com/i/web/status/9…

    14:07

    Я думаю, что очень многие из вас уверены, что знания, которыми вас пичкали в вузах, бесполезны. Слабые ничего не по… twitter.com/i/web/status/9…

    14:10

    Курсы по конкретному языку программирования можно пройти довольно быстро, месяц-другой и можно работать, сейчас так… twitter.com/i/web/status/9…

    14:15

    Программистских школ (колледжей, техникумов) в Индии тысячи, если не десятки тысяч. В США очень развито онлайн-обуч… twitter.com/i/web/status/9…

    14:17

    Отсюда кстати и большая популярность всяких конференций для разработчиков, однодневных курсов и прочего — люди хотя… twitter.com/i/web/status/9…

    14:20

    Возможности университетов вообще сильно ограничены фиксированным штатом сотрудников. К тому же в университетах от с… twitter.com/i/web/status/9…

    14:25

    То же самое имеет место и на Западе, только там ещё учитывают мнение студентов, но большинство студентов очень редк… twitter.com/i/web/status/9…

    14:27

    При этом в любом вузе по большинству направлений есть энтузиасты, хорошие преподаватели, заботящиеся о качестве сво… twitter.com/i/web/status/9…

    14:29

    Так вот, исходя из всего этого нужно решить вопрос, зачем программистам такое университетское образование, и если о… twitter.com/i/web/status/9…

    14:31

    Традиционно считается, что университет создаёт среду для обучения человека. Учиться проще, когда вокруг тебя все уч… twitter.com/i/web/status/9…

    14:35

    А безопасность жизнедеятельности, которая у нас прописана в федеральных государственных образовательных стандартах… twitter.com/i/web/status/9…

    14:36

    Может, в этом и состоит метод университетского образования? Заставить студента изучать всякие ненужные предметы. Пр… twitter.com/i/web/status/9…

    14:39

    Подпишитесь, кстати, на @_bravit, а? Мне всего-то 102 фолловера до тысячи осталось. Можете замьютить сразу, всё рав… twitter.com/i/web/status/9…

    14:42

    Мы сейчас не знаем, чем будут заниматься молодые сейчас джаваскриптеры и рубисты лет через тридцать. Их сейчас мног… twitter.com/i/web/status/9…

    14:48

    Может быть, интенсивное обучение в течение четырёх–шести университетских лет — это и есть ключ к облегчению смены н… twitter.com/i/web/status/9…

    14:55

    Кстати, на тему будущего. Как мы сами будем всем этим пользоваться? Начнутся проблемы со зрением и слухом, сможем л… twitter.com/i/web/status/9…

    15:00

    Я о том, что в университетах не будет очень уж хорошо с точки зрения промышленности. У университетов цель, мне каже… twitter.com/i/web/status/9…

    15:04

    У нас университеты бедные, зависят от государства и работодателей, вынуждены подстраиваться, результат далеко не вс… twitter.com/i/web/status/9…

    15:08

    Извините, я уже забыл, про что это вообще. Короче, университеты нужны, но не конкретно программистам, а людям вообщ… twitter.com/i/web/status/9…

    15:13

    Ух-ты, я смотрю по фавам на твит поднялся за последние три часа! backendsecret.ru/stats/

    18:36

    Как считаете, на каком языке лучше изучать основы программирования?

    18:44
    @backendsecret Вот скажи, оч интересно, с языками программирования обычно вообще в школе знакомят - циклы, условия… twitter.com/i/web/status/9…

    Насколько я знаю, в большинстве провинциальных школ сейчас Паскаль. В столицах чаще Python. Олимпиадников натаскива… twitter.com/i/web/status/9…

    18:58
    @backendsecret По моему опыту преподавания программирования для школьников 10ти лет, скреч, паскаль и с++ шли абсолютно одинаково

    Я бы умер С++ преподавать школьникам, завидую! twitter.com/MsMentret/stat…

    19:02
    @backendsecret Я бы одновременно два языка учил, python + C. И сразу же их дружил между собой.

    Есть такой подход, да. Он жуткий, мне кажется. В голове каша из конструкций. twitter.com/strizhechenko/…

    19:04
    Как считаете, на каком языке лучше изучать основы программирования?

    Есть несколько чётко выраженных позиций: учить надо сразу на промышленном языке, учить надо сначала на простом язык… twitter.com/i/web/status/9…

    19:14
    @backendsecret Скрэтч или как-то так.

    Не понимаю Scratch, хоть убейте. Пусть его и в MIT придумали. twitter.com/scena/status/9…

    19:16
    @backendsecret Ещё Кумир бывает!

    Да-да, и ШАК, школьный алгоритмический язык. twitter.com/qnikst/status/…

    19:17
    @backendsecret Я ваще так считаю. Синтаксис языка это фигня вообще. Важнее дать понять, что парадигм программирован… twitter.com/i/web/status/9…

    Хорошее мнение, но есть проблема: понимание того, что синтаксис — это фигня, есть очень высокоуровневое понимание,… twitter.com/i/web/status/9…

    19:20
    @backendsecret 40% за С++ и жабы? Для изучения основ? Люди, вы серьезно поехавшие? Зачем начинающим жизнь ломать.

    Присоединяюсь. У нас тут школа Samsung для школьников есть, там Java — я задания посмотрел, это безумие просто как… twitter.com/i/web/status/9…

    19:22
    @kgorin @NolanRus @backendsecret Иногда мне кажется, что в айти уже скоро будет так, что ты спрашиваешь где бизнес… twitter.com/i/web/status/9…
    19:24

    А мне нравится тут у вас опросы проводить, столько ответов сразу! Не то что в своём твиттере, в час по чайной ложке отвечают…

    19:33
    @backendsecret Начинать надо с представления чисел в двоичном виде, целых беззнаковых и со знаком и правил работы с… twitter.com/i/web/status/9…

    Ну, тоже мнение… twitter.com/LestorN/status…

    19:36

    А вот ещё вопрос: нужно ли на первом курсе учить, как делать односвязные и двухсвязные линейные списки? Вот я знаю,… twitter.com/i/web/status/9…

    19:41
    @backendsecret а когда еще учить примитивные структуры данных? по-хорошему, люди должны приходить уже со знанием вот этого всего.

    Я, собственно, о чём: можно же пользоваться структурами данных вообще не зная, как они внутри реализованы. На том ж… twitter.com/i/web/status/9…

    19:50
    @backendsecret конечно же ATS, там есть и функциональное программирование и императивное, и доказательства, и хорош… twitter.com/i/web/status/9…

    Вот взвешенный взгляд на вещи. twitter.com/qnikst/status/…

    20:12
    @backendsecret @4e6 я начинал с паскаля в 5 классе, там можно было веселые картинки рисовать в dosmode, было весело и интересно.

    Я начал изучать программирование в 7 классе по книжке, в которой параллельно рассказывали про Паскаль и Фортран, сл… twitter.com/i/web/status/9…

    20:28
    @backendsecret Опасно ностальгическая тема, сейчас все ударятся в воспоминания про свой первый ЯП.

    Давайте, ударяйтесь! twitter.com/TheRealDeadOne…

    20:35

    Кстати о языках программирования, вот можете посмотреть мои лекции по теории категорий: youtube.com/watch?v=gpifdH…

    20:42
    @backendsecret Одной из самых полезных вещей, что дал универ, — это курс по ассемблеру. Приводит в чувство и даёт п… twitter.com/i/web/status/9…

    Да, нужный курс. Завтра поговорим об отдельных курсах. twitter.com/salikhov/statu…

    20:59
    @backendsecret Я вспомнил как нас на первом курсе учили *связным спискам на плюсах. Я тогда стал гуглить на эту тем… twitter.com/i/web/status/9…

    Вот правда же, так никто не делает и так делать не нужно! Ну нельзя на первом курсе хорошо связные списки реализова… twitter.com/i/web/status/9…

    21:17
    @backendsecret Еще как зависит. Все сильно зависит от процессов, как таковых, но она зависит.

    И правда я загнул, как же это не зависит: если программиста заставлять каждый день ходить в один и тот же офис неза… twitter.com/i/web/status/9…

    7:13
    @backendsecret Как устроена коммуникация? Как обучаете джунов удалённо? Сколько приходится ждать, чтобы получить от… twitter.com/i/web/status/9…

    Устроена так, что [почти] никогда не нужно ждать ответа на вопрос. Релизы каждый день или несколько раз в день. Есл… twitter.com/i/web/status/9…

    7:18
    @backendsecret А как разрабы получают таски? Участвуют ли на планнинге?

    Мы пробовали и так и так, в обоих случая работало, просто если разрабы участвуют в планинге, добавляется ещё один с… twitter.com/i/web/status/9…

    10:34
    Не нужно ждать ответа, потому что вопросов таких не возникает, или потому что ответ приходит быстро? twitter.com/backendsecret/…

    Вопросы возникают, но не возникают ситуации, когда ты застопорился из-за вопроса и тупо ждёшь пока Земля провращает… twitter.com/i/web/status/9…

    11:37
    @backendsecret Хорошим тоном для контракторов является иметь 4-5 часов «overlap» с in-house командой и подстраивать… twitter.com/i/web/status/9…

    У нас такой "нахлёст" есть, ибо мы все на одном континенте, но когда всё организовали, оказалось, что этот нахлёст… twitter.com/i/web/status/9…

    16:03
    @backendsecret А зачем тебя в Лондон перевели?

    Во-первых, не в Лондон, если бы мы базировали британский офис в столице, мы бы уже раз пять разорились. Мы на проти… twitter.com/i/web/status/9…

    16:09

    В Лондоне у нас есть небольшой офис 5x5м в коворкинге, но это, в основном, для встречь с VC и сотрудников что в Лон… twitter.com/i/web/status/9…

    16:17

    А так мы с женой в любом случае собирались куда-нибудь поехать, было почти всё равно куда, вот нас и убедили поехат… twitter.com/i/web/status/9…

    16:19

    Вообще, когда мы начинали с этим проектом, был хороший вопрос а какую цель мы (технари) себе в стартапе ставим. Ста… twitter.com/i/web/status/9…

    16:37

    разногласия между основателями И маленький рынок, кончились деньги И софт неповоротлив для изменений, и так далее.… twitter.com/i/web/status/9…

    16:40
    @backendsecret Пора и в @abroadunderhood :)

    Ой не, недавно там девочку из Киргизии чуть ли ни линчевали, как будто она в ответе за весь Кыргызстан и Таджикиста… twitter.com/i/web/status/9…

    18:18

    В общем, когда мы пришли в проект, там был огромный технический долг, мы были уже 4-й или 5-й командой, которую осн… twitter.com/i/web/status/9…

    18:23

    (серьёзно, я никогда такого PHP на рубях не видел, это было что-то с чем-то) и заканчивая тем, что, если брать анал… twitter.com/i/web/status/9…

    18:26

    Было просто невероятное желание "переписать всё нафих!", буквально по рукам себя били, чтобы не запустить новый реп… twitter.com/i/web/status/9…

    18:29

    Да, сорри "тактический" и "стратегический" рефакторинг -- это наш локальный жаргонизм. Если по-простому, то тактиче… twitter.com/i/web/status/9…

    18:31

    Соответственно, стратегический рефакторинг -- это такой, что никогда не будет такой фичи, которая могла бы оправдат… twitter.com/i/web/status/9…

    18:32

    В стартапах, в начале пути, горизонт планирования очень короткий, поэтому со стратегическим рефакторингом совсем тя… twitter.com/i/web/status/9…

    18:35

    На третий год, когда мы немного обрасли жирком, мы стали выделать 20% всего нашего времени (один полный день в неде… twitter.com/i/web/status/9…

    18:38

    Но как вспомню -- вздрогну. Там мы видели ТАКОЙ код, что комментили его типа "KILL IT WITH FIRE! BEFORE IT LAYS EGG… twitter.com/i/web/status/9…

    18:42

    А вот теперь PLOT TWIST! У меня только что сын родился!
    (а думаете почему я с вами только урывками был? ;-) )

    22:48

    Рубеном назвал
    да да, если вырастет PHPшником -- он мне больше не сын #RubyForLife

    22:49
    @backendsecret Монада это способ работы с данными внутри вычисляемого контекста, таким образом, чтобы можно было из… twitter.com/i/web/status/9…

    Хорошее объяснение. Однако понять его с функтором и аппликативом будет проще, ведь это последовательные шаги: аппли… twitter.com/i/web/status/9…

    7:21
    @is_a_cdr @backendsecret @ditansu Исключения в Хаскеле есть (причем это чуть ли не единственный язык, где можно уби… twitter.com/i/web/status/9…
    7:23
    @rybak_andrey @is_a_cdr @backendsecret @ditansu Т.е. ghc, действительно, хитрый и хорошо оптимизирует? Вложенные тр… twitter.com/i/web/status/9…

    Да, GHC очень хорошо оптимизирует. twitter.com/Kevroletin/sta…

    11:44
    @borovikov @backendsecret github.com/qnikst/irc-sim… вот что-то такое за вечер получилось. Сам чятик в src/Server.hs… twitter.com/i/web/status/9…
    14:16
    @dcromster @PIlIGRIM @backendsecret @bobuk да, Бобука вести это хорошая мысль. Хоть передохнём от Хаскеля.

    Потерпи меня ещё 3 денька... twitter.com/jbaruch/status…

    15:40
    завтра буду топить коллегам за функциональное программирование и чем больше пытаюсь подготовиться, тем меньше поним… twitter.com/i/web/status/9…

    Суть ФП не в монадах же, и даже не в функторах. :-)

    Скажи, что суть программирования в принципе - это абстракция и… twitter.com/i/web/status/9…

    16:48
    @backendsecret Когда понял монады и используешь их pic.twitter.com/y314nfQXRC
    16:49
    @backendsecret ...И ФП прекрасно подходит как для первого, так и для второго

    А есть где-то методические рекомендац… twitter.com/i/web/status/9…

    Есть. Называется опыт. Взять, попробовать, и убедиться. :-)

    Я перешёл в ФП не потому, что мне кто-то показал супер… twitter.com/i/web/status/9…

    17:32
    @qnikst @backendsecret Хаскелисты Всея Руси и Дальнего Востока!

    Какими пользуетесь/собираетесь пользоваться ORM, Ф… twitter.com/i/web/status/9…

    Для начала:

    17:43

    miso, правда, исключение, но я скопировал за компанию. :-)

    17:44
    @backendsecret У нас тоже есть вакансии) xapix.io, Берлин, поможем с переездом и с blue card. Clojur… twitter.com/i/web/status/9…
    8:56
    @backendsecret У меня целый канал в тг с айтишников (в основном) вакансиями заграницей :) t.me/jobs_abroad
    8:56
    @backendsecret В Питер и не только нужны backend/frontend разработчики, подробности vk.com/sidenisru?w=wa…
    8:56
    @amureki @backendsecret есть скала, флинк, кафка, го, руби, эликсир, много си, даже ангуляр, а питона нет)
    8:57
    @backendsecret А куда податься человеку без опыта с базовыми знаниями Java, C/C++ и большим желанием учиться?
    8:57
    @backendsecret И меня! И меня! Харьков\Киев pic.twitter.com/54GmRmxtUn
    8:57
    @backendsecret Ищем в Backend команду Wheely разработчиков (wheely.workable.com/jobs/670161) и системного инженера (… twitter.com/i/web/status/9…
    8:57
    @backendsecret Ищем java разработчиков senior+ Alibaba group: Aliexpress, Tmall. В Москву или Ханчжоу
    8:57
    @backendsecret А мы ищем java разработчика в отличную команду в Питер spb.hh.ru/vacancy/251252…
    8:57
    @backendsecret Мы ищем рубистов в adjust. С релокейтом в Берлин помогаем. Куча работы, есть интересные проекты, eli… twitter.com/i/web/status/9…
    8:57
    @backendsecret Мы финтех-стартап (уже большой)
    Ищем java/scala в бэкенд, kotlin в android, swift в iOS
    Сейчас уже е… twitter.com/i/web/status/9…
    8:58
    @backendsecret Может кто из Нижнего Новгорода m.hh.ru/vacancies?empl… а ещё web dev'ы нужны от 2 тысяч.
    8:58
    @backendsecret Senior Java developer в fintech, Москва hh.ru/vacancy/243524…
    8:58
    @backendsecret Уже 5 лет работаю в замечательной @funbox_team и нам нужны хорошие коллеги:

    Erlang:… twitter.com/i/web/status/9…

    8:58
    @backendsecret Ищем back-end/front-end людей в Bielefeld: PHP7, Angular1, Yii1/2. Небольшая контора в 20 человек и… twitter.com/i/web/status/9…
    8:58
    @backendsecret Ищем iOS и Android разработчиков в Мюнхен. Помогаем с визой.
    linkedin.com/jobs/view/5908…twitter.com/i/web/status/9…
    8:59

    Наверняка у всех есть лишнии вычислительные мощности. Предлагаю их утилизировать на благо светлого будущего. А майн… twitter.com/i/web/status/9…

    9:18

    Естественно это не просто так. Есть шанс получить 1000 usd или 10000 usd учавствуя в проекте… twitter.com/i/web/status/9…

    9:18

    Конечно таких проектов много. Например, один из самых старых и известных, [email protected] Помню как учавствовал в нём на… twitter.com/i/web/status/9…

    9:25

    Есть подобный по расчёту белка и другие. Все они работают на основе BIONIC boinc.berkeley.edu/projects.php

    9:25
    @backendsecret Таллин, энергичный быстрорастущий стартап, на 25%+ русскоязычная Европа со всеми её плюшками - от "с… twitter.com/i/web/status/9…
    9:32
    @backendsecret @verwolfdotss Перепись IT-поросяток

    Хм, кажется это оскорбление. twitter.com/sorx00/status/…

    9:33
    @VsSekorin @backendsecret Пока открытых проектов нет, но в планах кое что имеется) Если есть хорошее понимание фп,… twitter.com/i/web/status/9…
    9:36
    @backendsecret Senior front-end Ростов-на-Дону(100К+) -JavaScript, HTML, CSS, Node.js, Webpack и соврменные JS фрей… twitter.com/i/web/status/9…
    9:44

    Кстати ещё: кто смелый и хочет провести неделю этого акаунта?
    Очень хотелось бы из геймдева, сжатия данных, ML/AI,… twitter.com/i/web/status/9…

    9:48

    Что имел ввиду про парикмахера: youtube.com/watch?v=xiwD6B…
    Это моя любимая песня, когда ищу работу. :D

    9:48
    @backendsecret Ищу Java и JS девелоперов в почту Эстонии! Это та, у которой роботы по городу почту развозят.
    Нужен… twitter.com/i/web/status/9…
    9:48
    @backendsecret нужен спец в питоне для поддержки и доработок odoo (open erp ранее), географически - Сколково или на… twitter.com/i/web/status/9…
    10:30
    @batyshkaLenin @dcromster Лишь монад требуют наши сердца
    Лишь монад требуют наши глаза,
    В нашем смехе и в наших сле… twitter.com/i/web/status/9…
    14:16
    @backendsecret ищем backend-разработчиков в retailcrm.ru (крупная CRM для ecommerce). Мск/Воронеж/Липецк… twitter.com/i/web/status/9…
    14:16
    @backendsecret Ищем в офис angular и python разработчиков. Казань 💚 Добра всем ретвитнувшим #твиттерпомоги
    14:17
    @backendsecret На всякий случай напомню, что если прислать объявления о работе (даже дворником) с релокацией мне, т… twitter.com/i/web/status/9…
    14:17
    Ну и у нас набирают (CC: @backendsecret):

    tweag.io/posts/2018-03-…

    14:17
    @backendsecret Самара, ищем backend (в основном java), frontend и implementation engineer.
    чем мы занимаемся, напис… twitter.com/i/web/status/9…
    15:10

    Кого хотите позвать повторно из ведущих @backendsecret ?

    15:51

    Всё всё всё! Про Егора я понял!
    Может ещё кого? ;)

    16:01
    А теперь вопрос, что лучше твиттер лекции @5HT или @backendsecret ? :-)

    А у нас без матов!* twitter.com/5HT/status/979…

    17:04
    @suxxes @backendsecret @abroadunderhood Привет! Зарепость, пожалуйста: twitter.com/oruen/status/9…
    20:11
    @backendsecret В Кансае можно вполне комфортно исследованиями заниматься, там и несколько топовых университетов стр… twitter.com/i/web/status/9…

    Только щинкансен стоит в районе $150 в одну сторону емнип twitter.com/skkap/status/9…

    0:33
    @backendsecret ну это не трагедия :) прожить 5 лет в германии и не выучить немецкого, ибо не надо - в работе англий… twitter.com/i/web/status/9…

    Ну в европе еще хоть английский знают, а тут как правило говорят на японском и очень вежливом японском :) twitter.com/de_gis/status/…

    0:33
    @backendsecret Коллеги с клавами на блю свичах. Сидя рядом-норм, ужастно когда по аудио с ними общаешься, отфильтро… twitter.com/i/web/status/9…

    Это есть такое, особенно с omnidirectional микрофонами стремно, тк они каждый чих в комнате улавливают twitter.com/Nekolyanich/st…

    0:34
    @backendsecret Да но за него в этом случае платит универ же

    В моем не платили.

    Помню я как-то подавал на грант на overseas trip. Сначала обещали до 200k йен, потом сказали ну… twitter.com/i/web/status/9…

    0:38
    @backendsecret В смысле каждой клавиши) что-то как на картинке
    есть варианты кроме LED? pic.twitter.com/pSMXqTiiwr

    Подсветка на клавиатурах делается, насколько я знаю, только посредством LED. Другое дело что в разных клавиатурах э… twitter.com/i/web/status/9…

    0:42

    У Flaretech интересно вообще, у них свитчи работают на основе отражения инфракрасного света, поэтому сердцевина сви… twitter.com/i/web/status/9…

    0:42
    @zobninatn @backendsecret У меня тот же вопрос, зачем в 21 веке клавиатуры с таким большим ходом?

    В зависимости что использовать, например клавиатуры из серии Topre HiPro делались для высокоточного ввода для авиад… twitter.com/i/web/status/9…

    0:47

    Но потом пришли любители и стали все скупать pic.twitter.com/jhbSjwM0ky

    0:47

    В новом эпизоде Silicon Valley у Гилфойла на столе стоит Vortex Pok3r, 60% клавиатура популярная среди любителей. Ф… twitter.com/i/web/status/9…

    0:49

    Так что серая, без подсветки. Любителям она нравится потому что у нее стандартная раскладка, железный кейс и пласти… twitter.com/i/web/status/9…

    0:52
    @backendsecret Если у меня WASD с обычными ABS-крышечками — это зашквар? Как удержать себя от покупки второй, треть… twitter.com/i/web/status/9…

    В ABS ничего плохого нет. Если надоела старая клавиатура, всегда можно обменять на /r/mechmarket twitter.com/eXtractor/stat…

    0:54

    Так, тут уже жалуются за клавиатурный спам (а я ведь предупреждал, я люблю говорить про клавиатуры, меня хлебом не… twitter.com/i/web/status/9…

    0:57

    На самом деле я могу рассказать про IT и митапы вместе, ибо они идут рука в руку

    0:59

    Я же еще хотел вам рассказать про волонтерство на конференциях, как вам еще такой топик? Должно быть полезно студентам и околостудентам

    1:18

    Вот вам пока шутеечка за 300.

    Вы знаете что в Японии Slack называют «Суракку»? У меня вот месяц ушел чтобы научиться не ржать каждый раз

    1:30

    Помню меня как-то спросили: «Бектур-сан, а вы пользуетесь суракку?»

    Чуть не сказал: «Ну сегодня пока нет, надо бы овощи почаще есть»

    1:30
    Are you (or do you know) a #frontend dev looking for freelance work and available between now and mid-May? Get in t… twitter.com/i/web/status/9…
    1:58

    Периодически буду ретвитить варианты с работой в Японии

    1:58

    # Пятница 310 твитов

    Про CRUD. Данные можно сохранять сразу, но это тормоза. Можно их хранить в памяти и сбрасывать на сторедж при выкате очередной итерации.

    11:20

    Всем привычен первый подход, в котором мы подобны рожденным ползать. Медленно ползать.

    11:21

    Но если аудитория переваливает за миллионы, есть реальная необходимость переходить ко второму. И это подобно взлетающему самолету.

    11:22

    Не надо кивать здесь в сторону мемкеша. Не поможет. Вообще.

    11:24

    В результате такого подхода мы получаем систему с мгновенной отзывчивостью. Согласитесь, вкусно! Чем мы за это расплачиваемся?

    11:34

    Есть сложности с шардингом данных. Их нельзя порезать между серверами и надо все запихивать в одну ноду. Юзеров резать по серверам целиком.

    11:36

    Есть сложности с утечками, - процессы висящие в памяти неделю и более очень чувствительны к неаккуратному коду.

    11:37

    Критичные данные писать надо в базу по-любому, - на случай даунтайма. Как правило, это связано с финансовыми операциями.

    11:39

    Но вот подход к чтению специфичен - приоритет получают не данные из базы, а из памяти. Прогрев памяти осуществляется на взлете процесса.

    11:40

    Обновление системы сделать мягким очень сложно, так как при каждой итерации может измениться не только модель в сторедже, но и в памяти.

    11:42

    Структура процессов слоистая, - есть отдельно менеджеры данных, есть отдельно пользователи. Таким образом деплой, - сложный (комплексный).

    11:44

    Чтобы изменить состояние сущностей без API "самолета", его придется сажать. А это простой системы с последствиями для юзверей. Недёшево.

    11:47

    Отстрелить крыло самолету тоже не получится, - он упадет. Так что писать код надо сразу без утечек памяти.

    11:48

    Архитектура самолета предполагает комфорт. Пассажиры (бизнес-логика) находятся в удобных креслах простых операций со структурами данных.

    11:51
    @backendsecret сохранять в базу асинхронно где это нужно?
    12:23

    Да, разумеется, @rusgautama!

    12:23

    Давайте поговорим про собеседования приема на работу.Многи незнаю но собеседования они двух стороние. Не только ком… twitter.com/i/web/status/9…

    17:55

    Со стороны компании обычно смотрится что разрабочик умеет, его опыт и навыки которые он может принести в компанию.… twitter.com/i/web/status/9…

    18:01

    Очень хороший разрабочик которые не умеет работать в команде это как хороший однотредный код который нельзя скелить… twitter.com/i/web/status/9…

    18:03

    Очень часто надо смотреть почему человек ищет новое место работы. Может причины такие что и у вас он будет искать н… twitter.com/i/web/status/9…

    18:06

    Что надо смотреть как разрабочику на собеседование? Первую очередь на людей. Кто делает собеседования, насколько он… twitter.com/i/web/status/9…

    18:08

    Очень важно знать кто будет твой начальник если придет туда работать.Принято что имено TL разрабочека делают собесе… twitter.com/i/web/status/9…

    18:11

    Иногда к нам приходят люди на собеседования и проходят пару этапов. Потом они хотят поговорить с людьми в команде.… twitter.com/i/web/status/9…

    18:13

    Я люблю когда люди кандидаты интересуются не только технической стороной в компании.А еще и бизнес стороны.Спрашива… twitter.com/i/web/status/9…

    18:15

    Хорошо когда интересуются как работает R&D. Как часто выходят версии? как построены команды? График работы? Расписа… twitter.com/i/web/status/9…

    18:17

    Желательно искать инженеров а не кодеров. Разница простая

    18:22

    Если пришел кандидат и не знает не что про компании куда он пришел на собиседования. Это очень плохой тон. Можно хо… twitter.com/i/web/status/9…

    18:24

    Были кандидаты которые приходи на собеседование в Gett и даже не когда не видели аппликации и "примерно" знают что… twitter.com/i/web/status/9…

    18:27

    Были товарищи которые проходили все технические этапы потом приходи в конце на разговор в HR и там им из всего что… twitter.com/i/web/status/9…

    18:31

    Вопросы на собеседования я люблю брать из жизни.Задачи которые мы решали и которые легко обьяснить.Это показывает н… twitter.com/i/web/status/9…

    18:39

    Например тут спрашивали про то что Gett показывет что у водилы день рождения на этой недели. Я когда то давно спраш… twitter.com/i/web/status/9…

    18:42

    Со сторону кандитата можно смотреть на многое в компание
    1.Например приходишь на собеседования а человек который де… twitter.com/i/web/status/9…

    18:49

    3.Не можешь найти как зайти в здание и опаздывашь и тебя не кто не ищет - плохо
    4.Показывают тебе офис место работы… twitter.com/i/web/status/9…

    18:51

    Когда я даю техническую задачю обезательно надо спрашивать пару вопросов
    1.Какие технологии тут могут помочь
    2.На с… twitter.com/i/web/status/9…

    18:58

    Еще хорошо искать людей которые problem solver а не любители бегать и спрашивать "Что делать?". Получил задачу и р… twitter.com/i/web/status/9…

    19:30

    У вас в компаниях делают Open source? То есть выпускают внутрение решения в открытый доступ

    20:49
    Конечно охуенно. Особенно когда ты руководитель этого человека и не выполняешь своей работы, а он выполняет ее вмес… twitter.com/i/web/status/9…

    А ты считаешь что руководитель должен решать все проблемы? Если да то он не руководитель а человек который решает п… twitter.com/i/web/status/9…

    20:53

    Я всегда за помощь проэктам Open source. Это как волотерская деительность приятно помогать миру
    Плюс много поучится самомо

    21:02

    Было время когда я каждые выходные искал проекты интересные и там где можно было сделать что то маленькое. Баг почи… twitter.com/i/web/status/9…

    21:04

    как понять что человек пишет много кода и любит это?
    просто посмотреть в гитхабе(если есть) pic.twitter.com/8VLXhAUsXC

    21:06

    Доброе утро и с пятницей!

    Придумайте подпись к картинке :)
    (и помогите мне развидеть здесь 2 зуба с зубной пастой… twitter.com/i/web/status/9…

    6:29

    Node.js. Интернет просто переполнен примерами простых веб серверов, а когда дело доходит до прода, выясняется ряд особенностей:

    10:02

    1. Как получить IP клиента, имея объект http request? Обычно это деталь окружения: задается в апп сервере или в нас… twitter.com/i/web/status/9…

    10:02

    – Why not? Разве бывают сэтапы иные чем traefik/nginx с realip перед нодой? Разве бывают другие заголовки для перед… twitter.com/i/web/status/9…

    10:02

    2. Graceful Shutdown. Дёрнуть httpServer.close() при SIGTERM это полдела. По-видимому, кто-то решил, что для закрыт… twitter.com/i/web/status/9…

    10:02

    И да, вы не столкнётесь с этой проблемой, пока ваша нода работает за nginx с дефолтным proxy_pass, который не юзает… twitter.com/i/web/status/9…

    10:02

    Npm не был бы npm, если бы там не было второго пакета с таким же функционалом (причём от автора самого npm): github.com/isaacs/server-…

    10:02

    3. Нет никаких интерфейсов (в смысле ООП). Хотите нормальный логгер? Манки-патчьте console.log/error/*. И учтите, ч… twitter.com/i/web/status/9…

    10:02

    4. Нельзя просто так взять и запустить ноду в несколько процессов. Есть Process Managers: pm2/strongloop, но помимо… twitter.com/i/web/status/9…

    10:02

    Ну окей, есть ведь встроенный cluster module? И кода вроде не много: nodejs.org/api/cluster.ht…
    Да, только когда к эт… twitter.com/i/web/status/9…

    10:02

    5. Надо следить за падениями из-за недостатка heap (1.7G по дефолту). Они могут происходить как по причине утечек в… twitter.com/i/web/status/9…

    10:02

    В принципе, ничего здесь криминального нет. Но кажется, что с абстракциями в ноде что-то пошло не так.

    10:02

    Angular. Очень легко наговнякать, если в команде нет экспертизы по нему. Но если есть, то скорость разработки (имхо… twitter.com/i/web/status/9…

    16:25

    ng-cli сейчас очень хороший. "ng new" генерит вам адекватно настроенный SPA с тест раннерами (и юнит, и e2e). Внутр… twitter.com/i/web/status/9…

    16:25

    С SSR ещё в начале 2017 всё было очень плохо. С Angular 4 стало сильно лучше. Из проблем SSR остались (имхо):

    16:25

    1. HTTP redirects. Поведение из коробки: вернуть отрендеренный ответ после редиректов, а в браузере, после инициали… twitter.com/i/web/status/9…

    16:25

    2. HTTP status. Для страницы 404, например. По дефолту всегда и на всё будет 200. Решается похожим образом как в гисте выше.

    16:25

    3. State transfer. В ng5 появился сервис TransferState, пихающий данные из сервера в браузер через html. Можно пове… twitter.com/i/web/status/9…

    16:25

    HTTP клиент, кстати, очень клёвый. Есть интерсепторы (как middleware), ютилы для тестов, легко подписаться на прогр… twitter.com/i/web/status/9…

    16:25

    Опять же, как и в Django/DRF, в ng куча чётких абстракций. Code scaffolding для новых компонентов/сервисов/пайпов з… twitter.com/i/web/status/9…

    16:25
    Для ангуляра это *частично* тоже корректно, но не совсем: типично данные из HTTP запросов один раз стекаются в шабл… twitter.com/i/web/status/9…

    Бойлерплейта немало, но, кажется, сильно меньше, чем в RRS.

    Документация средненькая. Многие вещи не покрыты (zon… twitter.com/i/web/status/9…

    16:25

    С появлением AOT тормоза JIT и жирнющие бандлы давно ушли в прошлое. На добровольцыроссии.рф сейчас это 550 кб г… twitter.com/i/web/status/9…

    16:25

    Новички, по моим наблюдениям, сталкиваются со следующими проблемами:

    16:25

    2. Работа с DOM браузера. Почти всегда можно (и нужно) обойтись манипуляциями с shadow DOM. А когда нельзя (jquery)… twitter.com/i/web/status/9…

    16:25

    3. Zone.js. Всякие setTimeout там, где не надо. В панике делают импорт ChangeDetectorRef, который вообще трогать не… twitter.com/i/web/status/9…

    16:25

    В целом – на ангуляре хорошо, что бы там ни говорили злые языки, не осилившие его. Хотя управление состоянием в rea… twitter.com/i/web/status/9…

    16:25
    @backendsecret Не совсем в тему, просто интересно про CAP arxiv.org/abs/1509.05393
    6:09
    @backendsecret Это слишком долго. Если ты регулярно пишешь код, то ты можешь написать что-то и на бумажке. Если не… twitter.com/i/web/status/9…

    Может стоит спросить человека “ты постоянно пишешь код”? К тому же если человек редко пишет код, то это будет замет… twitter.com/i/web/status/9…

    6:15
    @backendsecret Золотые слова. Поэтому вместо всякой тупой херни на собеседованиях надо проводить тестовый день, пор… twitter.com/i/web/status/9…

    Еще я видел интересный способ, где кандидата приглашали в специальный канал в слаке на недельку и там общались с ни… twitter.com/i/web/status/9…

    6:17
    Это слишком долго. Если ты регулярно варишь суп, то ты можешь пожарить что-то на сковороде. Если не способен жарить… twitter.com/i/web/status/9…
    7:15

    Вообще интересно. Мне тут говорят что по “написанию кода на бумажке” можно понять хороший инженер или нет. То есть… twitter.com/i/web/status/9…

    7:16

    Вообще даже если некоторые хорошие инженеры могут писать код на бумажке и вдруг мы бы выяснили что плохие не могут,… twitter.com/i/web/status/9…

    7:17
    @backendsecret Однако, по "написанию кода на бумажке" можно запросто сделать вывод об адекватности потенциального работодателя!

    Я встречал очень умных инженеров с которыми приятно работать, но которые никогда не думали о том как проводить инте… twitter.com/i/web/status/9…

    7:21
    @AstarothAst @backendsecret ну разумеется, гугл, фейсбук, майкрософт - полнейшие неадекваты :D

    Я все ждал когда появятся наши каргокультисты. Уже даже начал бояться что они вымерли. twitter.com/almaleksia/sta…

    7:37
    @backendsecret По «коду на бумажке» можно отсеять ремесленников, которые в совершенстве освоили Ctrl+C/Ctrl+V.
    Уров… twitter.com/i/web/status/9…

    Во первых - ремесленик это хорошо. Большинство программистов - ремесленники. И если вы “художник”, то просто по ста… twitter.com/i/web/status/9…

    7:43

    А как вы проверяете быстрообучаемость? Это очень важный параметр, но у меня на самом деле до сих пор нет однозначного подхода.

    8:07

    Я вот обычно спрашиваю какие книги человек прочитал за последние полгода и с что нового он узнал. Конечно, тут можн… twitter.com/i/web/status/9…

    8:16
    @backendsecret Какие книги Вы прочитали за последние полгода?

    Перечитал в второй раз “SRE” от гугла, добил “Стратегические игры” по теории игр, “14 занимательных эссе о языке Ha… twitter.com/i/web/status/9…

    8:34

    Тут мне в комментариях замечают что (не)прочитанные книги сложно интерпретировать. Я согласен с этим, просто конкре… twitter.com/i/web/status/9…

    8:38
    @backendsecret Смотришь насколько он качественно разобрался с новой для него темой или задачей. Понял ли как это ра… twitter.com/i/web/status/9…
    8:51

    Вообще с возрастом как-то начинаешь понимать важность софтскилов. Стараешься больше читать и узнавать нового и как-… twitter.com/i/web/status/9…

    8:56

    Интересно что чтобы успевать больше надо не тратить больше времени, а наоборот, больше заниматься питанием, режимом… twitter.com/i/web/status/9…

    8:58

    Один из интереснейших опытов в моей жизни был от осознания того что я, вот лично я, не самый лучший человек на земл… twitter.com/i/web/status/9…

    9:03

    И разрешив себе быть “не очень то”, осознав что ты сам мало чем лучше других, ты автоматически бессознательно “разр… twitter.com/i/web/status/9…

    9:05

    Так вот этот опыт очень сильно повлиял на меня и в работе. Когда ты считаешь себя идеалом, то ты вместо того чтобы… twitter.com/i/web/status/9…

    9:07

    Если ты понимаешь что ты сам.. Ну так себе человек, среднего сорта, то ты и к ошибкам других людей относишься с пон… twitter.com/i/web/status/9…

    9:09

    Второй интересный скилл это дизайн информации, когда ты думаешь как сформулировать сообщение таким образом чтобы он… twitter.com/i/web/status/9…

    9:13
    @backendsecret На эту тему есть книжка Саши Карепиной «Искусство делового письма». О том, как логически внятно и до… twitter.com/i/web/status/9…
    9:20

    Дизайн информации прокачивается книгами по дизайну, по UX, есть еще куча филологических книг типа “Слово живое, сло… twitter.com/i/web/status/9…

    9:21

    Посоветовать какие-то другие книги сложно. Потому что то, что кажется наивным для специалистов могло быть откровени… twitter.com/i/web/status/9…

    9:30

    Ещё в рамках софтскилл пятницы хочу посоветовать сайт lesswrong.ru - сообщество людей которые стремятся… twitter.com/i/web/status/9…

    9:32

    А какие книги вы прочитали за последние пол года? И почему?

    9:42
    @backendsecret Томас Метцингер "Туннель эго", Чайна Мьевиль "Город и город". Потому что люблю читать. И чего ? ) На… twitter.com/i/web/status/9…
    9:49
    @backendsecret @skv_nskv есть проблема tradeoff в балансе работать/учиться, есть люди, которые дофига учатся за сче… twitter.com/i/web/status/9…

    Вообще хорошая тема. Когда я работал в граммарли мы с ребятами планировали им цели на пол года (типа лучше разбират… twitter.com/i/web/status/9…

    9:52

    (2/2) и раз в год пересмотр целей и оценка достижений. С тех пор я всегда стараюсь внедрять что-то подобное где бы ни работал.

    9:53

    Ух. Тут уже дошли что те кто не дает писать код на бумажке никогда не проводили собеседования и ни за что не отвеча… twitter.com/i/web/status/9…

    10:05
    @backendsecret The Rust Programming Language, потому что Rust клёвый и похоже, что свою нишу в индустрии он прочно… twitter.com/i/web/status/9…
    10:15
    @backendsecret Effective devops, building microservices, пару по python, полное погружение про плавание, cycling an… twitter.com/i/web/status/9…
    10:19

    Еще одна интересная штука которую я обычно проверяю по софтскилам это положительный настрой: мне приятнее работать… twitter.com/i/web/status/9…

    10:19
    @backendsecret Только худлит. Потому, что по профессии книги устаревают еще до выхода из типографии. по профессии я читаю интернет.
    10:20
    @backendsecret Сначала счел эти книги полезными, а в процессе не разубедился. Начинал вот "Интеллектуальный инсульт… twitter.com/i/web/status/9…
    10:20
    @backendsecret Ну давай, пропиарь @readIT4all и пригласи желающих почитать вслух. Подключаемся народ =) Харош читать в крысу!)))
    10:40
    @AstarothAst @backendsecret А как же, например, Мифический Человеко-Месяц? :)
    Сколько лет книге, а устаревшей назва… twitter.com/i/web/status/9…
    10:41
    @backendsecret Netty in action, Effective Java 3rd edition (тут скорее перечитал, т.к. нового немного). Ну и тут мо… twitter.com/i/web/status/9…
    10:41
    @blazernere @backendsecret @AstarothAst "Психбольница в руках пациентов"
    10:53
    @backendsecret Щедровицкий. Мне стало понятно в чем суть менеджмента и в чем отличие инженерии от науки.
    11:35
    @backendsecret Patrick Lencioni - The Five Dysfunctions of a Team, The Advantage.
    12:07
    @backendsecretВсеволод, чем отличается найм кодера от найма адвоката или плиточника? адвокат не гарантирует оправда… twitter.com/i/web/status/9…

    В юношестве я подрабатывал на стройке и при приеме на работу бригадир проверял всех как они работают. Фактически вс… twitter.com/i/web/status/9…

    13:04

    Остаток пятницы можно попробовать поговорить о руководстве командой. Как вам идея?

    13:42

    Я опять буду советовать: очень важно чтобы ваши коллеги не чувствовали разделение на лучше\хуже. Вы все одна команд… twitter.com/i/web/status/9…

    13:45

    Поэтому я стараюсь убрать лычки “синьор” и так далее. Аналогично если вы тимлид это не означает что все должны вас… twitter.com/i/web/status/9…

    13:46

    Замечу, что конкретно тут я говорю о небольших командах при умеренных темпах найма. Естественно есть случаи когда и… twitter.com/i/web/status/9…

    13:48

    Опять же, вы как руководитель должны думать о том что надо бизнесу, желательно в долгосрочной перспективе. Поэтому… twitter.com/i/web/status/9…

    13:51
    @backendsecret Но ведь некоторые действительно лучше, а некоторые действительно хуже.
    Как сделать так, чтобы коллег… twitter.com/i/web/status/9…

    Если ты кого-то не считаешь крутым значит для этого должны быть причины. Проанализируй мотивы и исправь. Каждый чел… twitter.com/i/web/status/9…

    13:56

    Выпишете себе на листочек список вопросов, которые могут волновать ваших подопечных и постоянно проходите по этому… twitter.com/i/web/status/9…

    14:00

    Делайте постоянные ревью и общайтесь с подопечными, будьте на их стороне. Если человек хочет развиваться в определе… twitter.com/i/web/status/9…

    14:02

    Постарайтесь не создавать “золотую клетку”. Я сам был в ситуации когда мне надо было уже уйти из компании, потому ч… twitter.com/i/web/status/9…

    14:05
    @backendsecret "Записки биржевого спекулянта" - книга 1927 года, а весьма интересна и до сих пор. Та же крипта :)
    14:23

    Постарайтесь устраивать ежедневные встречи между коллегами. Потому что часто что знает один может не знать другой.

    14:26

    Еще одна штука которая была не очевидна для меня – везде можно наработать запас прочности, даже в управлении. Если… twitter.com/i/web/status/9…

    14:27
    @backendsecret Не превратится ли это в нужную трату времени? Не лучше ли письменно вести логи в общем доступе, тогд… twitter.com/i/web/status/9…

    Ну вообще это интересно. Я пробовал смешивать эти два подхода и получилось интересно: перед общим митингом все долж… twitter.com/i/web/status/9…

    15:00

    Митинги стали занимать меньше времени, но поддерживать такую штуку очень сложно, поэтому даже не знаю.

    15:01
    @blazernere @backendsecret Да, должен. Фидбек нужно давать один-на-один и без сравнений. Говорить просто, что вот т… twitter.com/i/web/status/9…
    15:40
    @backendsecret @strizhechenko в ту же копилку про соглашения/стандарты gnu.org/prep/standards…
    15:45
    @backendsecret Я склоняюсь к тому, что чуток микроменеджмента можно, но он должен основываться, да, на хорошем отно… twitter.com/i/web/status/9…

    Сложная штука. Я не люблю микроменджмент, но всеми руками поддержу общее обсуждение и взаимопомощь. twitter.com/borovikov/stat…

    15:51

    Кстати, часто микроменджмент появляется из-за страха руководителя что подчиненные накосячат. Это страх надо прогоня… twitter.com/i/web/status/9…

    15:52
    @backendsecret Я про ситуации, когда обсуждение застряло, и нужен кто-то кто сдвинет с мертвой точки. Ведь есть про… twitter.com/i/web/status/9…
    16:05
    @backendsecret Вот что под руку попалось iq-tests.eu/iq-test-Practi… Когда копал глубже, помню было вообще сильное заяв… twitter.com/i/web/status/9…
    19:42
    @backendsecret Вот ещё более научно: link.springer.com/article/10.100…
    19:43
    @strizhechenko @backendsecret - как обучались?
    19:44
    @backendsecret Иногда добавляю два вопроса:
    19:44
    @backendsecret Философия DevOps искусство управления IT. Сейчас читаю Проект «Феникс».
    19:45
    @backendsecret Основная проблема в том что influxDB сжимает всего по тысяче значений в блоке, чтоточ мало. Остальное вторично

    Изолированный алгоритм работает довольно медленно на любых батчах. Там очень много битовых операций, сдвиги, маски… twitter.com/i/web/status/9…

    5:58

    Сегодня я планирую вещать про многопоточность и разработку серверных приложений. Начну пожалуй с одного распростран… twitter.com/i/web/status/9…

    6:01

    мьютексы, лучше используйте атомарные операции или lock-free алгоритмы, это быстрее. Это полная глупость. Во первых… twitter.com/i/web/status/9…

    6:03

    многопоточке, но ей уделяется слишком мало внимания, как правило. Если у вас есть, скажем, 32 процессора и каждый и… twitter.com/i/web/status/9…

    6:05

    ... мьютекса no contention. Когда вы пытаетесь оценить эффективность того или иного алгоритма, не нужно смотреть на… twitter.com/i/web/status/9…

    6:07

    High contention это тяжелая операция, no/low contention это практически no-op - десятки наносекунд.

    6:08

    На этом строятся производительные параллельные алгоритмы. Расскажу на примере Akumuli. В Akumuli есть понятие сесси… twitter.com/i/web/status/9…

    6:10

    каждый элемент данный относится к тому или иному временному ряду. Каждый временной ряд хранится в центральной табли… twitter.com/i/web/status/9…

    6:15

    перемещает его в свой локальный кэш, обращение к локальному кэшу тоже защищено мьютексом (другим), только к нему об… twitter.com/i/web/status/9…

    6:17

    ... в тот же ряд, она захватит lock "центральной" таблицы, обнаружит что ряд существует но уже используется другой… twitter.com/i/web/status/9…

    6:19

    Почему это быстро работает? Потому что обычно, с вероятностью близкой к 100% каждый клиент будет записывать свой на… twitter.com/i/web/status/9…

    6:21

    захвачен один раз для каждого временного ряда, а мьютекс сессии, будет захватываться только из потока этой сессии,… twitter.com/i/web/status/9…

    6:23

    Вот так это выглядит на 32х ядерном инстансе - akumuli.org/akumuli/2017/0… pic.twitter.com/FJoqAa7Jp4

    6:25

    Если надо, я могу про код на бумажке и женщин, вы только скажите. twitter.com/blazernere/sta…

    6:25

    К атомарным операциям все вышесказанное тоже относится в равной степени. Атомарная переменная в которую пишут десят… twitter.com/i/web/status/9…

    6:28

    Счетчики в многопоточном окружении оптимизируются с использованием ровно тех же принципов, для примера можно заглян… twitter.com/i/web/status/9…

    6:31

    На своей локальной машине вы можете не заметить деградацию производительности, т.к. код часто пишется на слабых маш… twitter.com/i/web/status/9…

    6:35
    @backendsecret А что насчёт memory ordering, приходилось ли тюнить атотомики( очень много видел их использование то… twitter.com/i/web/status/9…

    Я пишу только под x86, там strong memory order по умолчанию, поэтому подобный тюнинг ничего не дает :) Но, эти флаг… twitter.com/i/web/status/9…

    6:37

    использовать acquire/release. На правильной арх. это будет быстрее, но помимо этого, это сделает код более понятным… twitter.com/i/web/status/9…

    6:39

    Lock-free это та же ерунда. Если у вас есть LF очередь, которая находится под high contention, то это медленно :) М… twitter.com/i/web/status/9…

    6:45

    Одно из таких применений, которое я видел не скажу где, заключалось в том, что LF очередь использовалась для взаимо… twitter.com/i/web/status/9…

    6:47

    Если бы там использовалась обычная синхронизация, все могло бы встать колом (deadlock).

    6:48
    @blazernere @backendsecret Нене мне нравится, продолжайте? Кстати у вас есть блог про программирование, а то в твит… twitter.com/i/web/status/9…

    У меня есть мой персональный твиттер (там в основном про еду) и блог на akumuli.org - там на английском… twitter.com/i/web/status/9…

    6:51

    Тут недавно одни чуваки из какого-то университета в Британии опубликовали статью про свою БД с кучей тестов, в кото… twitter.com/i/web/status/9…

    8:49

    Вот их табличка с результатами для сжатия (нужно учитывать что influxdb не хранит дубликаты, а в некоторых датасета… twitter.com/i/web/status/9…

    9:00

    Вот табличка с результатами тестирования скорости записи (не нашел сколько же точно значений в каждом row). Ну и "D… twitter.com/i/web/status/9…

    9:26

    Ну и последний график на сегодня - скорость агрегации. Нативная агрегация есть только в Akumuli и у этих чуваков. pic.twitter.com/IfDLl20AcV

    9:30

    Еще один аспект разработки многопоточных приложений, который часто упускают из вида, это балансировка нагрузки. Час… twitter.com/i/web/status/9…

    9:32

    Это работает в простых случаях, например data parallelism с кучей одинаковых задач. В более сложных случаях, нагруз… twitter.com/i/web/status/9…

    9:34

    Для data parallel приложений тут все довольно просто, т.к. давно придуман алгоритм task stealing, который сидит уже… twitter.com/i/web/status/9…

    9:36

    Насколько я знаю, scheduler в golang использует task stealing. В этой статье есть хорошее описание - en.wikipedia.org/wiki/Work_stea…

    9:41

    Но помимо data parallel приложений, которые можно побить на fine grained задачи, которые можно выполнять таким спос… twitter.com/i/web/status/9…

    9:44

    приходят по очереди, поэтому их нельзя выполнять параллельно, используя несколько worker-ов. Чтобы распараллелить п… twitter.com/i/web/status/9…

    9:45

    потом промежуточный результат Х1 кладется в межпоточную очередь, из которой его выбирает второй поток, там он обраб… twitter.com/i/web/status/9…

    9:47

    В идеале, у вас получится задействовать столько ядер, сколько у вас потоков в пайплайне. В идеале = каждый этап пай… twitter.com/i/web/status/9…

    9:50

    вы получите последовательное приложение. В этом случае, нужно постараться пересмотреть структуру приложения и разби… twitter.com/i/web/status/9…

    9:52

    через которые передаются данные, будет постоянно забита, а другая часть - наоборот. Поэтому если у вас есть приложе… twitter.com/i/web/status/9…

    9:53

    Это можно делать динамически, но это уже совсем не просто. Вот например интересный проект github.com/RaftLib/RaftLib э… twitter.com/i/web/status/9…

    10:03
    @backendsecret Эти бенчмарки вообще ни о чем не говорят. Ни про репликацию, ни про consistency write-ов тут ни слов… twitter.com/i/web/status/9…

    Там нет ничего про репликацию потому что все крутится на одной машине. Тестовая конфигурация описана в статье. twitter.com/meln1k/status/…

    10:52

    В этой статье описывается стек для мониторинга на основе Kubernetes, Sonar и Akumuli - itnext.io/monitoring-on-…

    11:32
    @backendsecret На какой ide akumuli пишешь?

    Код на С++ в QtCreator. Код на python и typescript в Visual Studio Code. twitter.com/truetobetrue/s…

    14:06

    Всем доброго времени суток. Меня зовут Виталий, я занимаюсь разработкой бекенда на Node.js и PHP. Сегодня я хочу с… twitter.com/i/web/status/9…

    6:42

    Первым в нашем списке будет такая замечательная штука как RedNode (nodered.org). Если вам нужна управля… twitter.com/i/web/status/9…

    6:58

    С ним можно легко связать, и телеграм бота и твиттер аккаунт и базу данных и множество других вещей. Имеет в своём… twitter.com/i/web/status/9…

    6:58
    @backendsecret Привет! А что побудило Вас переехать?

    По поводу вопроса о посёлке. Сейчас прописки нет, так как дом ещё не построен. Побудило переехать наличие людей мыс… twitter.com/i/web/status/9…

    8:32

    Прописка обычная, как и в обычном частном доме.

    8:39

    Одним тёплым летним вечером, хотя может это была и лютая зима, разработчики Express.js решили сделать ещё один фрей… twitter.com/i/web/status/9…

    12:00

    Пару команд в консоли (lb model Data) и API готово. умеет делать связи между моделями, работает с большинством прот… twitter.com/i/web/status/9…

    12:00

    Как вы относитесь к NoSQL базам данным?

    12:12

    Всем спасибо за общение, передаю эстафету следующему ведущему. Доброй ночи.

    18:54
    @backendsecret SICP однозначно, надо начинать с азов, а язык это всего лишь инструмент, можно с Lambda Calculus/Has… twitter.com/i/web/status/9…

    С удовольствием бы пообщался с преподавателем, который реализовывал бы этот план в реальности. Причём именно с таки… twitter.com/i/web/status/9…

    11:53
    @backendsecret Хм... А что в C++ такого страшного, что аж умереть можно преподавая? :)

    А есть у кого-нибудь мнение относительно такого стиля обучения языку программирования с нуля: берётся задача, делит… twitter.com/i/web/status/9…

    12:29
    @backendsecret Как стать преподавателем? Что для этого нужно/важно делать? Что не надо делать? Какие книжки читать?

    Вообще конечно же ясно, что преподавателем становиться не нужно. Это массовая и совершенно не уважаемая (судя по фи… twitter.com/i/web/status/9…

    14:01

    Можно читать сколь угодно прекрасные лекции, быть любимым и уважаемым студентами, но при этом любой член какой-нибу… twitter.com/i/web/status/9…

    14:02

    Никогда не слышал, кстати, чтобы спрашивали, а почему у вас такие скучные лекции? Или почему вы читаете материал по… twitter.com/i/web/status/9…

    14:04

    Я этом так так обиженно пишу, потому что я не учёный и мне не место в академии. Я не сделал никаких научных открыти… twitter.com/i/web/status/9…

    14:06

    Написать три статьи про какую-нибудь никому не нужную ерунду? Жалко тратить на это время. Перевести книжку — это по… twitter.com/i/web/status/9…

    14:09

    Не знаю, как стать преподавателем. Я с самого детства знал, что буду преподавателем. Начал работать на третьем курс… twitter.com/i/web/status/9…

    14:12

    Когда учился, всегда замечал, кто из учителей как объясняет, кто лучше, кто хуже, как надо было бы объяснять на сам… twitter.com/i/web/status/9…

    14:13

    Преподаватель должен уважать учеников (любого возраста, разумеется), видеть в них личности, искать подход. Все разн… twitter.com/i/web/status/9…

    14:16

    Я готов тратить любое время на тех, кто хочет чему-то научиться. Меня гораздо меньше интересуют те, кто не хочет. З… twitter.com/i/web/status/9…

    14:20

    Вообще преподавание у нас — не особенно конкурентная профессия, преподавателем стать относительно несложно. Есть од… twitter.com/i/web/status/9…

    14:24

    Он надеется, что будет оценён горящими глазами студентов, их стремлением научиться и готовностью решать задачи. Реа… twitter.com/i/web/status/9…

    14:26

    Я так долго обижался на студентов. Это глупо, конечно, было. Нужно делать своё дело, по возможности хорошо. Постоян… twitter.com/i/web/status/9…

    14:28

    Евгений @ak3n, я ответил на вопрос?

    14:30
    @backendsecret "Learn You a Haskell for Great Good" хорошая книга для новичка? Мне в свое время отлично зашла

    Мне очень нравится эта книжка. Благодаря ей завязались мои отношения с ДМК Пресс. Сейчас расскажу историю, как это… twitter.com/i/web/status/9…

    14:34

    28 декабря 2011 года я написал письмо на адрес издательства (взял на сайте), представился преподавателем ФП и спрос… twitter.com/i/web/status/9…

    14:37

    Я, разумеется, согласился, и начал читать. Выяснилось страшное: книга находилась в жутком состоянии. Масса опечаток… twitter.com/i/web/status/9…

    14:40

    Ну и началась работа: весь январь я правил макет, исправлял ошибки, многое переводил заново (там ещё были расхожден… twitter.com/i/web/status/9…

    14:42

    Ну а после этого завертелось: несколько книг я перевёл сам и вместе с @ulysses4ever, потом ещё что-то редактировал.… twitter.com/i/web/status/9…

    14:44
    @backendsecret Это факт. Но на ВУЗах-то свет клином не сошёлся. Крупным компаниям нужно обучать будущих и нынешних сотрудников.

    Я не встречал таких вакансий в Ростове, честно говоря. К тому же со взрослыми работать менее интересно, чем с молод… twitter.com/i/web/status/9…

    14:48

    Меня тут ещё спрашивали про переезд в столицы (меня, кстати, в ВШЭ недавно хантили чуток!) или за границу: так полу… twitter.com/i/web/status/9…

    14:52

    Кстати, питерские, у вас есть отличный сайт посмотреть на меня вживую в конце марта, я буду читать курс по внутренн… twitter.com/i/web/status/9…

    14:54
    ПОМИРАН — не очень жизнеутверждающее название. twitter.com/backendsecret/…

    Ага, известная шутка в академической среде. Зато там 10 проблему Гильберта решили! Правда, тогда название было друг… twitter.com/i/web/status/9…

    14:57
    @backendsecret Что вам нравится в работе преподавателя? Что не нравится? Есть ли какие-то планы на будущее?

    Мне нравится готовиться к занятиям и читать лекции. Пошутишь на лекции — все смеются, здорово же! Не всегда, правда… twitter.com/i/web/status/9…

    15:03

    Не нравится бумажки писать. У нас много бумажек и они совершенно бестолковые. Я как-то в Нидерландах в Университете… twitter.com/i/web/status/9…

    15:06

    У меня сейчас два больших дела в планах. Во-первых, я пишу Haskell in Depth для Manning Publications. Сейчас уже не… twitter.com/i/web/status/9…

    15:11

    Под эту книгу и для англоязычного мира даже аккаунт специальный есть, @VBragilevsky, тоже можно подписываться! Втор… twitter.com/i/web/status/9…

    15:13

    Куда возьмут, в общем-то. Там я по условиям гранта должен буду разрабатывать курс по Software Verification (Coq, вс… twitter.com/i/web/status/9…

    15:16

    Так, друзья, я понимаю, что неформат для сообщества, и всё такое, но вы лайкайте, пожалуйста. Мне меньше трёх фавов… twitter.com/i/web/status/9…

    15:28
    @backendsecret @_bravit Ок, тогда серьезный вопрос: насколько легче или тяжелее обучать уже опытных разработчиков (… twitter.com/i/web/status/9…

    Вот ещё вопрос в загашнике оставался. Тут я вступаю на скользкую почву, потому что опыта такого у меня нет, только… twitter.com/i/web/status/9…

    15:37
    <