# Понедельник 658 твитов
Привет! @dsimonov с вами! Уважаемый @dcromster предложил подежурить тут недельку на правах perl бекенд-дева с некоторым опытом.
6:33Рецепт отделения опытных дев-ов от неопытных - FizzBuzz test (гуглите!). Предлагаю желающим написать решение для него, умещающееся в твит.
6:39@backendsecret На чём?6:40
.На бумажке, @iamale_ru!
6:41@backendsecret (1..100).each do |i|7:00
s = []
s << 'Fizz' if i % 3 == 0
s << 'Buzz' if i % 5 == 0
puts s.join unless s.empty?
end
@backendsecret f="Fizz"7:24
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)
@backendsecret d={1:"Fizz",3:"Buzz",4:"FizzBuzz"}8:44
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))
еще:))
@backendsecret8:55
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
}
@backendsecret на прошлой неделе @jsunderhood обсуждал как взаимодействовать в удалённой команде. Расскажи свой опыт,plz // @freiksenet10:13
.@dcromster @jsunderhood @freiksenet 5л опыта управления distributed russian teams помогли разобраться в бОльшей часть возникающих проблем.
10:18.@dcromster @jsunderhood @freiksenet Мне проще отвечать на то, как решались конкретные проблемы. Жду описания проблем, - буду отвечать.
10:18@backendsecret @dcromster @jsunderhood @freiksenet Именно команды были разделены или люди в командах тоже не были в офисах?10:23
.@freiksenet_ru @dcromster @jsunderhood @freiksenet Все сотрудники сидели у себя дома в разных часовых поясах с рассеянием не более 3х часов
10:24@backendsecret @dcromster @jsunderhood @freiksenet А сильно разделенные по часовым поясам команды были?10:30
.@freiksenet_ru @dcromster @jsunderhood @freiksenet Рассеивание по часовым поясам составляло не более 3х часов.
10:31@backendsecret давай сразу о боли:наша совместная работа, взаимодействие в команде, долгие ответы...10:35
.@dcromster Боли, как таковой не было. Команда действовала в том максимуме эффективности, в каком вообще могла действовать.
10:35@backendsecret не переходя на личности: как же с этим (долгими ответами) бороться?10:39
.@dcromster Ни как. Разработчики действуют в привычном им ритме. Руководитель определяет процессы, задающие ритм. Это - максимум.
10:40Тема дня - "задолбали!". Кто и в чём разочаровался в работе? Язык? Технологии? Менеджерьё? Стиль работы? Офис? Дом?
10:59@backendsecret #!/usr/bin/python312:43
for i in range(1, 100):
print(("" if i%3 else "Fizz")+("" if i%5 else "Buzz") or i)
@backendsecret были ли у вас регулярные совместные обсуждения кроме рабочих? Чтобы разработчики лучше друг друга узнавали14:49
.Срачики, @gusevr, у нас постоянны - в чатика, в утренних скрамах, ретроспективах и других созвонах. Задача: семь пудов соли вместе съесть!
14:53.Это лучший способ получить сплочённую команду, @gusevr, в условия рассеянности по стране. Но я подумываю про некоторые методики от Steam.
14:55@backendsecret В компании много небольших команд работающих над разными проектами/технологиями. Как собрать всех вместе? Hangouts или slack?15:06
.Про slack, @gusevr, ничего не могу сказать, но их хвалят. У меня всё ни как руки не дойдут. Хенгаутс - точно гавно ( Телеграм хорош ещё!
15:08.Могу ещё порекомендовать, @gusevr, тасовать народ между проектами. Также у меня есть практика сделать тематические чатики: беки, фронты...
15:10@gusevr @backendsecret slack самое оно. Проекты разбить по channels15:12
@dzaporozhets @backendsecret проекты по чатикам - это как раз чтобы разбить народ. А вот как всех объединить? Хотя бы на пол часа в неделю15:35
@backendsecret под хенгаутс больше имел ввиду вид общения: чат или видео. Стоит ли устраивать видео встречи? В рабочем процессе общения нет16:00
.Видеовстречи показали себя отрицательно, @gusevr. Аудиосозвоны очень удобны, а видео - разочаровывает.
16:01@backendsecret как мотивировать людей зайти на встречу?16:01
.Проводите созвоны "ретроспективы" в контексте agile scrum, @gusevr! В них обычно заинтересованы все :)
16:02@dzaporozhets @backendsecret вот получается, что рабочей необходимости в аудио-видео нет. Надо ли устраивать свободные темы?Как мотивировать16:03
@backendsecret разработчиков 15-2016:04
@backendsecret Есть традиционные каналы general/random для всех. Есть ретроспективы, но по проектам. А таких встреч пока нет. ...17:31
.Очень хорошая тема для обсуждения, @gusevr! Давайте знакомиться с вами и вашими командами плотнее?
17:31Привет всем
На этой недели с вами я Сергей Ланцман. Мне 30 лет, живу я в Израиле половина жизни.
Занимаюсь backen… twitter.com/i/web/status/9…
Люблю помогать Open source сообществу(когда есть время).
Пишу на Golang,Ruby,Python и так на всем где нет точек с запитой в конце.
О чем мы будем говорить
10:57Начнем с того что делаем в Gett. Пишим офигеный продукт на котором можно уехать домой после веселой party или просто после тяжелой работы
11:13Аппликация для заказа такси, работает в России, Израиль, Англия.
Приятная часть что это продукт b2c который пользуются друзья семья и сам
Просьба первая была про логи.
Мы тут не давно подняли решения для логов. Стандарный Elk только он большое на 1ТБ в день
Вообще решения такое
Filebeat => redis=> logstash => Elasticsearch + kibana
От logstash все бежит в kubernetes
Не люблю я elastic он подлый зверек. Его лудше в контейнер закрыть чтоб не будил по ночам. А еще лудше в кубернетес
11:33Кубернете кластер для логов сделан так.
Есть 3 instance group.
3. Elasticsearch еще машины i3. 2xlarge для логов со вчера и до недели.
11:39Elasticseach бежит в кубернетесе как daemon set, так что есть один на машины, и если пожнимаем еще машины то там вс… twitter.com/i/web/status/9…
11:41Решения такого хватает на 1TB в день на неделю хранить с доставкой логов за несколько секунд
цена вопроса 6-7K$ в месяц в пользу амазона
@backendsecret А почему им сразу в редис не писать? Или торопиться некуда?
ну все нормальные лог библиотеки пишут на диск
во вторых диск всегда работает(пока не кончинтся) а далекий редис
о… twitter.com/i/web/status/9…
@backendsecret Вот тут бы подробнее про подлость.
ну как сказать
сказать что ES бежит и не ругается тяжело обычно
тем более если надо обновлять его или просто менят… twitter.com/i/web/status/9…
@backendsecret У вас есть a/b тесты основанные на логах? Как у вас аналитика логов устроена?
нет пока
тут с логами была длинная история
Свое рабочее решения стало рабочим несколько месяцев назад
теперь надо л… twitter.com/i/web/status/9…
@backendsecret Сколько народу у вас управляет log-инфраструктурой?
пол человека twitter.com/musuk/status/9…
12:05@backendsecret Паспарту с форд боярда?
Вообще один человек на это,но когда закончим всякие вещи с логами то наверно пол времени человека хватит twitter.com/aarexer/status…
12:26@backendsecret Я недавно краем уха услышал что такое вообще существует, до этого даже не задумывался. Много ли желающих обмануть систему?
В этой области есть деньги и клиенты, значет всегда будет желающие. Мы их видем и закрываем twitter.com/l0ldbl00d/stat…
12:28@backendsecret А откуда тяжёлый поиск?
Приходит програмист и пишет хочу все логи за неделю где написано слово bug number...
Вот оно ищет на 7-8TB данных twitter.com/musuk/status/9…
@backendsecret Пару слов о том, как попал в Израиль и Gett
Семья переехала в Израиль давно а я сам через пару лет.
В Гетт попал не со всем нормальным способом про который ска… twitter.com/i/web/status/9…
@backendsecret В бэкэнде теперь девопсины, ну-ну.
Ну я до этого писал backend пару лет и сейчас пишу когда надо twitter.com/john_govno/sta…
12:54@backendsecret На чем пишете, если не секрет?
В Гетт легаси на Рельсах а все новое на Golang, на фронте react. Js twitter.com/john_govno/sta…
12:57@backendsecret С рельсы ушли по причине низкой производительности или из-за накопившегося техдолга?
1. Низкая производительность
13:00@backendsecret как продакшн держите? Кластеры и тд. Интересно как архитектуру построили
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…
На все это смотрит elb. И так на каждый микросевис, куча инфры для одного микросервиса. Поэтому хотим все в куберне… twitter.com/i/web/status/9…
13:22@backendsecret Re:2. Тяжело писать код когда много людей??
Как то странно..
Много людей пишут код по разному, много магии, не компилируется значет каждый рефактор проблема.
Человек заходит в… twitter.com/i/web/status/9…
@backendsecret Чем кубер не устраивает?
Всем устраивает, туда двигаемся. Уже на stage стоит кластер на 4500 pod их 60 нодов. Надеюсь скоро прод переведем twitter.com/truetobetrue/s…
13:37@faces @backendsecret приложение было монолитом или распилено на сервисы/микросервисы?
Монолит, его до сих пор пилим, часть выпили в сервисы на релсах, последний год все новые пишутся на Го. twitter.com/john_govno/sta…
13:38@backendsecret рассматривали как альтернативу go - elixir? он тоже компилируемый и хорошо подходит для тех у кого рубишный бэкграунд.
Да кстати параллельно с Го смотрели на elixir 3 года назад. Но тогда он был сырой и медленее Го. Потом он сложнее Г… twitter.com/i/web/status/9…
13:42@backendsecret Re: 1. Не очень в теме Ruby, но часто это не проблема, а баланс скорости кода и скорости разработки.… twitter.com/i/web/status/9…
Можно переписать на C++ тогда у тебя будет много кода тут и там на C++.
Проблема больше была с обработкой запросов.… twitter.com/i/web/status/9…
@backendsecret В сторону elixir не смотрели ?
Смотрели уже ответил twitter.com/den4ikbyte/sta…
14:06Кто какие средствами мониторинга пользуется?
14:09Это как захотите только без русской клавиатуры twitter.com/PavelGermanov/…
14:09@backendsecret Странно, что Grafana и Prometheus нету в списке
Хотел но было только 4 места :( twitter.com/cybran111/stat…
15:09@backendsecret Re: 3. У вас в Москве нет разработки?
Есть, несколько команд. Набирают людей twitter.com/KostyaEsmukov/…
15:10@backendsecret Ну, полагаю, code review для некомпилируемых языков не решит проблему. Тут, наверное, всё же юнит-те… twitter.com/i/web/status/9…
Частично решают а то что не решает идет в продакшин.
Особено с опцией method missing в руби twitter.com/CuredPlumbum/s…
Кто какие средствами мониторинга пользуется?
У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…
Кто какие средствами мониторинга пользуется?
Еще есть графана + influxdb
Но там только бизнес метрики twitter.com/backendsecret/…
@backendsecret использование магии в коде проекта - зло
Вот Го обратная сторона. Тут нет магие все есть в коде. Да приходится писать пару строчек больше кода, зато все пот… twitter.com/i/web/status/9…
15:28@backendsecret Ну, вот да. Что хорошо для маленьких команд, убивает большое проекты.
Ну да, когда в Gett я пришол было 7 сервер разрабочиков, теперь через 3.5 думаю уже больше 50-60 так что магия тут… twitter.com/i/web/status/9…
15:30У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…
Airbrake это вообще решение для бедных у которых нет нормальных логов. twitter.com/backendsecret/…
15:59Проверяем сейчас datadog и там есть килер фича host map. Можно получить прикольные визуализации по системе и быстро
16:08Поговорим о баз данных
куда же без них. Любой проэкт требует базу и важно выбрать правильно.
Базы как все знают можно делить на SQL и NoSQL
SQL: из моего опыта
17:13SQL: из моего опыта
17:16SQL: из моего опыта
3.Postgresq-Много функциальная база.Много функции как свои типы. Прекрасная работа с JSON и луд… twitter.com/i/web/status/9…
NoSQL:
17:38NoSQL:
17:43@backendsecret С какими проблемами вы сталкивались?
1. Демократия - выборы часто между мастерами
18:02@backendsecret зачем вы сообщает о том, что у водителя сегодня день рождения?
Ну вещь маленькая но приятная. Кстати я когда то спрашивал на собеседование на разогрев как написать метод который… twitter.com/i/web/status/9…
18:20@backendsecret а в чем заключается поддержка json?18:23
Из минусов редиса.
Его реально можно скалить больше чем одно ядро только с помощью client sharding. Остальные вариа… twitter.com/i/web/status/9…
Вообще у редиса хорошая и понятная документация, я тут на выходных нашел что `echo never > /sys/kernel/mm/transpare… twitter.com/i/web/status/9…
18:35Вообще можно сделать чтоб было одно ядро отдельно только для редиса, если у вас машины с редисов нагруженым. Тогда… twitter.com/i/web/status/9…
18:37@backendsecret Так в этом и суть скорости редиса, что он только в одно ядро может
Согласен но когда становится больше миллиона запросов в редис в минуту то тут приходится выбирать что важнее twitter.com/L0ndra_/status…
18:39@backendsecret Так а чего вредного?
Настройки реплик по сравнению с mysql сложнее, миграции на большие нагруженые таблицы, долгое поднятие на старте. И… twitter.com/i/web/status/9…
18:47Облачные сервисы дают выбор машин из расчёта что средняя сервис на 2 ядра не с может выдать больше чем XXXmb/s по с… twitter.com/i/web/status/9…
18:54Приходится ставить 16 ядерную машину на 1 ядерные редис чтою получить много сети от амазона
18:55Потому что сеть забита
18:56@backendsecret А расскажите, используют ли у вас C# и .NET и если да то как?
Нету такого, у нас все со времен когда линукс и мелкософт не дружили twitter.com/MurcielagoCat/…
18:58Расскажу про наш стек в Gett. 99% в амазоне, в одном из европейских регионаз.
Rds
Ec2
Kinesis
S3
Это в на чем прод… twitter.com/i/web/status/9…
Базы данных в Gett
Mysql - легаси но пока что важный еще
postgresql - по дефолты на новых, в основном из за json и… twitter.com/i/web/status/9…
Еще есть mongodb в одном месте но это вообше легаси старое
19:17Языки програмирования в Gett
19:24Версии ruby у нас почти везде 2.3
Монолит на 2.1.9, когда то он был на 1.9.3 и обновление дало примерно +40% к скор… twitter.com/i/web/status/9…
Golang поднялся в прод первый сервис года 3 назад. Это еще был 1.3 версия, так что мы прошли от 1.3 до 1.9 прирост… twitter.com/i/web/status/9…
20:02в Го сервисах мы используем следущие библиотеки
beego
gorm
lib/pq
go-redis
logrus
ginkgo
viper
А как вы держите код своих сервисов?
У нас для каждого сервиса свой репо и всего таких примерно ~90
продолжения про NoSQL базы
Я тут не давно решил локально попробывать CockroachDB. Взял их пример установки в куб
По… twitter.com/i/web/status/9…
потом делаю с 10 на 3 и тут
`Connection to CockroachDB node lost.` на минут 10
думаю понятно не все так красиво к… twitter.com/i/web/status/9…
Вот тот самый host map c datadog 😍 pic.twitter.com/VVMBqiAVNh
21:57К продолжению оптимизации работы с редисом. В редис часто кидаются обьекты ввиде JSON для кеша или других функции.… twitter.com/i/web/status/9…
22:08msgpack еще и занимет меньше место в редисе
вообще вот тут есть хорошие бенчмарки для сериализаций на Го
github.com/alecthomas/go_…
Темы на завтра?
22:46@backendsecret вы же на aws? там жеж вроде очень дорого выходит?
да не очень дешего вообще по минимум у нас 2 сервера m4.large на сервис один из них спот. Если надо больше он подни… twitter.com/i/web/status/9…
23:13@backendsecret Всё, кроме ЯП
Согласен страшная тема но посмотрит что народ хочет
@Alex0007lolpvp
like за аватар твой 👌 twitter.com/Alex0007lolpvp…
life hack для github
удобнее код читать на гитхабе вечером когда гитхаб черный
есть плагин на хром которой меняет т… twitter.com/i/web/status/9…
Stylus называется
23:54Вообще думал если была бы такая практика что если
Написал код который делает оптимизацию и серверов надо меньше
то… twitter.com/i/web/status/9…
Кстати в Израиле воскресения рабочий день а пятница нет
так что если работаешь с товарищами не с израиля то они теб… twitter.com/i/web/status/9…
Кстати на счет Excel мне как то сказали что у человечество только два великих изобретения
0:05решил тут зайти в аналитику этого аккоунта в твитере
Интересно
5000 человек
интересы програмирования
любимый жанр… twitter.com/i/web/status/9…
@backendsecret Если у тебя в руках молоток - все вокруг похоже на гвоздь. Если все что ты умеешь, это Эксель - все… twitter.com/i/web/status/9…
разрабочики Web из 2000 до html работали с excel? 🤔twitter.com/dgrammakov/sta…O
0:15Кстати на счет оптимизаций процессов и денек
90 микросервисов=90репозиторов=10-15 команд
Полдня из спринта чтоб сде… twitter.com/i/web/status/9…
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…
0:48При всей моей не любви к Iphone думаю многие android флагманы тут бы крашнулись
0:50а еще так же думаю когда включаю фильм через Netflix.И там первые 5 секунд низкое качество(кубики 90годов) а потом… twitter.com/i/web/status/9…
0:57@backendsecret А можно подробнее? Вы где-то публикуете статьи о вашем workflow, где можно прочитать более развернуто?
мы его как раз меняем
вообще он в процесе перехода от 3 недельного спринта до CI/CD в разных местах в системе. Цел… twitter.com/i/web/status/9…
@backendsecret та ладно, наверняка просто замеряют скорость сети и потихоньку повышают качествоа изначально подаю… twitter.com/i/web/status/9…
да но зачем мерить каждый раз с низкой? если клиент висит на одном подключении то можно делать статистку для него и… twitter.com/i/web/status/9…
1:11Кто тут просил прочитать про вещи которые делают в Gett
тут есть блог на английском engineering.gett.com
иногда… twitter.com/i/web/status/9…
Мне тут расказали про страшное будущие DDOS атак.AI который атакует систему и учится на ходу менять параметры и под… twitter.com/i/web/status/9…
1:22@Gendos_ua @backendsecret Мне кажется проблема в скорости репликации, не успевают нужный блоб (или как там) перетащ… twitter.com/i/web/status/9…
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…
я такую штуку как то у нас в в админку и в customer care прикрутиль. Если мыщку не трогаешь 2 минуты то отключается… twitter.com/i/web/status/9…
1:43@pavbox @backendsecret Если это долгая битва, то да, возможно.
Но скорее всего, атака будет замечена быстро и админ… twitter.com/i/web/status/9…
или будут делать ставки😂 twitter.com/w_warlock/stat…
1:47или будут делать ставки😂 twitter.com/w_warlock/stat…
Наверно где уже есть как собачии бои со ставками только AI vs AI
явно будущие и не кому жаловатся что это жестоко twitter.com/backendsecret/…
Раз у нас в ведущих «руководитель команды DevOps» из Израиля, щаз мы его распнем за ересь «команда DevOps» (не удив… twitter.com/i/web/status/9…
Ты говоришь что не такого как команда DevOps. Знаешь откуда это предложения?
Through its flagship product YYYY, XXX… twitter.com/i/web/status/9…
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…
Кстати про тяжелых клиентов.Иногда всплывает какой нибуть клиент у которого очень много заказов потому что он с нам… twitter.com/i/web/status/9…
2:29потому что его запросы мучают базу да и у него наверно не все летает
2:37Может кто еще не видел но тут есть прикольные IT комиксы
turnoff.us
Вот один из хороших pic.twitter.com/defbvthARn
8:08@backendsecret а AI который будет делать вашу работу за вас не пугает?)
Нет потому что я инитиативный и не предсказуем. AI для этого еще далеко
И потом я шутить умееюа оно нет twitter.com/gleb_kosteiko/…
Наверно пришло время прощатся.
С вами был Сергей Ланцман.
Прошу прощения за ошибки в великом могучем языке.
Мне бы… twitter.com/i/web/status/9…
Всем привет! На этой неделе с вами @KostyaEsmukov из Казани. Поговорим об Ansible, Django и немного о фронтенде.
11:20Работаю в небольшой организации "Наше Дело" над несколькими проектами, в том числе над добровольцыроссии.рф
11:20Примерный план на неделю:
11:20Также в этом году я заканчиваю КФУ. В универе занимаюсь всяким IoT-ом на линуксах, в основном вокруг VPN.
Задавайте вопросы :)
11:20В качестве git remote и CI используем self-hosted gitlab-ce (не gitlab.com, который периодически падае… twitter.com/i/web/status/9…
11:34В обслуживании неприхотлив, обновляется тупо пуллом образа и пересозданием контейнера.
docs.gitlab.com/omnibus/docker…
При желании docker registry и CI раннеры можно без проблем вынести отдельно на другие машины. Интеграция с Jira аде… twitter.com/i/web/status/9…
11:34Во-первых, CE версия урезана. Нету даже такой простой штуки, как Rebase вместо Merge commit при принятии Merge рекв… twitter.com/i/web/status/9…
11:34Но можно запретить Merge коммиты кроме fast-forward, если нужна линейная история. Тогда rebase надо делать локально… twitter.com/i/web/status/9…
11:34Во-вторых, мультиреповых пайплайнов в CE нет. Но есть в EE: docs.gitlab.com/ee/ci/multi_pr…
11:34В одном проекте было так: Django апп в одном репе, а деплоящий его ansible в другом. В Django репе последним шагом… twitter.com/i/web/status/9…
11:34Сейчас мы делаем иначе. Ансибл отдельным репом по-прежнему есть, но он не деплоит апп, а просто готовит сервер и пи… twitter.com/i/web/status/9…
11:34Сначала это был простейший docker-compose, который выкинули из-за того, что он не способен без диких костылей в zero downtime deployment.
11:35Поигрались с docker swarm, пострессили его и поняли, что такое в прод мы не готовы брать. Это было в октябре 2017,… twitter.com/i/web/status/9…
11:35Вместо docker-compose засунули маленький ансибл, который деплоит только докер контейнеры с аппом. Как композ, тольк… twitter.com/i/web/status/9…
11:35Из нюансов такого решения могу отметить то, что приходится дублировать inventory (хосты, куда деплоить) между основ… twitter.com/i/web/status/9…
11:35В-третьих, CI все-таки довольно простенький. Для наших нужд (прогнать тесты, собрать докер образ, запушить в приват… twitter.com/i/web/status/9…
11:35На практике ничего от этого у нас еще не падало, но для страховки, и чтобы раннеры не забивались, отменяем руками п… twitter.com/i/web/status/9…
11:35Раннеры CI могут запускать jobs прямо в докере, а не локально. Для этого используют docker executor, а в репе в .gi… twitter.com/i/web/status/9…
11:351. Docker-in-docker (DinD)
Он плох тем, что нельзя использовать docker caching (реюз существующих слоев при сборке… twitter.com/i/web/status/9…
Да и контейнеры с jobs надо запускать с privileged флагом, что не делает DinD более безопасным. И вообще этот вариа… twitter.com/i/web/status/9…
11:352. Проброс /var/run/docker.sock в контейнеры раннеров, что позволяет собирать на хостовом docker daemon.
Этот вариа… twitter.com/i/web/status/9…
Но проблема решается просто: выносите раннер на отдельную виртуалку, где больше ничего нет, и живете спокойно.
11:35Про докер добавлю, что если использовать ровно одну машину для раннеров, то кеширование слоев докера работает надеж… twitter.com/i/web/status/9…
11:35На машине с раннером раз в неделю чистятся все образы и контейнеры в докере, иначе он быстро забивается.
11:35В-четвертых, docker registry не чистится от старых образов прям совсем. Из вариантов – либо руками тыкать "удалить"… twitter.com/i/web/status/9…
11:35@backendsecret Пробовал в BARS Group устраиваться? Debian или CentOS? Vim, Emacs, Sublime или PyCharm?
1. нет, мне и тут хорошо :)
11:41Однажды, прямо в разгар рабочего дня, наш гитлаб начал сыпать ошибками. Вроде без всякой видимой причины.
11:48По логам обнаружили, что, оказывается, там есть врубленный по дефолту гем rack-attack, который заблочил наш nginx п… twitter.com/i/web/status/9…
11:48@backendsecret А что скажешь по kubernetes?
Поглядываем, но пока страшно. Экспертизы у нас по нему нет. На наших масштабах <10 машин на проект с ансиблом, каже… twitter.com/i/web/status/9…
12:58@backendsecret У вас не блюгрин деплой ?
Нет. Накат прошлой версии из гитлаба занимает ~1-2 минуты нажатием на одну кнопку. Пригодилось всего один раз.
Так… twitter.com/i/web/status/9…
13:26На одной машине за nginx работает по два апстрима веб аппа. Сначала ансибл gracefully прибивает один, обновляет его… twitter.com/i/web/status/9…
13:26По сравнению с гитхабом, гитлабу, на мой взгляд, очень не хватает reviews, когда все комменты отправляются автору о… twitter.com/i/web/status/9…
17:30Но зато у гитлаба есть клевая, на мой взгляд, фича: можно смотреть дифф между форс пушами (они называют это version… twitter.com/i/web/status/9…
17:30Как ускорить сборку докер образов:
17:391. Как работает кеширование слоев можно почитать тут:
docs.docker.com/engine/usergui…
Не очень очевидный трюк здесь заключается в том, чтобы сначала добавить в образ файл с зависимостями вашего приложе… twitter.com/i/web/status/9…
17:39Если файл с зависимостями меняется редко, то эти слои будут реюзаться, т.о. не вызывая установку зависимостей при каждом билде.
17:392. Зависимости могут компилироваться из исходников при установке. Например, psycopg2 (PG клиент) в python. Но вмест… twitter.com/i/web/status/9…
17:39Если все подобные зависимости ставить в бинарном виде, то это ускоряет холодный билд.
Однако, здесь есть нюанс. Ес… twitter.com/i/web/status/9…
17:39А вам приходится использовать докер образы от левых людей в проде? Не страшно?
17:40А если завтра этот ноунейм автор туда фигню запушит? Можно пулить по неизменяемому digest образа, но нетегированные… twitter.com/i/web/status/9…
17:53@backendsecret Что в swarm для вас было критично?
1. так и не получилось сделать 0dtd на нескольких нодах: все равно валились ошибки github.com/moby/moby/issu…
18:03Из проблем с докером я сталкивался с такими:
18:301. Периодические сообщения в wall "unregister_netdevice: waiting for lo to become free". Что-то течёт в ядре и до с… twitter.com/i/web/status/9…
18:30CentOS вообще из-за этой проблемы под небольшой нагрузкой начинал флудить (раз в 10 сек) этими сообщениями и перест… twitter.com/i/web/status/9…
18:30На дебианах-убунтах такого не было у нас – наблюдаются просто одиночные сообщения без видимых последствий.
18:302. Если в системе есть роут 0.0.0.0/0 (от OpenVPN, например), то при старте докер демон не может найти свободную по… twitter.com/i/web/status/9…
18:303. Иногда докер не может удалить контейнер с ошибкой "device or resource busy". Чаще всего это проявляется на CentO… twitter.com/i/web/status/9…
18:30В доках для RHEL рекомендуют devicemapper с LVM, но для ядра 4+ можно юзать нынче дефолтный overlay2.… twitter.com/i/web/status/9…
18:304. Если один контейнер высовывает с хоста UDP порт (53 для DNS, например), а из другого попытаться отправить на хос… twitter.com/i/web/status/9…
18:305. После появления multi-platform images ( blog.docker.com/2017/09/docker… ) иногда при пуле официальных образов вылезает о… twitter.com/i/web/status/9…
18:30Полчаса приходится ждать, пока оно там у них соберется и запушится: github.com/docker-library…
18:306. Если собирать в образ какую-нибудь фигню с дикими флагами оптимизации (раньше phalcon так делал), то при запуске… twitter.com/i/web/status/9…
18:302, 4, 6 выявляются на этапе внедрения, это не критично.
1 даунтаймы только на CentOS вызывало, и то полтора года на… twitter.com/i/web/status/9…
@backendsecret docker tag noname/image:tag myname/image:tag18:32
docker push myname/image:tagЭто после обязательного… twitter.com/i/web/status/9…
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…
18:34Python/Django локально разрабатываем в докере с композом. PyCharm нормально подцепляет все зависимости, подсказки р… twitter.com/i/web/status/9…
22:50А вот фронт делаем без докера. npm i + npm start – и так проще некуда. Зато проблемы докер тут доставляет: прокинут… twitter.com/i/web/status/9…
22:50Ansible. Начну с хорошего: он работает :)
Разобраться в нем довольно легко за день-два. Поведение предсказуемо.
Пос… twitter.com/i/web/status/9…
Но вот поддержка гораздо сложнее: не могу сказать, что за 1.5 года у меня появилась хоть какая-либо уверенность в т… twitter.com/i/web/status/9…
23:01Итак, по порядку:
- Очень легко наговнокодить. Прям слишком.
Можно кучу плейбуков плодить 🤢 вместо одного с тэгам…twitter.com/i/web/status/9…w
23:01Тщательное изучение Best Practices (и доков в целом) просто обязательно, иначе с граблей не сойдёте: docs.ansible.com/ansible/latest…
23:01Особое внимание хочу обратить на паттерн "Variables and Vaults" из дока выше. Он позволяет сделать все переменные,… twitter.com/i/web/status/9…
23:01Есть, конечно, Single Encrypted Variables, но выглядит это не очень приятно (имхо): docs.ansible.com/ansible/latest…
23:01Также не все знают, что есть такие штуки как:
23:01И самое наболевшее: это когда кладешь сертификаты файлами в роли. Приходится писать жуткую логику, которая разрулив… twitter.com/i/web/status/9…
23:012. Логика в set_fact в ямле выглядит ужасно. Плохо форматируется, мало возможностей (ограничены jinja2 фильтрами +… twitter.com/i/web/status/9…
23:013. Python 2 vs 3. Оно влияет на плейбуки. Например, в Pyhton2 jinja2 фильтры возвращают листы. А в Python3 – генера… twitter.com/i/web/status/9…
23:014. Роли в Galaxy довольно сомнительного качества. Хороших мало. То они на конкретный дистрибутив (не твой), то тест… twitter.com/i/web/status/9…
23:015. С тестами довольно тяжело. У нас их на ансибле совсем нет. Вместо этого отлаживаем на стейджинге, и лишь потом н… twitter.com/i/web/status/9…
23:01Пробовали молекулу, но она [была в сентябре 2017] довольно сырая: то свежий ансибл не поддерживается, то линтер пад… twitter.com/i/web/status/9…
23:01Еще у них очень клёвый роадмап. Приз ребятам за находчивость! Жаль, что на работе такое не прокатит.… twitter.com/i/web/status/9…
23:01Также, судя по всему, они нашли "фатальный недостаток" в galaxy и запилили свой пакетный менеджер: gilt.readthedocs.io/en/latest/
23:01Всем привет. Меня зовут Сева и я DevOps (ух, как в алкоголизме признался, хотя одно другому не мешает). На этой нед… twitter.com/i/web/status/9…
1:11О чем хочу поговорить пописать — мониторинг, культура, работа с бизнесом, собеседования и управление командой. Ну и… twitter.com/i/web/status/9…
1:17Я работал в разных стартапах, консультировал стартапы, пишу на всем подряд, веду (международное) сообщество украинс… twitter.com/i/web/status/9…
1:31@backendsecret Давай начнём с начала. Что такое девопс?
Ого, я думал уже всех задолбал девопс как таковой. Ладно, начнем с этого. Думаю, я найду что сказать. twitter.com/biomehanik/sta…
10:12Есть одна существенная ошибка в способе взаимодействия с миром и обучении: часто нас учат определениям не объясняя… twitter.com/i/web/status/9…
10:22Давным-давно (впрочем, и сейчас) у бизнеса была такая проблема - высокий TTM, то есть time-to-market, который очень… twitter.com/i/web/status/9…
10:30Ну звучит это достаточно неприятно. И все бы хорошо, если бы они просто писали быстрее код, а тут выясняется что он… twitter.com/i/web/status/9…
10:31И умные дяди и тёти задумались: как нам можно уменьшить свой TTM?
Ну можно давать людям больше денег. Попробовали… twitter.com/i/web/status/9…
10:33И этим человеком был Альберт Эйнштейн. Хотя нет, я не знаю кто был этим человеком, но он молодец и вообще +100500 в карму ему.
10:34Когда начали разбираться оказалось что проблемы какие решает девопс описал ещё Крылов. pic.twitter.com/AmOzPkqgg1
10:36Картинку можно описать так: в общем случае, даже если все очень сильно стараются, но тянут в разные стороны, то биз… twitter.com/i/web/status/9…
10:38Сейчас уже можно уверенно говорить что девопс возник как попытка управлять приоритетами. Ведь не так давно даже сам… twitter.com/i/web/status/9…
10:41Но вот наконец-то кто-то подумал: “хм, если сисадмины отвечают своими бонусами за стабильность, то у них же появитс… twitter.com/i/web/status/9…
10:43Ну и это была достаточно неплохая мысль. Потому что я частенько видел как девелоперы пропихивали изменения всеми си… twitter.com/i/web/status/9…
10:48То есть если говорить исторически, то девопс возник как способ уменьшения TTM и как обьединение приоритетов для дев… twitter.com/i/web/status/9…
10:50@backendsecret Ну так правильно, девелоперы накосячат а потом тыкают пальцем в админов, нам потом разгребать это всё говно :)
Классический пример сисадминства. Но я уверен что он не со зла. Просто если ты отвечаешь за что-то, на что ты не мо… twitter.com/i/web/status/9…
10:52И объединять приоритеты оказалось очень выгодно. А после того как всех объединили, то потихоньку из одного лагеря в… twitter.com/i/web/status/9…
10:56Но после того как этих практик набралось достаточное количество, проявилась другая проблема: много людей хотят ново… twitter.com/i/web/status/9…
10:59Я понимаю что это звучит немного тупо. Типа как фьючерсы с биткоинами. Но фактически даже потеряв основную идею ока… twitter.com/i/web/status/9…
11:00К этому быстро подключились разные аутсорсинг компании. И не потому что им выгодно продавать “новых сисадминов”, а… twitter.com/i/web/status/9…
11:03Таким образом у нас сейчас живет параллельно несколько версий девопса: “девопс управления приоритетами” и “девопс п… twitter.com/i/web/status/9…
11:08Собственно доказательство моих слов о приоритетах - у многих сисадминов с стажем, которые уже “говна поели” есть оп… twitter.com/i/web/status/9…
11:11Потому что бонус блокировки изменений это то за что тебя уволят в любом жизнеспособном современном бизнесе, в котор… twitter.com/i/web/status/9…
11:12@backendsecret Это какой-то callback hell, только не из колбеков, а из девопсов.
Угу, но я вот не виноват что я последний. Я достаточно давно записался на февраль и в основном потому что не было в… twitter.com/i/web/status/9…
11:15И тут мы получаем достаточно интересную картину: в случае “devops управления приоритетами” отдельного отдела DevOps… twitter.com/i/web/status/9…
11:18Хорошо было бы как-то разделить и называть девопс приоритетов и девопс технологий разными словами. Но вот сложилось… twitter.com/i/web/status/9…
11:20Так что, отвечая на утренний вопрос, если бы меня спросил некий создатель мироздания: “Сева, выбери каких людей наз… twitter.com/i/web/status/9…
11:22И эта путаница в общем приводит... к путанице. Я даже встречал QA инженеров которых называли девопсамм.
11:48Ну как, может хватит о девопсе? Это достаточно просто если один раз понять :)
11:49@backendsecret То есть ДевОпсы - это люди, которые помопределениб ничего не делают?
Ну вот. Пол часа писал определение и что все сложно и под одним определением скрывается несколько разных понятий. И… twitter.com/i/web/status/9…
12:02ДевОпс часто связывают с культурой. Хотя, если честно, то мне кажется что культура это скорее симптом успешности внедрения, чем цель.
12:25Как вы думаете, почему много бизнесов стараются строить культуру общения и корпоративную культуру?
12:25@backendsecret потому что это проще чем заниматься чем-то действительно полезным?
Хаха, нет. Если бы было так, то выжили бы компании, которые не строят культуру ибо эволюция. twitter.com/50megatonn/sta…
12:28Именно. А ещё? twitter.com/mtrklb/status/…
12:29@backendsecret Для повышения уровня доверия между всеми участниками процесса. Больше доверия - меньше издержек на ф… twitter.com/i/web/status/9…12:34
@backendsecret большое количество людей как парвило в HR которым нечем занаять свое рабочее время? это если мы о ос… twitter.com/i/web/status/9…
Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…
12:38Вообще мне нравится как люди которые с одной стороны очень рациональны объясняют все что они не понимают тем что эт… twitter.com/i/web/status/9…
Возможно это потому что много людей не рассматривают карго культ как экстремальное отклонение обезьянничества, кото… twitter.com/i/web/status/9…
12:42@backendsecret Надо отличать корпоративную культуру от корпшизы вроде распевания лозунгов по утрам.12:44
Корп. культура… twitter.com/i/web/status/9…
@backendsecret Если ваша компания географически расположена в одном месте и у неё менее 500 сотрудников, то корпора… twitter.com/i/web/status/9…
Ну вот я считаю по другому. Потому что корпоративная культура очень сильно упрощает хайринг. Намного проще нанимать… twitter.com/i/web/status/9…
12:46@backendsecret При большой численности начинается менеджмент разных уровней, с разными зонами ответственности, эшел… twitter.com/i/web/status/9…12:47
Еще культура помогает нанимать людей. Потому что многие из нас хотят кроме денег еще получать и удовольствие от раб… twitter.com/i/web/status/9…
12:52@backendsecret Имхо,корп культура - это абсолютное зло,привязывающее человека к определенной компании, создающее ло… twitter.com/i/web/status/9…
Возможно это зло для работника, потому что иногда может быть обманом. Но зло ли это для работодателя, если позволяе… twitter.com/i/web/status/9…
12:53@backendsecret А много людей могут сделать так чтобы сотрудники не понимали что это кривой способ манипуляции? если… twitter.com/i/web/status/9…12:59
Окей. То есть мы пришли к тому что культура в компании это:
Упрощение общения между отделами за счет “создания од… twitter.com/i/web/status/9…
13:01@backendsecret эммммм... нет. удовольствие от работы напрямую от централизованной корп культуры не зависит/зависит… twitter.com/i/web/status/9…
Общение внутри команды сильно зависит от общения команды с другими командами. Аналогично и задачи точно так же от э… twitter.com/i/web/status/9…
13:03@backendsecret Сугубо ИМХО корп. культура - это о протоколах общения между абсолютно незнакомыми людьми, никогда др… twitter.com/i/web/status/9…
Вот этого ответа я и добивался. Вообще иногда стоит рассматривать все общение как обмен информацией. То есть разраб… twitter.com/i/web/status/9…
13:07Вообще интересно. Мне тут столько сообщений накидали люди у которых очень неудачный опыт с корп культурой был. Но н… twitter.com/i/web/status/9…
13:14И вот вопрос - можно ли считать форсирование единого языка программирования частью корп. культуры?
13:16@backendsecret Ау, дорогой мой, исходный текст программы - это не чатик. Им программисты не общаются, а всё-таки задачи решают :)
Ну это не точно. Вообще программы чаще читают чем пишут. Поэтому культура написания кода это тоже часть корпоративн… twitter.com/i/web/status/9…
13:24@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…13:44
@backendsecret То есть херачить всё подряд на одном языке, кмк, так же плохо как и разрешать каждому девелоперу раз… twitter.com/i/web/status/9…
Ну то есть слишком много чего угодно это плохо. m.youtube.com/watch?v=Wy4ySt… twitter.com/MurcielagoCat/…
13:45Следующие два ретвита это следствие путаницы понимания девопса. То есть я встречал организации которые релиз инженеров называют девопсами
13:57@backendsecret Ну и хрень. Девопс появился как ещё одна часть разделения труда. Грубо говоря когда деплой, CI и все… twitter.com/i/web/status/9…13:57
@backendsecret А сисадмины все это брать на себя не горят желанием. У них и так своих задач хватает.13:57
Хотя как по мне отдел можно называть хоть вертолётными войсками хоббитов, если вы понимаете что этот отдел делает.… twitter.com/i/web/status/9…
14:00Ну то есть мой вопрос можно переформулировать: влияют ли инженерные практики на корпоративную культуру? А наоборот?… twitter.com/i/web/status/9…
15:29Готовы ли вы строить корпоративную культуру если вы бы могли сами на неё влиять и формировать?
15:32@otokarev @backendsecret В общем сотрудники тоже её строят. Корпоративная культура существует независимо от того занимаются ли ей или нет.
Аналогично и про культуру кода. Ведь все согласны что ее надо строить? twitter.com/Sigiller/statu…
15:40@Sigiller @backendsecret Соглашусь. И наверное, идеальный случай, если самый главный босс умеет строить корп.культу… twitter.com/i/web/status/9…
Сильна вера в доброго царя. Впрочем, я не спорю, тирания при лидере который знает что делает может быть очень эффек… twitter.com/i/web/status/9…
15:58Часто сталкиваюсь с таким противопоставлением. В тоже время с точки зрения людей которые делают такую культуру – ку… twitter.com/i/web/status/9…
16:00С другой стороны, какие альтернативы корпоративной культуре вы знаете для решения тех же проблем?
16:19Часто слышу спор о том кто такой хороший программист: одни говорят что это инженер, который хорошо решает инженерны… twitter.com/i/web/status/9…
16:23@backendsecret эх, а у нас тут с коллегой программистом холивар разгорелся, думал хоть кто еще мнение подкинет)
У человека тут спор в чем отличие продуктовой компании от аутсорса. Поможем? twitter.com/pgrekovich/sta…
16:34@AstarothAst @backendsecret Самые проблемные разработчики те, что не понимают смысла работы манагеров
Часто это из-за надменности. Типа я тут код ворочаю и в чертогах разума удерживаю тысячи деталей. А что там менедже… twitter.com/i/web/status/9…
16:36И вот после этого давайте говорить о мониторинге и бекенде. Я считаю, что девелоперы должны сами мониторить свой ко… twitter.com/i/web/status/9…
16:42Интересно, много людей прочитают мой следующий твит? Хотя я и считаю что депелоперы должны мониторить свой код, но… twitter.com/i/web/status/9…
16:44Так вот. Девелоперы должны мониторить потому что в принципе только они и понимают как работает их код. И им намного… twitter.com/i/web/status/9…
17:07В противном случае это выглядит как передача слишком большого количества информации между командами: в одну сторону… twitter.com/i/web/status/9…
17:09My 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…
17:10А где много передачи данных между командами там батлнеки и медленно все. В итоге опсы\админы могут напилить огромну… twitter.com/i/web/status/9…
17:12Возникает другая сложность – мониторить код оказывается не очень-то и просто. А девелоперы думают что достаточно до… twitter.com/i/web/status/9…
17:19@backendsecret а что такое "мониторить код"?
Мониторить сервис, который реализован этим кодом или мониторить состоя… twitter.com/i/web/status/9…
Мониторить сервис конечно же. twitter.com/maxbeard12/sta…
17:27@backendsecret Ну по идее архитектор (тот кто главный за тех.чать: CTO или глав.инженер) должен предусмотреть и мон… twitter.com/i/web/status/9…
Предусмотреть до уровня “вот в этой функции пишете каунтеры, а в этой и каунтеры, и таймеры”? twitter.com/otokarev/statu…
17:30Тем временем вышла пятая графана! Ура! docs.grafana.org/guides/whats-n…
21:46@backendsecret А где тут противоречие? Инженер это не только тот, кто у кульмана с карандашом стоит и может цельног… twitter.com/i/web/status/9…22:17
Всем привет, на этой неделе буду я - Женя Лазин, independent contractor в Bloomberg LP и автор проекта Akumuli (github.com/akumuli/Akumuli).
8:59Примерный план на неделю в одной картинке pic.twitter.com/Xif68PqNAg
9:02Здравствуйте, меня зовут Женя и я ал^W почти каждый день пишу код на С++ последние 13 лет.
9:16Несмотря на весь прогресс, все по прежнему плохо. Инфраструктура и рядом не стояла по сравнению с Go, Js и прочей е… twitter.com/i/web/status/9…
9:18Да, кстати, IDE для С++ по прежнему оставляют желать лучшего. Даже CLion - так себе. Более или менее работают (не с… twitter.com/i/web/status/9…
9:20С другой стороны, с тулингом все стало довольно неплохо. CMake, CLang, sanitizers (thread/address/UB).
9:23C++ это ужасный (но иногда единственный) выбор для OSS проекта. Ужасный потому что людей, способных реализовать сло… twitter.com/i/web/status/9…
9:26Каждый проект, мой в том числе, реализует свой собственный стек для сборки, тестирования и распространения, с котор… twitter.com/i/web/status/9…
9:28Управление зависимостями это отдельная тема. Во первых его нет. Если вы пишете код в Linux то все не так печально,… twitter.com/i/web/status/9…
9:30Скажем в Ubuntu 16.04 есть свежий lz4 который умеет streaming, вы написали код, сделали git push, а на CI у вас Ubu… twitter.com/i/web/status/9…
9:32Вы собрали свой deb пакет и положили его в свой ppa репозиторий для убунты. Через неделю приходит чувак, который ис… twitter.com/i/web/status/9…
9:33@backendsecret что на счет rust
я уже пишу на с++, зачем мне еще один? :) twitter.com/zysyg/status/9…
9:36@backendsecret lifetimes, borrow checker, и прочие фишки, не дающие выстрелить себе в ногу и сделать всякие use after free?
Не помню когда в последний раз делал ошибку, которую это все могло бы предотсвратить. Ну и еще у меня есть coverity… twitter.com/i/web/status/9…
9:45Ничего не скажу, чтобы не соврать. Не использовал достаточно долго, чтобы иметь свое мнение. twitter.com/__pewpew__/sta…
9:46@backendsecret C++, большие деньги и маленькие задержки?
и большая куча legacy twitter.com/krems5/status/…
9:46Помимо этого, когда я в последний раз на него смотрел, там было принято писать кучу unsafe кода. Это малость defeat… twitter.com/i/web/status/9…
9:50Иллюстрация того, насколько все плохо - github.com/RoaringBitmap/…. Авторы проекта добавили специальный скрипт, собира… twitter.com/i/web/status/9…
9:56Можно использовать git submodules, но это работает только если зависимость использует ту же систему сборки что и вы… twitter.com/i/web/status/9…
9:59Самая жопа это конечно packaging. Я собираю пакеты на CI сервере и раздаю их через packagecloud.io, помимо… twitter.com/i/web/status/9…
10:08@backendsecret В bazel эту проблему частично победили. Там можно делать ссылки на внешние репозитории в гите и подк… twitter.com/i/web/status/9…10:09
@backendsecret Собственно то, почему люди и любят докер.
Ну в общем да, но он решает половину проблем. Он не решает проблему управления зависимостями. twitter.com/ctrlok/status/…
10:15Пожалуй расскажу немного о достоинствах, о том почему я написал Akumuli на С++. Итак.. 1/n
10:51@backendsecret Неужели настолько необходимо разрабатывать на батарейке? У меня практически всегда есть розетка под… twitter.com/i/web/status/9…
Я как-то летел в самолете 8 часов (+/-) и почти все время писал код в QtCreator, который был запущен в VMware Playe… twitter.com/i/web/status/9…
10:56Во первых это тулинг. GNU tool-chain, LLVM tool-chain, CMake, valgrind, linux-tools и тд. Скажем, GCC сейчас умеет… twitter.com/i/web/status/9…
12:29Я могу запустить свое приложение и построить профиль производительности, в котором можно будет увидеть не только вр… twitter.com/i/web/status/9…
12:32гонки, UB и тд.
Второе преимущество это interoperability. Можно без проблем использовать любую библитеку с Сишным и… twitter.com/i/web/status/9…
попробуйте сделать динамическую библиотеку на Go или чем нибудь еще кроме Си или С++. Вам придется из-за одной библ… twitter.com/i/web/status/9…
12:35В Akumuli у меня есть библиотека, в которой живет весь код БД, поэтому БД можно использовать как встраиваемую, поэт… twitter.com/i/web/status/9…
12:37@backendsecret Давай сразу по делу.
1/ женщина может быть программистом?
2/ на собеседовании просишь писать код н… twitter.com/i/web/status/9…
1/ любая конкретная женщина может быть, а может не быть программистом
2/ мы даем компьютер
3/ ни о чем не говорит в… twitter.com/i/web/status/9…
@backendsecret на Rust можно
Можно, но она потянет за собой его runtime. Не думаю что это большая проблема, но все же. Помимо этого, существуют… twitter.com/i/web/status/9…
12:45Мне тут подсказывают, что нужно написать что-нибудь полезное, хотя бы один раз за всю неделю. Попробую рассказать п… twitter.com/i/web/status/9…
15:17Итак, две даты, которые нужно знать - 28 марта и 31 октября. В эти дни происходит переход на DST и обратно. Если вы… twitter.com/i/web/status/9…
15:19Один из моих коллег как-то раз был разбужен среди ночи возмущенным начальством из-за того, что режим работы несколь… twitter.com/i/web/status/9…
15:21Поэтому первый совет, который вам обычно дают - используйте UTC - универсальное координированное время. Это очень х… twitter.com/i/web/status/9…
15:22Во первых, UTC на конкретной машине может идти назад! Есть такой специальный демон, под названием ntpd, который зан… twitter.com/i/web/status/9…
15:242. если часы спешат сильно - просто перевести их назад. Это причина, почему часто одним из требований к системе (на… twitter.com/i/web/status/9…
15:25Но это еще не все. Есть еще високосные секунды :) Насколько я помню, Unix time в POSIX совместимых системах работае… twitter.com/i/web/status/9…
15:30Если вы получаете метки времени с секундной точностью, то все ОК. Если с точностью выше секунды, то у вас снова время идет вспять :)
15:31Тут идет речь про обычные метки времени. Помимо этого, существует т.н. монотонное время, которое назад точно никогд… twitter.com/i/web/status/9…
15:33Но, его нельзя передавать за пределы приложения, т.к. оно не имеет смысла за ее пределами, не всегда совпадают с ре… twitter.com/i/web/status/9…
15:35Если вы регистрируете время неких событий из внешнего мира, вам нужно реальное время, в которое добавляются високос… twitter.com/i/web/status/9…
15:35Еще такой интересный момент, связанный с leap seconds. Ни одна известная мне библиотека для работы с временем их не… twitter.com/i/web/status/9…
15:37Вы распарсили в своем коде на python две метки времени и посчитали разницу между ними? Это значение не учитывает leap seconds.
15:38И тут наступает время рассказать про те ситуации, когда время нельзя хранить в UTC (PTSD момент). Rule of thumb - е… twitter.com/i/web/status/9…
15:41Вы хотите запланировать собыите, которое произойдет ровно через сутки, в 14:00, получаете метку времени, добавляете… twitter.com/i/web/status/9…
15:44В каких-то приложениях это именно то что нужно, но в большинстве - нет. Особенно в тех, которые используются людьми.
15:45Помимо этого, стоит учитывать, что вычисления в локальном времени не всегда корректны, т.к. некоторые библиоетки дл… twitter.com/i/web/status/9…
15:47@backendsecret И это еще не все, буквально недавно была ситуация когда из-за сбоя NTP сервера нашего датацентра, вр… twitter.com/i/web/status/9…15:47
Если я ничего не путаю, в python все работает именно так.
Помимо этого, хранить метки времени из будущего в UTC нел… twitter.com/i/web/status/9…
метка времени может уехать на час в одну или другую сторону. За последние 10 лет, в РФ трижды меняли DST (ЕМНИП) сн… twitter.com/i/web/status/9…
15:52@backendsecret И вот тут не лишним будет отметить, что функции ожидания в примитивах синхронизации STL от gcc испол… twitter.com/i/web/status/9…15:52
Помимо UTC есть еще GPS time. Время, которое используют для координации в системе GPS. Оно по настоящему монотонно… twitter.com/i/web/status/9…
15:54Еще один факт - не все смещения таймзон кратны одному часу. Indian Standard Time - UTC +5:30 например. Поэтому если… twitter.com/i/web/status/9…
15:56Особенно "весело" писать всякие органайзеры, где пользователь может запланировать мероприятие, а потом в этот день… twitter.com/i/web/status/9…
15:58@backendsecret А также Непал с 5:45 и всякие острова в Тихом океане, где время одинаковое, но дата может на сутки отличаться
Самый смешной случай был с одним из диспетчерских управлений СО ЕЭС, которое (вместе со всеми энергетиками региона)… twitter.com/i/web/status/9…
16:04Мне тут напоминают, что в Сиднее, на время олимпиады в 2000м году, ввели DST.
16:07@backendsecret Миссы с помощью каких инструментов ты профайлишь, cachegrind?16:49
@backendsecret Вроде есть TAI clock, реализация от автора s6-supervisor skarnet.org/software/skali…16:58
Привет! Меня зовут Алексей Конышев, я несу добро с помощью poselok-programmistov.ru, а также путем руководства разра… twitter.com/i/web/status/9…
11:32На работе меня особенно вдохновляет миссия. Много странных людей берут деньги в долг, а возвращать не хотят. Банки… twitter.com/i/web/status/9…
12:38Когда мы начинали разработку несколько лет назад, мы взяли в качестве фреймворка @sailsjs – аналог рельсов для ноды… twitter.com/i/web/status/9…
13:11Наконец @sailsjs нас так достал, что мы начали дробить все на микросервисы на чистом @expressjs. Использовали… twitter.com/i/web/status/9…
14:31@musuk @sailsjs @expressjs @DockerSwarm База у нас PostgreSQL, ORM – sequelize. Еще есть Redis – для очередей и pub… twitter.com/i/web/status/9…15:52
Давайте немного расскажу про @it_poselok. Обычно поселок вызывает кучу негатива в комментариях, поэтому начнем со с… twitter.com/i/web/status/9…
18:04@backendsecret @vvn33 @AstarothAst @dcromster Почему вы считаете, что банкам тяжело живется из-за заемщиков в СНГ?)… twitter.com/i/web/status/9…
В РФ колоссальные судебные издержки из-за бюрократии. Если заемщик в конец о%%ел и перестал платить, то банк сможе… twitter.com/i/web/status/9…
20:10Процент таких козлов довольно значителен, поэтому банк вынужден закладывать эти издержки и списания задолженности н… twitter.com/i/web/status/9…
20:12Вам понравился такой формат общения?
10:30Всем привет! На этой неделе в @backendsecret не разработчик бэкенда, а я, Виталий Брагилевский, @_bravit, преподава… twitter.com/i/web/status/9…
11:36До среды включительно будем говорить о Хаскеле и других функциональных языках, в четверг и пятницу обсудим систему… twitter.com/i/web/status/9…
11:39@backendsecret @_bravit То есть никакой совсем не backend developer 😁
В некотором смысле я разработчик бэкендеров, то есть разработчик бэкенда второго порядка. Впрочем, никакой ответств… twitter.com/i/web/status/9…
11:45@backendsecret Higher-kinded backend developer :)11:47
@backendsecret Будет ли затронута тема кибербулинга?
Кибербуллинг в среде бэкендеров — важная тема, обсудим её в разном. Вот только кнопочку для бана найду… twitter.com/Krasnikov_AN/s…
11:49@_bravit @backendsecret А можно пропустить всю эту шелуху и сразу перейти к гендерным вопросам?
Нельзя. Я вообще надеюсь, что до выходных меня отсюда выгонят и не придётся обсуждать острые темы. twitter.com/Alex__Grig/sta…
11:53@backendsecret Может не надо опять гендерные вопросы? Мы еще с прошлого раза не отошли.
Надо. Всем хочется заполучить кусочек славы Егора Бугаенко. twitter.com/AstarothAst/st…
12:01Про паттерны проектирования обязательно скажу. twitter.com/ngalayko/statu…
12:10О ФП (функциональное программирование) начнём говорить с матчасти. В далёком 2009 году собралась группа энтузиастов… twitter.com/i/web/status/9…
12:16Одним из лучших материалов журнала оказался обзор элементов функциональных языков от Евгения Кирпичёва (… twitter.com/i/web/status/9…
12:19«Цель статьи — вооружить идеями из мира функционального программирования даже тех читателей, кто не планирует менят… twitter.com/i/web/status/9…
12:20Это к кураторам! Я и слов-то таких не знаю. У меня, правда, дипломница дважды на GSoC эрланг пилила, но всё равно н… twitter.com/i/web/status/9…
12:25@backendsecret Есть вообще случаи, когда бэкенд есть смысл писать на хаскеле?
Я не евангелист, поэтому врать не буду. Если есть команда, владеющая Хаскелем, если есть лидер, понимающий проблемы… twitter.com/i/web/status/9…
12:36@backendsecret @_bravit Добрый день! ЗАпустил статистику: backendsecret.ru/stats/12:39
@backendsecret Что можешь сказать про GSoC?
Мне кажется, что все студенты-итшники должны стремиться участвовать в Google Summer of Code, это хороший опыт реаль… twitter.com/i/web/status/9…
12:52Студент выбирает проект, консультируясь с ментором пишет заявку, и если заявка выигрывает, то летом что-то программ… twitter.com/i/web/status/9…
12:55@backendsecret Надо, это хороший опыт. Только к нему тоже надо готовится. С нулевыми знаниями его не пройдешь.12:59
@backendsecret Не зарплату, а стипендию.13:00
Про монады рассказать?
13:05Про Хаскель. Его задумали в 1987 году как функциональный язык с ленивыми вычислениями. Заметьте, не для того, чтобы… twitter.com/i/web/status/9…
13:13Девиз Саймона Пейтона Джонса (SPJ, один из создателей) «Avoid success at all costs» долгие годы довлел над развитие… twitter.com/i/web/status/9…
13:18Ситуация потихоньку стала меняться в начале 10-х годов, тогда стало возможным говорить о Хаскеле в промышленной раз… twitter.com/i/web/status/9…
13:20Какая изящная критика прогресса ФП! twitter.com/backendsecret/…
Вот, кстати, распространённое заблуждение. Хорошие теоретические основания ещё никому не мешали. Инженеры, к счасть… twitter.com/i/web/status/9…
13: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…
13:28Хаскелисты любят гордиться историями успеха, каждому расскажут, что есть такой Pandoc, что на Хаскеле программируют… twitter.com/i/web/status/9…
13:33Ещё хаскелисты любят, когда все думают, что они очень умные. Уверен, что эту картинку сделал хаскелист, слишком уж… twitter.com/i/web/status/9…
13:40@backendsecret Подсистема безопасности в Kaspersky OS
Из лаборатории Касперского подсказывают. Да, есть такое дело, действительно на Хаскеле делают. twitter.com/cblp_su/status…
13:42Потом её, правда, испортили лисперы. pic.twitter.com/bEVHoYmDFp
13:45@backendsecret Я прорешал учебник Хаттона Programming in Haskell. Это был прикольный опыт. Но делать реальный проек… twitter.com/i/web/status/9…
Посоветовать тему не могу, но вообще-то писать на Хаскеле можно всё, что угодно. Любая полезная людям программа, на… twitter.com/i/web/status/9…
13:49@backendsecret угу. только статья написана так, что ее поймут только люди, уже знающие заскель, лямбда-калкулус и т… twitter.com/i/web/status/9…
Мне не кажется, что статья написана так. Разумеется, её нужно читать медленно, строчка за строчкой, разбираясь с ка… twitter.com/i/web/status/9…
13:50@backendsecret А можно по подробнее про реальную пользу ленивых вычислений. А то всё что я слышал сводилось к "не б… twitter.com/i/web/status/9…
Ленивые вычисления иногда позволяют писать более простые программы: можно отдельно описать генерацию данных и их по… twitter.com/i/web/status/9…
14:00@backendsecret Так если хаскель создан не для решения практических задач, а just for fun, то зачем пытаться в практическую пользу?
Родители могут ошибаться в планах на своих детей. Создали для одного, а использовать можно для всего, для чего полу… twitter.com/i/web/status/9…
14:07@backendsecret Насколько он имеет смысл сейчас? Вычислительные возможности сейчас высоки и разработчики предпочитаю… twitter.com/i/web/status/9…
Во-первых, вычислительных возможностей всегда недостаточно для имеющихся задач, это закон природы. Во-вторых, ленив… twitter.com/i/web/status/9…
14:10@backendsecret ИМХО, это вообще проблема многих ФП-шников. Причём зачастую решают задачи, которые могли бы решить на чем-то мейнстримовом.
Есть такой смешной жанр: претензии в стиле, а почему это пишется на X, тогда как можно на Y. Ну да, можно. Есть и е… twitter.com/i/web/status/9…
14:14Тут в реплаи подъехали хаскелисты-практики. Они меня сейчас уличат в безграмотности и вообще забьют. И это я ещё к Скале не подошёл!
14:18@backendsecret «Мне не кажется». Когда (не) кажется, креститься надо.Даже разбор строчка за строчкой требует зна… twitter.com/i/web/status/9…
Вежливая тут у вас аудитория, пойду креститься! Интересно, кстати, влияют ли семь пядей во лбу на схему осенения се… twitter.com/i/web/status/9…
14:23@backendsecret Возможность выбора – не всегда хорошо, можно на выходе получить ruby и селекторный паралич.
Всегда было интересно, почему люди так ненавидят некоторые языки программирования. Для меня ЯП — это объект изучени… twitter.com/i/web/status/9…
14:39Кажется, из промышленных языков больше всего PHP достаётся. Мы стольким, написанным на PHP, каждый день успешно пол… twitter.com/i/web/status/9…
14:43@backendsecret дык если язык принципиально создавался для академического задрост^W изучения, то зачем его тащить в… twitter.com/i/web/status/9…
Вот тоже чудесный аргумент: а давайте ещё вспомним, для чего компьютеры создавались. Неужели для того, чтобы реплаи… twitter.com/i/web/status/9…
14:45@backendsecret никаких взрывов, просто для красного словца. тут вроде никто на такое не обижается. и всё же по теме… twitter.com/i/web/status/9…
Интересно, что сам Хаскель даёт массу примеров того, как задуманное для одного вдруг начинает отлично работать для… twitter.com/i/web/status/9…
14:52@pilitactiles @backendsecret Мне очень понравился проект @dshevchenko_biz для подсчета хлебных единиц. Там все есть… twitter.com/i/web/status/9…14:52
@pilitactiles @backendsecret @dshevchenko_biz Дык линк забыл)) github.com/denisshevchenk…14:53
Я воспринимаю языки программирования как наборы инструментов — Хаскель даёт нам очень богатый набор, с его помощью… twitter.com/i/web/status/9…
14:55@hmemcpy @pilitactiles @backendsecret Благодарю! Именно для этого проект и задумывался, чтобы, будучи полезным для… twitter.com/i/web/status/9…
Вот, кстати, Денис — наш главный по евангелизму! twitter.com/dshevchenko_bi…
14:56@dshevchenko_biz @pilitactiles @backendsecret Ваша книга, кстати, О Haskell по-человечески, очень мне помогла вступ… twitter.com/i/web/status/9…14:59
@backendsecret А что можете посоветовать из функциональных языков для изучения? Так, чтобы потом именно применить м… twitter.com/i/web/status/9…
Не буду оригинальным: изучать нужно именно Хаскель. Он позволяет увидеть ФП в чистом виде, понять основные идеи. А… twitter.com/i/web/status/9…
15:13Мне нравится книжка «Изучай Хаскель во имя добра», я в своё время спас её перевод от шанса быть напечатанным в изур… twitter.com/i/web/status/9…
15:16Get programming with Haskell (manning.com/books/get-prog…) вообще для самых начинающих, но сильно ориентирована на прак… twitter.com/i/web/status/9…
15:18У меня на медиуме есть разбор книг по Хаскелю: medium.com/@_bravit, можете посмотреть. Книги есть почти на любой вкус.
15:19@backendsecret Потому что они ими пользовались и им было больно?
Продолжаем про ненависть. Вот у меня стул был, неудобный стул, плохо на нём было сидеть. И знаете что, я его выкину… twitter.com/i/web/status/9…
15:23@backendsecret @_bravit Здравствуйте, Виталий! Нас, читателей из далекого Усть-Уфимска, давно интересует вопрос: ес… twitter.com/i/web/status/9…
Вопрос от людей изнутри коммьюнити, с богатым контекстом и большим подтекстом. Я воспользуюсь им, чтобы начать тему… twitter.com/i/web/status/9…
15:29Вот представьте: вы из академической тусовочки (выделено курсивом), все друг друга знаете, пилите в язык фичи (и пе… twitter.com/i/web/status/9…
15:40У них довольно странные запросы: хотят, чтобы библиотеки поддерживались и обновлялись, чтобы backward compatibility… twitter.com/i/web/status/9…
15:43Основной инструмент для управления зависимостями — утилита cabal-install — долгое время очень медленно развивался,… twitter.com/i/web/status/9…
15:46Работают они на одной основе, используют Hackage — коллекцию библиотек (по типу CPAN перловского), но Hackage в рук… twitter.com/i/web/status/9…
15:48Роль свою stack сыграл, он заставил cabal развиваться. Трения остаются, коммьюнити пытается их разруливать, в интер… twitter.com/i/web/status/9…
15:50@vladusenko48 @backendsecret Когда мы хотим эффективность выполнения, предсказуемую корректность, простоту сопровож… twitter.com/i/web/status/9…
Вот умеет всё-таки Денис Хаскель продавать! twitter.com/dshevchenko_bi…
15:55@backendsecret Ага, я ещё хочется CHANGELOG, тесты, бенчмарки (чтобы не дай бог не стало медленней), хорошую докуме… twitter.com/i/web/status/9…
IDE! IDE нужно! twitter.com/ChShersh/statu…
15:56@backendsecret Как насчёт Closure? Или может даже более холивара: Haskell vs Closure
Про Clojure будет, но без холивара. Разве что в реплаях… twitter.com/gild0r/status/…
15:57@backendsecret Недавно было обсуждение в околохасклевском коммьюнити: почему мы так кичимся крутостью нашего языка… twitter.com/i/web/status/9…
Оценка резкая, конечно, но во многом справедливая. Есть такой документ State of Haskell ecosystem:… twitter.com/i/web/status/9…
16:05@backendsecret Как это заканчиваются? А pandoc? А компиляторы ряда языков (того же Elm)?
Вот мне подсказывают, что на Хаскеле отлично пишутся компиляторы: сам Хаскель, Agda, Idris, Elm. Я смотрел внуть GH… twitter.com/i/web/status/9…
16:09@backendsecret @_bravit Расскажите про будущее зависимых типов в Х-ле, как вам оно видится, с учетом работы, продел… twitter.com/i/web/status/9…
С возрастом я становлюсь ретроградом, мне хочется замедления развития системы типов, так и хочется крикнуть: «Горшо… twitter.com/i/web/status/9…
16:12Пока кажется, что безболезненно встроить зависимые типы в ткань языка не получится. Есть риск того, что всё будет з… twitter.com/i/web/status/9…
16:14Мне больше нравятся языки с зависимыми типами из коробки, как Idris, там они гораздо естественнее смотрятся. Другой… twitter.com/i/web/status/9…
16:16@backendsecret конечно. А еще если можно про архитктуру приложений на хаскелле или книгу про это посоветуйте )
Я такую книгу не знаю, да и вообще: архитектура приложения и язык как-то далековато друг от друга, разве нет? В хас… twitter.com/i/web/status/9…
16:26Читаю википедию перед каждой парой, но быстро забываю! Думаете, легко тут, на дне IT-образования, термины помнить? twitter.com/ShapovalovTS/s…
16:28@putln @backendsecret aosabook.org
AOSABook прекрасная! Про GHC текст вообще потрясающе интересный. twitter.com/cblp_su/status…
16:34@chikiro_twi @backendsecret Если Вы девушка (оо, я как раз в тему с гендерными вопросами!1), то есть: Outreachy
outreachy.org
Гендерный вопрос! Маша — наша гордость, в гугле работает, подписывайтесь! twitter.com/siamezzze/stat…
16:36@backendsecret Что скажете про книги Душкина?
Я бы их сейчас не рекомендовал для изучения Хаскеля, но сам Роман прекрасен! twitter.com/i_am_alcoholic…
16:46Я сторонник распространения Хаскеля на практике, но академический имидж языку сильно мешает. Я свято верю, что не н… twitter.com/i/web/status/9…
17:01В реплаях пишут про Linq и XSLT, вот, мол, реальные технологии, не то что этот ваш Хаскель. Я думаю, что Эрик Мейер… twitter.com/i/web/status/9…
20:40XSLT мне, кстати, очень нравится, я его преподавал 10–15 лет назад — очень хороший декларативный способ преобразова… twitter.com/i/web/status/9…
20:42@backendsecret тогда расскажи как на нем работу найти! тут такая курица яйцо, пока бизнес не увидит разрабов он туд… twitter.com/i/web/status/9…
Найти работу на Хаскеле можно, разрабы давно уже пошли. По ресурсам для хаскелистов постоянно вакансии вижу. twitter.com/raxpost/status…
20:44@backendsecret Скажите, а нужно ли уметь приседать со штангой до начала изучения Haskell?
Нет, умение приседать со штангой не требуется. Хотя и очень полезно! twitter.com/feelthefrog/st…
20:46@backendsecret Удалось веру на практике проверить ? Кстати, что бумажного есть по теории категорий ?
Я не программист, поэтому нет, не удалось. Впрочем, я уже не помню, что в моей жизни появилось раньше, Хаскель или… twitter.com/i/web/status/9…
20:51@IlyaYanok @dshevchenko_biz @vladusenko48 @backendsecret про gc правда. например, язык с gc непригоден для эмбеддед… twitter.com/i/web/status/9…
Некоторые забывают, что даже если на Хаскеле нельзя писать для жёсткого риалтайма, на нём можно генерировать код дл… twitter.com/i/web/status/9…
20:54@backendsecret Если Хаскель - это чисто академический язык вроде Scheme, то мне не понятно, зачем его в бизнес тащи… twitter.com/i/web/status/9…
В мире языков программирования нет заборов, они есть только в головах пользователей. twitter.com/musuk/status/9…
20:57@backendsecret @_bravit а расскажите будет ли Haskell2020 в 2020?
Думаю, что не будет. Для меня главное — успеть монетизировать членство в комитете (prime.haskell.org/wiki/Committee), пока е… twitter.com/i/web/status/9…
21:00Всё совершенно не так. Сколько я не разговаривал с отечественными хаскелистами, которые на этом деньги зарабатывают… twitter.com/i/web/status/9…
21:07Тут же как везде: придумывать свои библиотеки сложно, для этого нужен опыт и знания, а пользоваться ими гораздо про… twitter.com/i/web/status/9…
21:09Я не видел ни одного хаскелиста с горящими глазами, который не смог бы найти работу на Хаскеле. twitter.com/mtrklb/status/…
21:13@backendsecret liquid haskell не пробовал?
Я смотрел много простых примеров: выглядит неплохо, ошибки действительно можно ловить. К сожалению, LH не очень хор… twitter.com/i/web/status/9…
21:17Один поствежливый комментатор в реплаях требует от всех, чтобы ему доказали, что Хаскель хороший. Надеюсь, никто не поведётся.
21:20@rufuse @skchrko @backendsecret @_bravit stack, hackage... главное - Nix!
Nix, конечно, выдающееся изобретение. Я думаю, мы во многих технологиях будем потихоньку на него переходить. Это та… twitter.com/i/web/status/9…
21:29@backendsecret Да запросто! Хаскель хороший - зуб даю! Думаю доказал, да?
Мой тезис в том, что если человек в чём-то уверен, то не надо ему ничего доказывать. Пусть живёт в своей уверенност… twitter.com/i/web/status/9…
21:30@ak3n @mtrklb @backendsecret Поддерживаю. Тут студенты после 4 месячного курса Haskell в универе находили работу. Н… twitter.com/i/web/status/9…21:31
@backendsecret а сколько вам известно отечественных хаскелистов зарабатывающих на этом?
Отечественных хаскелистов-профессионалов я знаю около десятка. Ещё знаю двоих плюсистов, трёх джавистов и пять чело… twitter.com/i/web/status/9…
21:37Так вот, про монады. Понимаете ли вы концепцию перемещения в пространстве? Можно идти, ползти, бежать, лететь, гуси… twitter.com/i/web/status/9…
21:41Встречали ли вы когда-нибудь человека, который заявлял, что он не понимает перемещение в пространстве? Конкретные п… twitter.com/i/web/status/9…
21:42Или, вот, что такое питание? Как это вообще? Не понимаю. Как колбасы поесть — понимаю, котлетка с пюрешкой — тоже, а вот питание — ну никак.
21:44При этом каждый, я подчёркиваю, каждый программист пользуется монадами. Он делает это каждый день, разными конкретн… twitter.com/i/web/status/9…
21:47Видимо, причина в том, что начиная с некоторого возраста нам слишком тяжело знакомиться с новыми абстракциями, нам… twitter.com/i/web/status/9…
21:48Хаскель принятой в нём математической терминологией даёт нам лёгкий способ оправдать себя: ой, это всё ужасная мате… twitter.com/i/web/status/9…
21:50Монада — это общий способ описать идею вычислений, которые можно соединять вместе так, чтобы от результата предыдущ… twitter.com/i/web/status/9…
21:53Вызвал функцию, воспользовался её результатом — привет, ты снова в монаде. Другие языки программирования не пытаютс… twitter.com/i/web/status/9…
21:56Интересно было бы написать роман в духе альтернативной истории про то, как повернулась бы история программирования,… twitter.com/i/web/status/9…
22:07@dmitriid @develop7 @vladusenko48 @backendsecret @dmitriid Дмитрий, я понимаю вас. В ваших сообщениях виден гнев, н… twitter.com/i/web/status/9…
Почитайте тред. Там психоанализ и терапия, все дела. Уважаю. twitter.com/dshevchenko_bi…
22:09Смотрю на статистику и думаю, что надо больше хлёстких твитов для лайков и ретвитов. Ну ничего, будем работать.
22:39Всем привет, сегодня с вами Даник Вартанов (нет, не из Пятигорска, сорян).
Выжил в стартапе, весь в крови и шрамах, но стартап взлетел.
Принял проект с говнокодом, написанным на Руби бывшим PHP-шником, а оставил c а̶т̶о̶м̶н̶о̶й̶ ̶б̶о̶м̶б̶о̶й̶ живым и… twitter.com/i/web/status/9…
15:15Говорить буду в основном о малообсуждаемых проблемах в стартапах, начиная от нарушения всех правил в начале, и зака… twitter.com/i/web/status/9…
15:19@backendsecret СТО, не шубу в трусы заправлять! Сколько человек в R&D? VP of Engineering есть?
И вот первая тема. СТО не нужон.
В стартапах, где обычно "Серёга и я", СТО называют того, кто отвечает за всю техн… twitter.com/i/web/status/9…
1 из 1000 (или скольки там) стартапов взлетает, из них ещё только один на сотню становится бизнесом с R&D такого ра… twitter.com/i/web/status/9…
15:33Но "CTO стартапа" -- это на самом деле просто "технический сооснователь", как в анекдоте: "Я VC из Долины, собираю… twitter.com/i/web/status/9…
15:34А смежные должности типа VPEng в стартапах -- это часто просто результат инфляции должностей. Не верьте.
15:37@backendsecret Привет! Наконец-то люди близкие к деньгам :)
(шёпотом) Тс-с-с, денех тут неееет.
Не, сириосли, в стартапы надо идти затем, чтобы потом никакой проект не был стр… twitter.com/i/web/status/9…
@backendsecret Зато поди ДОЛЯ в перспективном стартупе имеется 😀
Значит, рублю правду матку: я, например, обычный сотрудник, который с самого начала работает за зарплату, у таких л… twitter.com/i/web/status/9…
15:59@jbaruch @backendsecret Он - человек до которого ты докопался на ровном месте. Оставь его уже в покое, пусть расска… twitter.com/i/web/status/9…
Стартап британский/глобальный. Как живут региональные стартапы я, если чесн, не знаю.
Сорри если я на важные репла… twitter.com/i/web/status/9…
19:45@backendsecret А если стартап взлетит высоко то всех VP и директоров поменяют на взрослых менеджеров с опытом. Пото… twitter.com/i/web/status/9…
Всё верно, переход от стартапа к бизнесу это примерно как переход от партизанского отряда к регулярной войсковой ди… twitter.com/i/web/status/9…
19:47В последнее время этот автор сошёл с ума, начал говорить про вселение бесов в алгоритмы ИИ, но вот эта его лекция п… twitter.com/i/web/status/9…
19:55@backendsecret сколько лет в стартапе этом?
6 лет в этом году будет. Изначально думали, что и пять лет не просидим, скучно станет. А теперь начинаю верить тем,… twitter.com/i/web/status/9…
20:09@backendsecret Обычно работая со стартапами расширяешь знания в ширь, для глубины нужно сфокусироваться на чем то одном.
Скиллы взаимодействия с бизнесом, организации гибкого процесса производства софта, коммуникации, удержания сложност… twitter.com/i/web/status/9…
20:32Технические, конечно, качаются в овновном в ширь, кроме одного-двух из тех, что являются специализированными для конкретного проекьа.
20:33@backendsecret Можно заглянуть в почти любую веб-студию и там надо трэкать в день по 8 часов на задачи.
А в туалет… twitter.com/i/web/status/9…
Прям так уж и в любую, и нигде не понимают, что 8 часов в день у программиста это фейк?
Мы у себя очсень много нани… twitter.com/i/web/status/9…
@50megatonn @backendsecret ну смысл в том что больше 6 часов в день кодить на макс концентрации не получается эффек… twitter.com/i/web/status/9…
Я как-то работал в конторе, где нужно было отпечаток пальца прикладывать каждый раз, когда выходишь даже в туалет (… twitter.com/i/web/status/9…
0:05Но это был 2006 год, я думал такое дурошлёпство давно прошло.
0:06@backendsecret ну вот уже 2ой месяц сижу, думаю, что делать. С одной стороны, помимо работы хочу качать другие скил… twitter.com/i/web/status/9…
Размер внутренней "батарейки" сильно колеблется с течением врвмени в зависимости от содержания работы в данный моме… twitter.com/i/web/status/9…
0:37@backendsecret Ну я чуть позже так работал, в 2009
Ну, если вы тоже из Киргизии, то мы могли быть коллегами :-)
0:38Под занавес моего дежурства в @backendsecret разрешу себе воспользоваться служебным положением и поднять тему, кото… twitter.com/i/web/status/9…
2:01Я с 2014 года делаю публичные лекции про биткоин в частности, криптовалюты в общем, блокчейн и всё, что с этим связ… twitter.com/i/web/status/9…
2:01Теперь же весь мир сошёл с ума и переместился на самую вершину хайпа. Это довольно тяжёлые времена, когда профессио… twitter.com/i/web/status/9…
2:01Проекты, где блокчейн ни разу не нужен появляются каждый день. То ОАЭ заявит, что к 2020 году все гостранзакции буд… twitter.com/i/web/status/9…
2:01Вот сегодня Мерседес отличился. То, что они сделали -- это на самом деле просто "очки престижа в личном кабинете на… twitter.com/i/web/status/9…
2:01Давайте раз и навсегда определимся: блокчейн решает ровно одну задачу: задачу взаимодействия двух и более субъектов… twitter.com/i/web/status/9…
2:01Там, где какая-то организация обеспечивает плюшки за какие-то коины блокчейн не нужен, в госзакупах блокчейн не нуж… twitter.com/i/web/status/9…
2:01Если вы слышите "приватный блокчейн", "блокчейн без криптовалют", "permissioned blockchain" -- это либо добросовест… twitter.com/i/web/status/9…
2:01Если к вам придут с таким проектом, задайте один главный вопрос: "Какую проблему решает ваша система, которую не мо… twitter.com/i/web/status/9…
2:01Или, в другой формулировке, "Что ваша система делает такого, чего нельзя было бы сделать, если бы в 2008 году Сатош… twitter.com/i/web/status/9…
2:01Помните, что блокчейн -- это всегда во много раз дороже, как в разработке, так и в обслуживании. Любые системы с бл… twitter.com/i/web/status/9…
2:01Блокчейн оправдан только если централизованные решения невозможные в принципе, либо если централизованные решения д… twitter.com/i/web/status/9…
2:01Мне примерно раз в неделю пишут в личку с очередной гениальной идеей блокчейн-стартапа. Пока что в 100% случаев это… twitter.com/i/web/status/9…
2:01Вот моя статья про то же самое, но меньше эмоций и больше примеров с объяснениями "для гуманитариев" medium.com/@daniel.vartan…
2:01Так что если вы услышите, что в Киргизии выпустили свою криптовалюту или применили блокчейн где-то в госструктурах,… twitter.com/i/web/status/9…
2:01Технарям это ещё проще понять: блокчейн -- это НЕ любая цепь любых блоков (иначе коммиты в git'е были бы блокчейном… twitter.com/i/web/status/9…
2:01Кстати, меня часто спрашивают: если ты так давно в теме, почему ты не миллионер? А ларчик просто открывается: чтобы… twitter.com/i/web/status/9…
2:03Всё, что у меня есть -- это один биткоин (точнее 1.2), да и тот остался с тех времён, когда у меня жена зарплату в… twitter.com/i/web/status/9…
2:03Фуууух, аж легче стало, выговорился. Спасибо, други!
2:06В последние часы дежурства я поотвечаю на вопросы, а потом все айда ко мне на аккаунт @daniel_vartanov, там продолж… twitter.com/i/web/status/9…
2:19Если кто совсем-совсем не в теме, то вот лекция про биткоины-блокчейны, с ручательством, что там нет никаких попыто… twitter.com/i/web/status/9…
3:17Прочитав воскресный @backendsecret в очередной раз хочу напомнить всем программистам:11:08Мы работаем, для того, чтобы… twitter.com/i/web/status/9…
Всем доброго утра! В следующие семь дней с вами Денис @dshevchenko_biz Шевченко, программист, известный в узких кру… twitter.com/i/web/status/9…
8:31Каковы планы на эту неделю? Посмотрим, как пойдёт, не люблю загадывать. Но упор планирую сделать на практику. Будет код, друзья, много кода!
8:31@backendsecret @dshevchenko_biz опять фп и хаскель? был тут недавно уже такой. чем отличаться от него будете?
Многим буду отличаться. Виталий - преподаватель, и говорил о вещах, о которых я имею смутное представление. А главн… twitter.com/i/web/status/9…
9:04@backendsecret Давай сразу про гендерный вопрос.
О нет, вот этого точно не будет. Дабы сразу обрадовать/разочаровать (нужно подчеркнуть), перечислю темы, о которых… twitter.com/i/web/status/9…
9:07@backendsecret Без поллитра-то получится код на этом вашем Хаскеле понять?
А вот и узнаем! ;-) twitter.com/blazernere/sta…
9:08Отвечая @aarexer, расскажу немного о себе.
В программирование я пришёл в 2005 году, и началом был ассемблер для ми… twitter.com/i/web/status/9…
9:56И вот, с 2006 года я окунулся в С++. Изначально, правда, это была ещё нестандартизованная версия (основанная на Bor… twitter.com/i/web/status/9…
9:56Были, правда, ещё и мысли о том, чтобы остаться в C и программировать Linux kernel. Но потом плюсы всё же одержали… twitter.com/i/web/status/9…
9:56И вот однажды, на столе у своего тогдашнего техдира, я увидел книгу "Programming in Haskell". Спрашиваю, мол, что з… twitter.com/i/web/status/9…
9:56Найдя упавшую на пол челюсть и приделав её обратно, я спросил, ээээ, а как это можно программировать без оператора… twitter.com/i/web/status/9…
9:56А где-то год спустя увидел в интернете слово Haskell, и вспомнил, аааа, так это же тот самый, без присваивания. И в… twitter.com/i/web/status/9…
9:57Начал искать материалы. А год это был 2012. И было это, скажу я вам, непросто. Нормальным, человеческим языком, вот… twitter.com/i/web/status/9…
9:57Начал формулировать мысли в своём бложике. Затем была просьба, идея, и реализация идеи, идеи о книжке для самых-сам… twitter.com/i/web/status/9…
9:57Так я полюбил ФП. Но с точки зрения карьеры я всё ещё был С++-программистом, однако к 2014 году я понял - всё, хочу… twitter.com/i/web/status/9…
9:57Сейчас я работаю в #IOHK, это моё третье Haskell-место. Первые два, к сожалению, пришлось сменить по причинам, не связанным с Haskell.
9:57@backendsecret Денис, а рассказ о том, что скала - это фальшивое ФП, будет? :)
Я толком не знаком со Scala, поэтому вряд ли. Но тот пример, с Either - да, его приведу. ;-) twitter.com/iShelop/status…
9:58Иногда (по семейным делам) буду пропадать, так что не обижайтесь, если не отвечаю на все вопросы сразу.
10:11@backendsecret Расскажешь про рекурсию?
Почему бы и нет? Расскажу. twitter.com/bitomaxsp/stat…
10:14Впрочем, в качестве первого объяснения, вероятно, подойдёт глава из моей книжки: ohaskell.guide/recursion.html
10:18@backendsecret Нееее не могу это читать где AbstractRecursionSingletonProviderBean
Вот уж чего нету, того нету... Извиняйте... twitter.com/hmemcpy/status…
10:22@develop7 @backendsecret А если серьезно? Что конкретно лучше писать на хаскеле?
Компиляторы/интерпретаторы, EDSL, бэкенд. twitter.com/artezzzgml/sta…
11:49@backendsecret @dshevchenko_biz Если отталкиваться от проблем, то для решения каких задач, в каких областях ФП дейс… twitter.com/i/web/status/9…
Проблема в том, что мой ответ будет расценен как предвзятый. :-) И всё же я отвечу - да, однозначно стоит овчинка в… twitter.com/i/web/status/9…
11:52@backendsecret Совершенно случайно прочел вашу книгу за вечер, и это прекрасная книга, заинтересовался Haskell.
Не… twitter.com/i/web/status/9…
Планирую, но не сейчас. На данный момент я сильно занят, как по основной работе, так и по важному личному проекту. twitter.com/gild0r/status/…
11:53@backendsecret А какое IDE лучше всего подходит для разработке на Haskell?
Для Haskell нет полновесных IDE в том смысле, как есть для Java или C#. Однако, после доработки напильником, прекра… twitter.com/i/web/status/9…
11:55@backendsecret Было бы круто увидеть примеры композиции монад: MTL, Free(r). Как я понимаю, эти знания - мастхэв дл… twitter.com/i/web/status/9…
О нет, мы будем смотреть на вещи, гораздо более простые. Free(r)? У нас в проекте нет Free(r), и однако же PoS-крип… twitter.com/i/web/status/9…
12:03@backendsecret а плагин для Idea совсем плох?
Не знаю, не пробовал. Отзывы слышал, да, но они противоречивы: кто-то хвалит, кто-то ругает... twitter.com/goshan__4ik/st…
12:04@shkuropadsky @backendsecret @dshevchenko_biz Существует так же опасность, что часть разработчиков будет сильно про… twitter.com/i/web/status/9…
О да! Многих программистов одна лишь аббревиатура "ФП" вводит в ярость и желание драться. Это при том, что большинс… twitter.com/i/web/status/9…
13:14@backendsecret ленту не читал, но есть к тебе вопрос. Есть ли препятствия/проблемы распространения идей ФП? Почему? Как можно решить?
Да, препятствия есть. И в основном - психологического характера:
13:23@backendsecret , слушал выпуск подлодки с вашим участием. про хаскелл и фп. Очень сильно захотелось попробовать. Но… twitter.com/i/web/status/9…
Да, есть такое: в России таких вакансий пока очень мало. Их количество растёт, да, но на фоне остального рынка труд… twitter.com/i/web/status/9…
13:36@backendsecret Как насчёт Haskell vs Clojure, а то вот @_bravit обещался, будучи на месте @backendsecret, да так дело и не дошло
Нет. Сравнение языков - холиварная тема, ражигать очередной срач здесь я не хочу. twitter.com/gild0r/status/…
14:13@backendsecret Просто очень интересно было бы послушать мнение того, кто в теме, может кто из читателей… twitter.com/i/web/status/9…
Я обеими руками за сильную статическую типизацию. Потому что она помогает мне, каждый день. Однако я не делаю из эт… twitter.com/i/web/status/9…
14:20Итак, обещанный на сегодня пример. Пример, понятный нам всем - работа с конфигурационным файлом. Трудно вспомнить з… twitter.com/i/web/status/9…
16:04Итак, что же такое конфигурация? Это стуктурированный набор данных, необходимых нашей программе для работы. Следова… twitter.com/i/web/status/9…
16:04Да, с точки зрения компьютера конфигурация - это файл, то есть тупо строка. Но мы не хотим работать со строками, по… twitter.com/i/web/status/9…
16:04Пример, который вы увидите, отражает декларативный подход к парсингу. Сначала мы определяем типы, отражающие конфиг… twitter.com/i/web/status/9…
16:04Итак, вот пример: gist.github.com/denisshevchenk…. Код кажется большим, но это лишь потому, что там куча комментариев. Реко… twitter.com/i/web/status/9…
16:04На неделе с Виталием меня обвиняли в том, что все приводимые мною примеры - это лишь примитивные однострочники. Поэ… twitter.com/i/web/status/9…
16:06Кстати, используемый на строке 71 Either - это конструктор типа с возможной проблемой. Его реализация предельна про… twitter.com/i/web/status/9…
16:26То есть когда мы конструируем Either-значение, оно всегда находится в одном из двух состояний:
16:26На @backendsecret функциональные программисты дошли до парсинга конфига. Фибоначчи уже написали, а то лень искать?
Нет, обойдёмся без них. Конфиг - он как-то душевнее, ближе будет... twitter.com/mtreskin/statu…
16:39@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…
Не всегда обречён. В большинстве случаев - да, но не всегда. Моя цель не в том, чтобы чем-то похвалиться через подо… twitter.com/i/web/status/9…
16:41@backendsecret Чтоа такое алгебраический тип данных
Алгебраический тип данных (АТД) - это тип, состоящий из других типов. Посмотри на строчку 29 - это АТД. АТД бывает… twitter.com/i/web/status/9…
16:48Ты спросишь, почему произведение? Здесь же вроде ничего ни на что не умножается. Ответ в математике, ведь речь идёт… twitter.com/i/web/status/9…
16:48Вот почему, предоставив экземпляр класса FromJSON для типа ReceiverConfig, мы обязаны предоставить такие же экземпл… twitter.com/i/web/status/9…
16:48@backendsecret Давайте что-нибудь более практичное, с сайд-эффектами. Я немножко хаскель-хейтер, так как считаю, чт… twitter.com/i/web/status/9…
Не всё сразу. :-) Дойдём и до трансформеров. twitter.com/borovikov/stat…
16:50А упомянутый мною Either - это тип-сумма. Мы пишем data Either a b = Left a | Right b. То есть либо Left, либо Righ… twitter.com/i/web/status/9…
16:52Однако, повторюсь: вся эта математическая терминология известна мне лишь потому, что я (с определённого момента) за… twitter.com/i/web/status/9…
17:06@backendsecret Воспользуюсь моментом и кину ссылку на свой канал, где я IMO очень подробно и доступно это расписал… twitter.com/i/web/status/9…17:42
@backendsecret Примеры это круто, но вспоминая прошлого себя я бы подумал "Да вон нахер оно надо, еще типы какие-то… twitter.com/i/web/status/9…
> строчки из ямла достал и усе
Так нам же не строчки нужны. :-) Нам нужны URL, или порт, или список адресов, или е… twitter.com/i/web/status/9…
17:48@qnikst @backendsecret Я это понимаю. Но не вижу в реальном хаскел-коде. И непонятно что там выделить можно, если в… twitter.com/i/web/status/9…
Отделение чистого кода от кода, взаимодействующего с внешним миром - это вопрос правильного проектирования. Конечно… twitter.com/i/web/status/9…
17:51@backendsecret Мой поинт в том, что в real world приложениях чистой логики очень мало. И это уже вопрос не проектир… twitter.com/i/web/status/9…
Смотря о каких real world приложениях идёт речь. Да, есть много таких, где происходят преимущественно IO-действия.… twitter.com/i/web/status/9…
19:00@troglotit @backendsecret MTL и правда must have. Туториалов по нему, хороших, однако, мало даже на английском :( О… twitter.com/i/web/status/9…19:10
@backendsecret Избегай успеха любой ценой
Опять... Simon Peyton Jones, один из создателей Haskell, уже объяснял истинный смысл высказывания "Avoid success at… twitter.com/i/web/status/9…
20:51@backendsecret @ChShersh @troglotit Давно хотел спросить. Не кажется ли недостатком то, что для такой простой задач… twitter.com/i/web/status/9…
Нет, это не кажется недостатком. Напротив, это кажется преимуществом, потому что именно это позволяет жёстко отделя… twitter.com/i/web/status/9…
20:56А насчёт "довольно непростой абстракции"... Ну вот посмотри на меня: бывший плюсовик, математического образования н… twitter.com/i/web/status/9…
20:57@backendsecret Я не говорил, что не могут, я говорил, что она непростая. Требует времени для привыкания, и людям мо… twitter.com/i/web/status/9…
> действительно ли такой контроль так нужен
Да, он нужен. Но не в том смысле, что без него нельзя, а в том смысле,… twitter.com/i/web/status/9…
21:29@backendsecret А какая предистория для названий right,left? Ну right ещё можно понять, но почему left, а не error или wrong?
Не знаю. Очевидно, взяв Right, просто подобрали наиболее естественный антоним, то есть Left. ;-) twitter.com/iflask/status/…
21:34@backendsecret А удобство изменения ФП-программы при неполных и постоянно меняющихся требованиях со стороны заказчи… twitter.com/i/web/status/9…
Декларативная модель очень помогает сопровождать проект. Известное зло при изменениях - в одном месте что-то поменя… twitter.com/i/web/status/9…
21:40А когда глобального разделяемого состояния нет - тогда нет и проблем, им порождаемых.
21:41@backendsecret расскажи где ты работаешь (сори если было) и как нашел (найти) работу на хаскеле. У меня стойкое ощу… twitter.com/i/web/status/9…
Работаю в #IOHK, участвую в создании PoS-криптовалютной системы (конкретно я сейчас в бэкенд-команде нашего кошельк… twitter.com/i/web/status/9…
22:19Что же касается нужд бизнеса - есть отличное видео об этом: youtube.com/watch?v=ybSBCV…. Это видео от CEO для других CE… twitter.com/i/web/status/9…
22:19@backendsecret Ищу ментора! пишу на Java, пробовал Kotlin, знания базовые + спринг(использовал для авторизации на с… twitter.com/i/web/status/9…11:09
Всем привет! Меня зовут Бектур и на этой неделе я буду ведущим. Коротко о себе: занимаюсь исследованиями в области… twitter.com/i/web/status/9…
11:28Помимо основной работы я так же очень много волонтерил по научным конференциям вроде ACM SIGGRAPH, а так же активно… twitter.com/i/web/status/9…
11:30Поэтому на эту неделю у меня план рассказать о:
– AR/VR исследованиях и индустрии в целом
– IT работе в Японии
– В… twitter.com/i/web/status/9…
Ну и так же буду рад ответить на разные вопросы :)
На данный момент правда я пока еще на работе, поэтому отвечать… twitter.com/i/web/status/9…
11:33Я снова с вами! На самом деле сегодня был мой первый день на новой работе, и шеф по японской традиции сводил меня и… twitter.com/i/web/status/9…
15:54@backendsecret Ник то зачем менять) ник верни
я спросил у @dcromster и он сказал что можно менять 😅 twitter.com/dcromster/stat… twitter.com/igor_maslik/st…
15:56@backendsecret Расскажи про AR! Чего стоит ожидать в ближайшем будущем? Будет ли удачное воплощение идеи google glasses?
AR достаточно обширный топик, и всего сразу не ухватишь, поэтому расскажу что интересует сейчас меня:
1) "Демократ… twitter.com/i/web/status/9…
16:00Тут мне нужно сделать отступление и немного рассказать о самой терминологии в AR/VR.
Термин Augmented Reality прои… twitter.com/i/web/status/9…
16:18Соответственно на одной части спектра находится реальность, на другой – виртуальность. Все что между ними (исключая… twitter.com/i/web/status/9…
16:18В MR входят разные "смеси" реальности и виртуальности, включая
Augmented Reality (AR) – дополненная реальность, ко… twitter.com/i/web/status/9…
16:18Сейчас так же популярен термин XR – eXtended Reality, который вбирает себя MR + VR (исключая R, т.е. реальность)
Т… twitter.com/i/web/status/9…
16:18Между прочим статья про RV Continuum является одной из самых цитируемых статей в области исследования всего что свя… twitter.com/i/web/status/9…
16:18Но это еще не все! Проблема в том что сам RV континуум невозможно использовать для качественного сравнения систем (… twitter.com/i/web/status/9…
16:18Extent of World Knowledge (EWK) – Как хорошо система понимает окружающий мир. Например HoloLens и ARKit могут опери… twitter.com/i/web/status/9…
16:18Extent of Presence Metaphor (EPM) – Насколько "погружаемой" (?) является система. Сейчас принято использовать слово… twitter.com/i/web/status/9…
16:18(у presence еще есть замечательное понятие telepresence/teleexistence про которое я расскажу чуть позже)
16:18Reproduction Fidelity (RF) – качество репродукции, банальное SD vs HD vs 4k, и проч
Про это все можно почитать еще… twitter.com/i/web/status/9…
16:18так вот ARKit/ARCore на самом деле передвигают гигантскую массу девайсов из одного конца Extend of World of Knowled… twitter.com/i/web/status/9…
16:212) Такое количество объемной информации о пространстве вокруг пользователей (а это очень большое количество пользов… twitter.com/i/web/status/9…
16:29Real-time photogrammetry with #ARKit pic.twitter.com/4kqnI84ypa
например в плане фотограмметрии – реконструкции 3д моделей из различных фотографий при наличии данных о том где был… twitter.com/i/web/status/9…
16:313) Все это ведет к идеи о AR Cloud – где фактически есть схожая (или точная) копия реального мира в цифровом виде,… twitter.com/i/web/status/9…
16:31Видео демо одного из AR Cloud стартапов youtube.com/watch?v=tXwVg2…
16:31Возвращаясь к изначальному вопросу о Google Glass, на самом деле да, такое в ближайшем будущем нас ждет, и называет… twitter.com/i/web/status/9…
16:34Моя лаборатория сейчас занимается разработкой OST-HMD на основе TMD (Transmissive Mirror Device). Об этой технологи… twitter.com/i/web/status/9…
16:34@backendsecret Под андроид ARCore роботает пока только на ограниченом количестве топовых телефонов, так что пока о… twitter.com/i/web/status/9…
Все так! Особенно было весело когда они сначала дропнули поддержу Asus Zenfone AR, а мы только месяц как купили это… twitter.com/i/web/status/9…
16:35@backendsecret Про IT работу в Японии интересно будет почитать
Про это было несколько вопросов поэтому сейчас буду отвечать на все вместе 👍 twitter.com/raido_future/s…
16:38@backendsecret Во сколько лет ты впервые полетел в Японию и из-за чего?
В 20 лет, получил стипендию на учебу в магистратуре, которую потом продлили в PhD, и я надеюсь уже в этом году я та… twitter.com/i/web/status/9…
16:39@backendsecret Очень интересно насколько трудно переехать в Японию, найти там работу. И нужен ли японский или английского будет достаточно?
Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…
16:453) Работать в Яндексе и быть сханченым компанией Rakuten (шучу конечно, но почему-то именно там я встречал много лю… twitter.com/i/web/status/9…
16:45В плане языка без японского очень тяжело. По-английски говорят либо в оч крупных конторах вроде того же Rakuten или… twitter.com/i/web/status/9…
16:45(если вы сейчас подумали как это я 5 лет прожил в Японии и не выучил языка, то это потому что я не ходил на языковы… twitter.com/i/web/status/9…
16:45@rbektour @backendsecret Как там школьницы? 😜
В самое холодное время года продолжают ходить в юбках, как сказал один мой знакомый: "За это японским школьницам от… twitter.com/i/web/status/9…
16:46@backendsecret А как с ЗП программистов в Японии? В какой-то передаче по телеку (года 3 назад) показывали что у сре… twitter.com/i/web/status/9…
По-разному, навскидку:
Джуниоры – $2-2.5k
Мид левел – $3-3.5k
Сениоры – $4 и выше
Но например я видел в объявлени… twitter.com/i/web/status/9…
16:53Вообще как я слышал в Японии программистов не так уважают, все еще бытует отношение к программистам как к неким кле… twitter.com/i/web/status/9…
16:53Говорю что слышал потому что как программист я работал только в местных стартапах и NTT Research (что-то вроде япон… twitter.com/i/web/status/9…
16:53@rbektour @backendsecret насколько сложно перебраться в нихон?
и как уже спрашивали, как там школьницы?
Ответил чуть ниже twitter.com/AlixBreed/stat…
16:53@backendsecret Скажи ему "кусэ кураэ бака яку", продемонстрируй, что знаешь японский 😅
Он про мой японский уже успел пошутить 🤣twitter.com/ochyai/status/…htwitter.com/AstarothAst/st…b
16:54@backendsecret Очень интересно было бы послушать про культуру работы в Японии, и есть ли там что делать без знания… twitter.com/i/web/status/9…
Интересный вопрос! Действительно, переработка имеет место быть. Из рассказов и собственного опыта я видел:
1) Кома… twitter.com/i/web/status/9…
17:012) Команды которые действительно пашут до последнего и спят под столом. Обычно я это видел в топовых лабораториях я… twitter.com/i/web/status/9…
17:013) Когда все приходят когда надо и уходят когда надо – бывают команды которые работают по 7 вместо 8 часов например… twitter.com/i/web/status/9…
17:01Один лайк – один факт о работе в японской компании.
С переработкой много интересных вещей, например ввели целую акцию Premium Friday где тебя выгоняют с работы вовремя… twitter.com/i/web/status/9…
17:01@backendsecret плюс непонятная культура и незнание языка сильно оттолкнули. Это предубеждение, можно с этим справит… twitter.com/i/web/status/9…
Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…
Если вкратце,… twitter.com/i/web/status/9…
17:03С другой стороны это постепенно пропадает в молодых компаниях, поэтому не все потеряно.
С языком к сожалению тяжел… twitter.com/i/web/status/9…
17:03@backendsecret Есть ли работающие интерфейсы камера-мозг для слепых и слабовидящих людей?
Я как раз сейчас работаю над схожей темой :)
Меня интересуют т.н. эмпатические интерфейсы, которые используют дру… twitter.com/i/web/status/9…
17:11Так же недавно читал про контроллер для слабовидящих в VR telegra.ph/Trost-kontroll…
17:11Вообще использование XR технологий для пользователей с ограниченными возможностями (в виду физических ограничений и… twitter.com/i/web/status/9…
17:11(некоторые считают этот термин стремным маркетинговым ходом, но тем не менее)
17:11Например лаборатория где я сейчас работаю в прошлом году представили проект с роботизированым креслом-каталкой с VR… twitter.com/i/web/status/9…
17:11@backendsecret Можно поподробнее почитать где-то про процесс поступления на магистратуру? В этом году заканчиваю ба… twitter.com/i/web/status/9…
Вообще у меня все началось с вот этой статьи habrahabr.ru/post/128545/
Но если вкратце то, устанавливаете контакт с… twitter.com/i/web/status/9…
17:14Про подачу и получение MEXT есть очень много материалов и даже форум. Например:
17:14@backendsecret Небольшой это сколько сотрудников ушли на автопилоте?
почти все ушли на своих ногах 😂
да нас всего четверо было, обычно такое планируется за месяц, но в этот раз как-то… twitter.com/i/web/status/9…
17:15@backendsecret вообще оффтоп: слышал инфу, что на нашего СНГшного брата вообще спроса нет среди японочек. это вброс… twitter.com/i/web/status/9…
Вроде как есть спрос :) можно поинтересоваться в соответствующих группах на том же телеграме/фейсбуке twitter.com/frontend_sanya…
17:16@backendsecret маалооо
Да, в целом говорят что хотите больших прогерских зарплат – едьте в штаты twitter.com/50megatonn/sta…
17:17@backendsecret Да, читал эту статью по наводке Константина. Это получается надо массово спамить интересующие лабора… twitter.com/i/web/status/9…
Я бы посоветовал сделать так:
1) Определиться с областью исследования
2) Найти интересующие публикации/проекты
3)… twitter.com/i/web/status/9…
Дальше национальных идти не советую, т.к. в префектурных университетах и меньше плохо с финансированием.
И желател… twitter.com/i/web/status/9…
17:21Так, мне вставать через 6 часов, так что я временно прекращаю вещать, но обещаю вернуться завтра
17:22Для тех кто хочет работать с AR вещами могу посоветовать послушать/почитать интервью которое я недавно брал у Марка… twitter.com/i/web/status/9…
17:25Насколько я понимаю сейчас он открыл новую лабораторию в Новой Зеландии и как раз набирает студентов / сотрудников.… twitter.com/i/web/status/9…
17:26Думаю не столь важно, главное чтобы был перевод этого самого диплома на японский или хотя бы английский. Как правил… twitter.com/i/web/status/9…
17:48@backendsecret Насчёт диплома. Должен ли это быть диплом крутого российского вуза или диплома вуза с переферии будет достаточно?
См предыдущий твит twitter.com/elephmoon/stat…
17:48@backendsecret хорошо говоришь на японском?
Увы как я уже писал раньше, довольно паршиво, на уровне N5-N4 twitter.com/ruxeg/status/9…
17:53@backendsecret Тогда можно и про налоги немного рассказать
С этим у меня немного сложнее, тк будучи студентом на государственной стипендии я платил налоги только с подработок… twitter.com/i/web/status/9…
18:01@backendsecret вопрос из Haskell чата. Олег Киселёв в Цукубе ещё преподает?
Увы пока не встречал такого. Там университет гигантский, по размеру примерно как UCLA, нужно брать автобус чтобы об… twitter.com/i/web/status/9…
18:20@backendsecret Похвастайтесь механической клавиатурой!
Пока свой фото архив ковырять лень, но есть видео с моих митапов, которыми я очень горжусь :) twitter.com/Kevroletin/sta…
18:24@backendsecret не понимаю в чём прелесть механических клавиатур :(
Как правило тактильность и кастомизация. У хобби любителей есть целая наука о том какие комбинации корпуса / свитче… twitter.com/i/web/status/9…
18:38Есть еще те кто разрабатывает собственные PCB, например для митапа мы делали ограниченный тираж PCB от создателей T… twitter.com/i/web/status/9…
18:38А еще раздавали PCB от @TheVanKeyboards pic.twitter.com/NNMllEXlBX
18:38Рандомные фото моих клавиатур с телефона pic.twitter.com/ZnocGjABHG
18:41И звук тоже! Настоящие фанаты могут на звук отличить линейные свитчи от тактильных, розовые мх от красных, Топре от… twitter.com/i/web/status/9…
18:50@backendsecret разве нельзя кастомизировать другие типы?
В зависимости от технологии, просто допустим для тех же Cherry MX и их клонов больше т.н. aftermarket вариантов. Се… twitter.com/i/web/status/9…
19:02С другой стороны я помню как мой друг Энди из @keychatter описывал ощущение печатания на Cherry ML как «битье пальц… twitter.com/i/web/status/9…
19:02@backendsecret Где такую разноцветную купить?? :) 4я фотка
Это Planck от @OrtholinearKB, а крышечки – 1976 SA (вроде как их сейчас только на reddit mechmarket можно достать)… twitter.com/i/web/status/9…
19:11Вообще меня хлебом не корми – дай про механические клавиатуры рассказать. Постараюсь эту неделю держать себя в руках 😅
19:14@backendsecret Да не, ни в чем себя не ограничивай. Нестандартные оффтоп темы самые интересные.
Тогда завтра я расскажу вам историю о том как я увез открытую бадью с 30л жидкого азота на убере из Комптона twitter.com/easymnyeasylif…
19:23Всем привет, сегодня с вами я, - Дмитрий Симонов, технический директор drimsim.com. Я расскажу про то,… twitter.com/i/web/status/9…
9:16Как стать тимлидом или техдиром? Кроме базовых гигиенических правил о профпригодности, необходимо общаться практиче… twitter.com/i/web/status/9…
9:24Продукт - меняет мир и делает его лучше. В него вкладывают усилия разработчики, маркетинг и продаваны. Ваша обязанн… twitter.com/i/web/status/9…
9:33Эволюция - та ещё сука и на каждый действительно классный продукт приходится с несколько десятков невыстреливших ги… twitter.com/i/web/status/9…
9:35Вот пример хорошего продукта, которые изменил мир: Яндекс-Такси полностью переформатировал рынок такси. Он настольк… twitter.com/i/web/status/9…
9:40После выбора удачного продукта и настройки коммуникаций с окружающим миром вы должны обеспечить собственную проакти… twitter.com/i/web/status/9…
9:55Проактивность, - ключевое профессиональное качество для внутреннего или внешнего найма тимлида. Это простое бинарно… twitter.com/i/web/status/9…
10:12Хороший пример сравнения проактивного сотрудника от реактивного: "Барин! Почему ты мне платишь всего пять копеек, а… twitter.com/i/web/status/9…
10:57Проактивный человек - человек, который осознал свои глубинные ценности и цели, действует в соответствии со своими ж… twitter.com/i/web/status/9…
11:30Т.о. проактивность, - это работа мысли, формирующей внутренний мир, который вы синкаете с внешним посредством комму… twitter.com/i/web/status/9…
14:14Важный момент, в своём желании нанести счастье окружающим, - быть конструктивным и нетоксичным. Тимлид - это тот, к… twitter.com/i/web/status/9…
14:48Договариваться со всеми непросто, - каждый раз требуется сводить в единую систему интересы всех и при этом не потер… twitter.com/i/web/status/9…
14:50Тимлидам непросто: требуется строить отношения с коллективом, постоянно учиться, терпеть относительно невысокую зп.… twitter.com/i/web/status/9…
15:19Всё самое хорошее должно начинаться с Тебя самого и Твоего внутреннего мира. Упражнение для самопроверки - готовнос… twitter.com/i/web/status/9…
15:23# Вторник 442 твита
Рецепт легко развиваемого сервиса: бек и фронт должны развиваться независимо, общаясь друг с другом через json.
9:45Таким образом product owner может развивать интерфейсы в любую сторону по мере проверки гипотез.
9:47Задача же project manager сводится к правильному обеспечению технической инфраструктуры и слаженной работы админов, беков и фронтов.
9:49Работа правильных админов при этом несет массу ништяков: автодеплой, девсреды по щелчку пальцев, откат изменений и прочее.
9:51В жизни все сложнее. Команды, которым проект достался готовый, тратят все силы на его познание и пере ориентирование.
9:56Команды, стартовавшие проект с нуля (ценность, кстати! Мало, кто умеет!) подчинены главному принципы - пусть взлетит хоть как-нибудь!
9:57Здесь мы сталкиваемся с разделение.м команд/сотрудников на разведчиков и инженеров. Первые проложат тропинку через любую пропасть.
10:00Вторые (инженеры) превратят эту тропинку (хоть как-то работающий продукт) в широкополосное скоростное шоссе!
10:00Работа разведчиков и инженеров отличается кардинально. Легко “сжечь” инженера поставив его на позицию разведчика.
10:02Разведчики тоже не всегда умеют быть в позиции инженеров. Как правило, это ставит проект под угрозу: на одну фичу порождается десять багов
10:09Описанная схема хороша тем, что эффективную команду по ней можно построить из любых людей. То есть быстро и дешево.
10:21Да и найти отдельно разведчиков и отдельно инженеров намнооооого проще, чем универсалов. Особенно в условиях конкуренции.
10:23@backendsecret не лучше ли искать золотую середину? Переделывать всегда дороже, чем делать с нуля11:37
.Конечно же всегда такая середина ищется, @Borovikov. Как правило настоящая команда формируется только после 1-2х проектов.
11:37@backendsecret ок, расскажи про управление такой командой. Ведь придется работать вместе людям с диаметрально противоположными взглядами.11:39
.Они идут след в след друг за другом, @Borovikov. Разведчик совершил подвиг, потом приходит ворчливый инженер и всё перестраивает :)
11:39@backendsecret разведчики ребята это вроде практикующих проектировщиков?11:40
.Это чапаевцы, @vladimore - шашки наголо и вперёд в атаку. "Тестировать будем в продакшне, выкатывай!"
11:40@backendsecret всегда спрашиваю питонистов: зачем Питон?Какие задачи можно решить с его помощью, которые нельзя или сложнее решить Perl'oм11:41
.Я люблю "американо", а вот супруга предпочитает "латте", @dcromster. И то и другое - кофе. Но строго говоря, мировой тренд - это питон.
11:42@backendsecret И потом получится silos где будут либо хаки на фронтенде, либо бакенд подогнутый под требования одного фронтенда.11:43
.Вопрос интеграции решаются на скрам-декомпозициях, @freiksenet_ru. Объяснять, что это такое, требуется?
11:43@backendsecret "правильному обеспечению технической инфраструктуры" это о чем? можно несколько раскрыть тему?11:45
.В общем видел, @ivanenok, речь идёт об этаких перилах, которые ведут разработчика от получения декомпозированной задачи к её тестированию.
11:45@backendsecret боюсь ситуация когда ворчун не просто переделывает, а устраивает скандал "разведчику" довольно частая. да и наоборот, бывает.11:47
.Это проблема проджекта, @Borovikov. Как правило, после первых же побед команды, все конфликты уходят, - результат-то налицо!
11:47@backendsecret расскажи плиз, какие видишь пути разрешения конфликтов11:49
.Я убеждённый сторонник того, что сама работа и её результаты оздоровляют обстановку, @Borovikov. Есть результаты, - все довольны.
11:50@backendsecret хм, чаще всего, манагеры далеко не спецы в построении процессов разработки, они по сути арбитры и ревизоры, имхо11:51
.Менеджеры, @ivanenok, делятся на инвесторов, продактов и проджектов. Инвестор даёт бабло. Продакт - продаёт продукт. Проджект - строит.
11:51@backendsecret я думал что нода в частности и JS в общем мировой тренд11:53
.На фронте, @dcromster, да. Нода одна из первых. Но бек ни кто не отменял.
11:53В @backendsecret опять говорят, что скрам работает. Как же так, на моем он исключительно не работал и был максимум поводом биллить за час.12:00
Это просто холивор, @freiksenet_ru.
12:00@freiksenet_ru @backendsecret которые билятся: "у нас сегодня был эстимейшн на 6ч и 20 чел, вот вам счет — у нас скрам" ну охуеть теперь12:15
Это несвязанные вещи, @yuritkachenko @freiksenet_ru. Скрам - это итерационное улучшение работающего продукта, а не способ оценки работ.
12:15@backendsecret @freiksenet_ru ой да ладно, а христианство это добрая религия.12:18
Смените религию, @yuritkachenko @freiksenet_ru :)
12:18@backendsecret ок, но у меня совсем другой опыт. у разных людей разные представления о результате.12:19
Поделись, @Borovikov! Возможно у меня был аналогичный. Это вообще могут оказаться семейными граблями, - на них ещё мой дедушка наступал!
12:19В @backendsecret опять со своим скрамом, тьфу12:20
Я ещё знаю слово "канбан", @iamale_ru :) (контрольный выстрел в голову)
12:20@backendsecret о да! Только инженер не всегда доволен постоянным переписыванием ;) @Borovikov12:21
Меняй инженера, @dcromster @Borovikov.
12:21@backendsecret @ivanenok а в прод эти перила не ведут?:) или речь о тестировании продакшном:) bnj.com/blog/cowboy-co…12:31
@backendsecret строит девелоперов? :) очень жаль проекты, где PM насаждает процесс и инструменты удобные ему, а не команде.12:33
Строит продукт, @ivanenok. Это очень плохая практика ради крассного словца перевирать то, что я пишу. Не все поймут!
12:33@backendsecret получается конфликт интересов. безконфликтные комманды обычно на одной волне. все думают как менеджер или как инженер.12:37
У всего есть общий знаменатель, @Borovikov - получаемое бабло. Введите премиальную систему Водянова, чтобы знаменатель был виден ещё чётче.
12:37@backendsecret имхо это уже область ответственности дев-лида, а не ПМа. Ввиду его не полной компетенции в таких вопросах12:39
@backendsecret я там специально поставил смайл. мне сложно представить программера без чувства юмора, можно с ума сойти :)12:40
"@backendsecret найти отдельно разведчиков и отдельно инженеров намного проще, чем универсалов". Как понять, кто есть кто, во время поиска?13:33
Разведчики, @meAmidos, уверены, что мы живем в лучшем из миров. Инженеры опасаются, что так и есть!
13:35@backendsecret гляжу на наш продакшен и вижу, что у нас одни разведчики :( как "продать" ПМу идею про инженеров? Спеть про баги в проде?13:36
Спой, @vladimore, про Стива Джобса и клиентов. Деньги второй раз дают только хорошему сервису с их т.з.
13:39@dcromster @backendsecret тренд - это то, для чего тебе здесь и сейчас удалось собрать команду. Есть питонисты,то и питон будет трендом.13:40
@de_gis можно же искать команду целенаправленно: вот эту задачу лучше решает питон, вот эту Node... разве нет? @backendsecret13:41
Нет, @dcromster. Опираться надо на собственный опыт. Используй свои сильные стороны!
13:42@backendsecret хорошо, сферический пример: работаем с текстом. Перл на это заточен, Нода -нет. На ней можно сделать тожесамое, но стоит ли?13:45
Люди, @dcromster, это тоже часть сервиса. Такая же, как оборудование или технологии.
13:46@dcromster А я вообще не понимаю зачем всё это нужно, есть жеж Ruby :) @de_gis @backendsecret13:49
Разумеется, @POS_troi! Если есть в наличии рубисты, пиши на нем! @dcromster @de_gis
13:49@backendsecret не соглашусь,это больше ф-ции техлида.А PM он управляет РЕСУРСАМИ,в т.ч.и людскими.PM в теории м.б. бараном в разработке13:52
@backendsecret, как применить этот афоризм на практике? ;) Какой ключевой вопрос / ответ на собеседовании?14:35
Инженер будет рассказывать про внедрённых технические фишки, -много и с упоением, @meAmidos. Разведчик - про достигнутые бизнесом победы.
14:35@backendsecret и распри из-за денег только ухудшают отношения в коллективе, это уже проверено.15:37
Почитайте тут, @Borovikov: megamozg.ru/post/1736/
15:37@backendsecret @Borovikov Программисты таки не ямы копают. Обьективно оценить качество работы программиста сложно.15:44
Возьмите 2х программеров, @freiksenet_ru, о они совершенно точно определяться друг с другом, кто из них мастер, а кто подмастерье @Borovikov
15:44@backendsecret эм, ужас какой-то )) Я скорее согласен с Джоэлем, все это от лукавого:15:50
local.joelonsoftware.com/wiki/%D0%9C%D0…
Джоэль, разумеется авторитет, @Borovikov. Но какие из этих методов вы тестили в реале? Я вот делюсь своим опытом. А вы?
15:50@backendsecret особенно страдают "инженеры". их вклад долгосрочен и не очевиден. в итоге весь куш у "разведчиков"15:57
Хороший аргумент, @Borovikov. Буду думать.
15:57@Borovikov @backendsecret такая проблема возникает когда команда разношерстная в плане опыта и сами отношения ы тиме нездоровы.16:13
@backendsecret @Borovikov мы устраивали занятный эксперимент. оценивали задачи как в planning poker, и соответсвенно делили деньги проекта.16:13
@backendsecret @Borovikov надо заметить что эффект был весьма занятным. оценки стали несколько точнее и браться стали за доступные задачи.16:13
@backendsecret @Borovikov но дело было в начале 00х и концепт был далеко не аджайловским. простое доморощенное изобретение оч понраивлось.16:13
@backendsecret очень интересный поток мыслей был :) А я из какого лагеря? )))18:17
@backendsecret "Gett reference program:
приведи друга - получи 100 000 рублей!🎉Hr только написала. Есть ли у вас во… twitter.com/i/web/status/9…
А ты думаешь HR хатеры меньше стоят? Кстати мне как работнику как то дали 1000$ за то что друга привел и он прошёл… twitter.com/i/web/status/9…
0:53@backendsecret А Redis Cluster пробовали? сами или в EC?
Нет не пробывали, пока не надо было twitter.com/bardadymchik/s…
10:25@backendsecret Protobuf какой-нибудь можно взять, если тебе важна скорость, а схема нечасто меняется
Да протобаф тоже шустрый, но там возни больше twitter.com/erthad/status/…
10:26@backendsecret Postgres в docker запускаете? Есть какие-то официальные за и против от разработчиков?
В докере запускаем в CI и в stage, вот от туда жалобы на скорость поднятия. От разрабочиков только жалобы на миграц… twitter.com/i/web/status/9…
10:28Кстати life hack если запускать пострес в докере на машинах i3 в амазоне то он стартует за 3 минуты, на обычных m4 20 минут
10:29Всем доброе утро.
Одна из привелегий работать в IT в Израиле это вставать без будильника(это не помогает от пол год… twitter.com/i/web/status/9…
В Израиле почему то програмисты, стартапы вся индустрия называет high tech а IT называется это больше help desk.
10:32Когда работаешь в компанией которая занимается такси, можно понимать погоду на улице не вставая с кровати, просто п… twitter.com/i/web/status/9…
10:38По просьбам желающих выбран первой темой кубернетес(демократии или как там ее)
11:06Вообще кубернетес это оркестрация для контейнеров, но это везде написано. Если другими словами то это платформа по… twitter.com/i/web/status/9…
11:08Он еще умеет делать так чтоб твой сервисы всегда жили.
А главная что это все работает быстро, то есть надо еще 5 ин… twitter.com/i/web/status/9…
Он не идеальный, есть баги, иногда ломается, но из 3 решений мной провереных это на поряжок лудше
Проверял я ECS, swarm, k8s
Все сложность с кубом это его установка. Оно бывает разная, в амазоне, на чистом железе, в гугле и так далее.
Амазо… twitter.com/i/web/status/9…
Пока амазон спали, опен сорсе общество написало решения для установки и управления кубернетесом в амазоне.
Называет… twitter.com/i/web/status/9…
@backendsecret А как же EKS? Он хоть и beta, но уже есть.
Он preview... Пока не готов будет через пол года, это их пробуждения от сна twitter.com/vlazarenko/sta…
11:18Все yaml с настройками идут на s3 и там хранится state.
Другой вариант можно получить это как терраформ файлы.
@backendsecret Kops к сожалению отстаёт по версиям куба нешуточно. Что удручает. А так тул весьма неплох.
Да примерно - 1 всегда twitter.com/vlazarenko/sta…
11:19@backendsecret вот это интресно, как вообще устанавливать k8s ;), нужно минимум 3 ноды? я пробовал minikube на mac… twitter.com/i/web/status/9…
Новый докер идет с кубом вместе работает без vm twitter.com/lisovskyvlad/s…
12:48@backendsecret Swarm до прода доходил, или просто игрались?
Игрались и проверяли возможности twitter.com/KostyaEsmukov/…
12:49@backendsecret А что именно в стекдравере не устраивает?
После перехода в гугл он тормозит.
Не совсем дружит с кубом twitter.com/tru_pablo/stat…
Ок после того как kops сохраняет yaml на s3, через него можно поднять autoscaling group в амазоне.
Машины поднимают… twitter.com/i/web/status/9…
Kubelet-это бинари который бежит демоном на машине и управляет всем
Docker
Iptables и так далее
С этого момента все остальное уже в контейнерах.
На мастерах поднимается etcd, apiserver dns
На всез остальных маши… twitter.com/i/web/status/9…
Ectd в кубе это база данных, там хранятся все настройки.
Без нее все плохо
Кстати время ответа и живучесь очень сил… twitter.com/i/web/status/9…
@backendsecret кроме datadog что-то планируете проверять? или их многомиллионный PR делает свое дело?
Newrelic infra
Signal fx twitter.com/tru_pablo/stat…
Apiserver в кубе это вебсервер, который весит поверх etcd и в него стучатся все ноды за настройками, командами
Есть… twitter.com/i/web/status/9…
Pod - это что то на подобие докер композ
Набор одного или более контейнеров бегущих вместе, можно между ними папки… twitter.com/i/web/status/9…
Так что pod это самый маленький обьект в кубе.
Выше него есть replica set. Это обьект проверяет что есть нужное кол… twitter.com/i/web/status/9…
Через deployment можно указать все что надо чтоб поднять сервис аппликации в кубе.
Там можно указать как делать деп… twitter.com/i/web/status/9…
Есть еще обьект daemon set, то же самое что deployment в настройках кроме того что не указывается количество реплик… twitter.com/i/web/status/9…
14:28Есть хорошая интеграции куба с амазон если ставить все через kops.
Можно вообше в амазон не заходить все будет,
Доб… twitter.com/i/web/status/9…
@backendsecret У нас сварм в проде... Гораздо лучше k8s
Может быть если ва не надо
Автоскалин машин и подов
Подключения volume
Настройка dns
И много других вещей twitter.com/DmitriyLyalyue…
@backendsecret Ты о глобальном сервисе в сварме? При добавлении ноды сервис будет задеплоен на эту ноду сразу после… twitter.com/i/web/status/9…
Нет если у тебя есть 3 контейнера одного сервиса и по cpu надо больше, а других не надо больше twitter.com/DmitriyLyalyue…
14:59Поды в кубе между собой общаются через обьект который называется service, он по таг знает какие поду его я балансит… twitter.com/i/web/status/9…
15:15@backendsecret docs.docker.com/compose/compos… Ну и плюс replicas. Или я опять не верно понял?
Ну вот делать плюс репликам ты сам делаешь или он автоматом умеет когда у тебя cpu 70% на 3 контейнера добавить еще… twitter.com/i/web/status/9…
15:28Перейдем на другую тему по опросу
а то я так понил куб на пальцах не обьяснить
CI/CD/devops tools
15:44Начнем с Jenkins
Швейцарский нож для всего что хочется
куча плагинов/API/галочек настроек и так далее
можно делае… twitter.com/i/web/status/9…
Travis-ci полезная штука для тестов
Плюс легкой настройвать в самом репо для любого програмиста
даешь команде дос… twitter.com/i/web/status/9…
packer
штука умеет строить image для амазона(AMI) и для других
говоришь в json мне надо машина такого размера, на… twitter.com/i/web/status/9…
@backendsecret Интересно чем k8s лучше swarm mode. Меня в swarm mode привлекает простота... Хочу понять, чем я за нее буду расплачиваться
@backendsecret
фичерым
поддержка в опен сорс
кубернетем сложен в установки(с kops проще) потом все просто даже о… twitter.com/i/web/status/9…
@backendsecret кстати, я не очень понимаю, когда и как kubernetes будет поддерживаться в Docker CE? Т.е. они просто… twitter.com/i/web/status/9…
да у меня есть на маке docker там есть опция на kubernetes локальный работает на ура twitter.com/dimaip/status/…
17:33кто еще не видел kubernetes вместе с docker на маке
работает норм. Вместо minkube без VM pic.twitter.com/BYunMZfTJf
На счет репозитор на каждый сервис, в плане ответственности команды это хорошо,CD делать, могут быть разные языки и… twitter.com/i/web/status/9…
20:23Настройки в гитхабе у нас такие.
На главные бранчи не кто не пушает толькл делает pull request. Все такие PR проход… twitter.com/i/web/status/9…
Компании которые хотят делать микросевисы должны привести минимум траты время на создание нового сервиса. Часто это… twitter.com/i/web/status/9…
20:27Очень полезно когда у вас десятки сервисов иметь одно место где лежат их имена настроки всякие. И желательно чтоб э… twitter.com/i/web/status/9…
20:30Например хотите создать на ходу конфигурации куба для все сервисов.
Делаем темплет для настроек
Идем в API получаем… twitter.com/i/web/status/9…
Настройки меняются в одном месте.
Новый сервис появляется в api и тут же он будет везде работать. Кстати там же мож… twitter.com/i/web/status/9…
Life hack
Можно в jenkins сделать selectbox выбор сервисов как параметр. Список тянется с api динамический, и так м… twitter.com/i/web/status/9…
@backendsecret Очень полезно посмотреть ещё и сюда: github.com/jdauphant/awes…10:04
@backendsecret Если использовать conda, можно в одном yaml файле и питон, и пакеджи, и библиотеки описать и ставить… twitter.com/i/web/status/9…10:11
Nginx. Если вы используете его с докером, то nginx-proxy упрощает жизнь.
В него прокидывается сокет докер демона, ч… twitter.com/i/web/status/9…
Это гораздо удобнее, чем использовать голый nginx и писать конфиги с апстримами руками.
10:25... т.к. живых апстримов нет. Приходится его релоудить после деплоя аппа, чтобы он заново отрезолвил домены из апст… twitter.com/i/web/status/9…
10:25Также к этой связке легко добавить поддержку LetsEncrypt с помощью github.com/JrCs/docker-le…
10:25Только скейлить сетап nginx+LetsEncrypt сложнее: нужен общий стор между нодами (челленджи, сертификаты). Да и вообщ… twitter.com/i/web/status/9…
10:25Также LetsEncrypt предлагает 3 вида челленджей: HTTP, DNS, TLS-SNI. Можно использовать DNS челлендж с одной машины… twitter.com/i/web/status/9…
10:25Кстати, TLS-SNI челлендж планируют совсем убрать, т.к. легко получить сертификат для домена, который не контролируе… twitter.com/i/web/status/9…
10:25Альтернатива – traefik.io . У него есть поддержка распределенного LE через K-V store. github.com/containous/tra…
10:25Если еще не читали статью о том, как в StackOverflow год назад внедряли https – очень рекомендую. Про один wildcard… twitter.com/i/web/status/9…
10:25Спринт на три недели я ласково зову «водопадик». twitter.com/backendsecret/…10:34
@backendsecret Если сервис только на одной машине, то для прода это вполне весомое условие, согласен. А падение стейджа чем так критично?
Падение стейджа не критично. Но чем ближе среда прода к среде стейджа, тем меньше риск положить прод. Особенно с ан… twitter.com/i/web/status/9…
12:02@jyraff @backendsecret У нас в рельсе другая проблема с Docker'ом: чтобы все это дело отдавалось nginx'ом, приходит… twitter.com/i/web/status/9…
В Django тоже такая особенность есть. Если uwsgi еще умеет статику раздавать из контейнера, то Django Channels – ни… twitter.com/i/web/status/9…
12:06Почему nginx, а не traefik или даже голый веб апп:
12:141. Nginx очень качественный и быстрый. Даже я, такой “везучий”, не сталкивался с багами ни разу.
12:14А вот issue трекер traefik сразу отпугивает: github.com/containous/tra…
Поищите даже по таким базовым вещам как gzip,… twitter.com/i/web/status/9…
2. Все-таки иногда нужно переопределять локейшоны. Редиректы расставить, заголовки кеширования на статику, robots.t… twitter.com/i/web/status/9…
12:143. Nginx может в microcaching: во время наплыва можно врубить кеширование ответов аппа для гостей. У нас снижало на… twitter.com/i/web/status/9…
12:14Только осторожно с геоипом, куками и заголовками. Надо знать, от чего зависят ответы аппа. И апп не должен слать se… twitter.com/i/web/status/9…
12:14Если в Django это практически не нужно (проще кеширование из Django через redis заюзать), то для ноды с Server Side… twitter.com/i/web/status/9…
12:144. Nginx (и -proxy + LEcompanion) умеет OCSP stapling из коробки. keycdn.com/support/ocsp-s…
Traefik не умеет… twitter.com/i/web/status/9…
12:145. Nginx замечательно работает с http/2. Не хватает только server push. Но, честно, пользы от него мало: чтобы брау… twitter.com/i/web/status/9…
12:14CloudFlare умеет h/2 push. По моим экспериментам, если пушить бандлы вебпака (которые иначе прекрасно кешируются),… twitter.com/i/web/status/9…
12:14А может кто-то все-таки успешно использует h/2 push? Расскажите!
12:14CORS исторически у нас всегда был в nginx. Как-то так: enable-cors.org/server_nginx.h…
На первый взгляд вроде всё мило: эко… twitter.com/i/web/status/9…
На второй не очень:
12:213. OPTIONS запросы не доходят до аппа. Django Rest Framework там возвращает инфу по эндпоинту, например, которая мо… twitter.com/i/web/status/9…
12:21Мониторинг. Минимальный набор у нас это: nginx access logs + Sentry + Zabbix + uptimerobot.com . Настраивае… twitter.com/i/web/status/9…
20:21Zabbix с версии 3 стал очень хорошим. Появилось TLS шифрование между агентом и коллектором (теперь VPN/LAN для них… twitter.com/i/web/status/9…
20:21Из коробки легко настраиваются алерты в почту. Можно настроить хоть в телеграм: gist.github.com/KostyaEsmukov/…
Агенты раз… twitter.com/i/web/status/9…
20:21Но добавлять кастомные метрики в заббикс неудобно. Нужно и в агент конфиг дописать, и в вебморду template сделать (… twitter.com/i/web/status/9…
20:21Sentry мы очень любим. С Python/Django интеграция вообще прекрасная. По любому непойманному исключению есть куча ин… twitter.com/i/web/status/9…
20:21Есть Cloud версия. Но надо иметь в виду, что несмотря на наличие встроенного data scrubber на клиенте, часть секрет… twitter.com/i/web/status/9…
20:21Клиент Sentry для JS чуть похуже питоновского. Инфы отсылается меньше. Также у них их две версии: "raven-js" для бр… twitter.com/i/web/status/9…
20:21Prometheus хорош. Прожорливый по памяти только, да и разворачивается тяжеловато: куча отдельных компонентов (сам pr… twitter.com/i/web/status/9…
20:21Из аппа метрики можно экспортить так:
20:21Если между прометеусом и экспортерами нет защищенной сети (у нас разные проекты мониторятся), то в доках рекомендуе… twitter.com/i/web/status/9…
20:21Мы спрятали за nginx с клиентскими сертификатами. Работает замечательно, но ансибла вокруг этого всего многовато.
20:21@backendsecret У вас неправильное противопоставление. Инженерные задачи всегда подразумевают требования бизнеса. В… twitter.com/i/web/status/9…0:16
@backendsecret При это я считаю глупостью, когда говорят, что инженер принимает бизнес-решения. Он их не принимает,… twitter.com/i/web/status/9…0:16
@backendsecret Если у вас девелоперы дешевле девопсов, то у вас проблемы. Обслуживание должно обходиться дешевле ра… twitter.com/i/web/status/9…
Хаха, у всех девелоперы дешевле девопсов (если вы не называете девопсами релиз инженеров). Не верите? Почитайте ста… twitter.com/i/web/status/9…
10:25Девопсы так дорого стоят потому что бизнес видит что введение этой роли решает конкретные проблемы. Из минусов – ха… twitter.com/i/web/status/9…
10:26И вот тут я начинаю не понимать: инфраструктура интереснее бекенда хотя бы потому что пилить формочки под какой-то… twitter.com/i/web/status/9…
10:33И я бы не сказал что инфраструктура\девопс это сложно. Нет, это даже проще.
(Я не беру в расчет ребят которые по… twitter.com/i/web/status/9…
10:35@backendsecret Чот у вас какое-то очень узкое представление о том что такое бэкенд.
Ну или у людей узкое представление о том что такое девопс :) Например: twitter.com/russianlagman/… twitter.com/feelthefrog/st…
10:36@backendsecret Супердинамичная отрасль с десятом покрытых мхом инструментов. Сколько лет паппету, ансиблу? Не тянет… twitter.com/i/web/status/9…
Достойно :) Хотя последний раз использовал шеф года три-четыре назад. Сейчас же везде контейнеры, правильно? twitter.com/russianlagman/…
10:57@backendsecret Девелоперы делают условный Продукт, пилят фичи. А девопсы за ними подчищают, фиксят баги. Так себе деятельность.
А QA пишет тесты вместо программистов. Алло, звонили 90-е, просили вернуть их орг. структуры обратно. twitter.com/alcotaran/stat…
10:58Вообще звучит очень забавно: “Подчищать за программистами”. Некоторые мои знакомые сисадмины примерно так описывают свою деятельность.
11:01@backendsecret Стейтфул сервисы никто не отменял, их тоже надо обслуживать. Сборка контейнеров мало чем отличается… twitter.com/i/web/status/9…11:03
Ну вот, мне накидали как в девопсе все тоже плохо. А я хотел попереманивать людей между специальностями.
11:03@backendsecret Писать скрипты для инфраструктуры это примерно как собирать Лего конструктор, конечно тоже увлекател… twitter.com/i/web/status/9…
Вообще у меня как-то в моих девопс командах программистов обычно больше чем сисадминов\опсов. Интересно почему? twitter.com/radium73/statu…
11:05@russianlagman @backendsecret то ли дело говнокод на пхп, да? сидишь с 95 года, ковыряешь очередную legacy crm или… twitter.com/i/web/status/9…11:05
Хотя если вы спросите лично меня, то вот совсем уж имхо, но я люблю плоские структуры с шарингом опыта между людьми… twitter.com/i/web/status/9…
11:10ахахахахахаха!!!! twitter.com/backendsecret/…11:25
@backendsecret А кому нужна эта инфраструктура, 99% времени уходит на написать приложение, 1% скрипты/контейнеры чт… twitter.com/i/web/status/9…11:27
Вообще так трогает наивность с которой люди рассуждают о том как в инфраструктуре все просто :) Интересно, как там… twitter.com/i/web/status/9…
11:28@borovikov @backendsecret Ну фидбек он вполне имеет право возвращать бизнесу, и если бизнес не совсем дремучий, то… twitter.com/i/web/status/9…12:10
@radium73 @backendsecret А то, что на бэке у вас своего кода тоже двадцать строчек, а все остальное за вас написали… twitter.com/i/web/status/9…12:10
@russianlagman @backendsecret как умение freebsd 10 лет назад влияет на знание современных практик и технологий? в… twitter.com/i/web/status/9…
Вот, кстати, отличное мнение. Часто люди если запускали джейлы считают что они знают о инфраструктуре все. А мир ме… twitter.com/i/web/status/9…
12:11@AstarothAst @backendsecret Кто лучше автора знает что автор хотел сказать? Как там его творение должно запускаться… twitter.com/i/web/status/9…
Ну вот именно. Зачем переносить кучу знаний о внутреннем устройстве кода между головами и между специальностями? Ве… twitter.com/i/web/status/9…
12:12@BeiZero @truetobetrue @backendsecret Если у вас на проекте уходит 99% времени на скрипты развёртывания, то вы делаете что-то не то и не так12:17
Хм. Давайте введем разные названия для разных девопсов?
Например девопс-сисадмин, девопс-оператор, девопс-инфраст… twitter.com/i/web/status/9…
13:17Все что я говорил вчера сводится к тому что девопс сейчас супер широкий тайтл, который можно заменить на “решатель… twitter.com/i/web/status/9…
13:22Поэтому спорить насчет того что должен делать девопс такая же специальная олимпиада как и доказывать что андроид лучше айфона.
13:23Вернемся к мониторингу – девелопер должен мониторить код не только потому что он лучше знает код и имеет больше рыч… twitter.com/i/web/status/9…
13:31@vgn_xplrr @radium73 @backendsecret Да я не против, просто немного подгорает, когда говорят что есть настоящие прог… twitter.com/i/web/status/9…
Стой, я думал что девелоперы используют труд маркетологов и сейлов. Потому что без них никто бы не знал о продукте. twitter.com/alexgsh404/sta…
13:33@backendsecret Потому, что поддерживать инфраструктуру проще, чем ее наполнять. В моей практике было 5 сисадминов н… twitter.com/i/web/status/9…
Вообще я о таком только слышал. И часто это симптом оторванности сисадминов от бизнеса. Потому что реальный бизнес… twitter.com/i/web/status/9…
13:44@backendsecret Вопросы реакции на проблемы - проблемы девопсов. Девелоперы пилят говно, девопсы деплоят и живут в э… twitter.com/i/web/status/9…
Отличная тема, но вообще опсы редко сами могут пофиксить проблему. И чаще дергают девелоперов, чем фиксят что-то са… twitter.com/i/web/status/9…
13:46@backendsecret Что значит мониторить код?
Блин, я опять. Мониторить сервис. Я всегда имею ввиду мониторить сервис :) twitter.com/hairyhum_/stat…
13:50@backendsecret Хуевые значит девопсы. Главное умение девопса - быстро разгребать говно. В том числе и в коде бизнес… twitter.com/i/web/status/9…
Всегда интересно, откуда люди берут уверенность в своих словах? Ну то есть вот парень на 100% уверен в том что конк… twitter.com/i/web/status/9…
13:55@backendsecret Почему вообще девопсы должны фиксить баги продукта, если они работают с инфраструктурой? Может тогда… twitter.com/i/web/status/9…13:59
@truetobetrue @backendsecret О, ну давайте про девопс. Прогер пишет код, который взаимодействует с redis, oracle, l… twitter.com/i/web/status/9…
Тут такая штука, что да, в проде все по другому. Надо ли девелоперу при разработке учитывать что код будет запускат… twitter.com/i/web/status/9…
14:12@backendsecret Так тут (как всегда!) вопрос баланса - начнешь думать о всем подряд, и не сделаешь даже того миниму… twitter.com/i/web/status/9…
Тут хитрая штука – делать надо минимум который нужен. Но как проще сделать этот минимум: ставя задачу одной команде… twitter.com/i/web/status/9…
14:23@backendsecret Поэтому, наверное, стоит рассмотреть вариант пересборки команды, что б в ней были, как специалисты,… twitter.com/i/web/status/9…
Да, мне очень нравится такая структура сквадов. Я впервые о них услышал в докладах от Spotify… twitter.com/i/web/status/9…
14:30Впрочем, в граммарли мы реализовали что-то подобное пару лет назад. Не знаю как сейчас, может что-то уже и изменило… twitter.com/i/web/status/9…
14:31Вы в организации разделяете логи как часть UI и логи как набор событий? Если вы пишите логи что б было удобно из ко… twitter.com/i/web/status/9…
16:14По-хорошему, чтобы написать лог надо спросить себя - может ли мне понадобится информация о этом событии в будущем?… twitter.com/i/web/status/9…
16:16То есть вместо:
INFO: start super method for user qwe123
INFO: super method end without mistake
можно попробоват… twitter.com/i/web/status/9…
16:21Конечно, я не могу давать рекомендации по формату событий, но для небольших нагрузок json очень неплох.
16:21@backendsecret тут ведь как - если разработчик не занимается локализацией проблем - то ~его надо сжечь~ он рассужда… twitter.com/i/web/status/9…
Ну этим он усложняет локализацию проблем для опсов или кто там ей занимается?
Я думал что мы уже договорились о т… twitter.com/i/web/status/9…
16:23Организация бизнес ролей по знаку зодиака. Недорого. twitter.com/sleem_muzzy/st…
16:32@backendsecret @truetobetrue А. Тогда вопросов больше не имею. Да и вообще, судя по всему, человек не сталкивался с… twitter.com/i/web/status/9…16:48
@backendsecret быстро получать фидбек. сам наговнокодид - сам огрёб. я этот подход продвигаю в своём проекте:)19:34
Что-то срач о том что должен делать\не делать девопс не утихает со вчера. А вроде твиттер о бекенде. Кстати, как вы… twitter.com/i/web/status/9…
21:46@backendsecret Я нежно люблю оба языка. У каждого своя ниша. Однако компания в которой я работаю активно избавляетс… twitter.com/i/web/status/9…21:55
Но в мире инфраструктуры и утилит го заменил питон и руби. В основном из-за того что код очень легко читать и доста… twitter.com/i/web/status/9…
22:02@backendsecret Go шустрее, но проще python конечно22:15
@backendsecret Пайтон может и хорош для изучения основ. Но потом он хорош в прикладной сфере, типа датасайенса и не… twitter.com/i/web/status/9…23:08
@MurcielagoCat @basili4_1982 @backendsecret @truetobetrue Как обещал - подробнее про большие внедрения. Да простит… twitter.com/i/web/status/9…
Начиная с этого твита отличный тред от @AstarothAst twitter.com/AstarothAst/st…
23:19Вчера я написал о том, что все библиотеки для работы со временем сломаны. Сломаны они в предсказуемых местах, поэто… twitter.com/i/web/status/9…
10:31Там есть все те же проблемы что и везде, но! метка времени там, это на самом деле две метки времени. Когда вы получ… twitter.com/i/web/status/9…
10:33а если вы захотите вывести метку времени в лог, будет использоваться обычная метка времени. Монотонной метки времен… twitter.com/i/web/status/9…
10:34В общем, как обычно с golang, за вас подумали и решили что вам лучше подходит, заодно добавили защиту от дурака.
10:35По поводу Go. Я делаю на нем один свой pet проект, поэтому довольно много кода приходится писать. Это love-hate rel… twitter.com/i/web/status/9…
10:37Но как язык это что-то жуткое. Чего только стоит обработка ошибок. В коде на Go слишком часто можно встретить `val,… twitter.com/i/web/status/9…
10:46Отдельного упоминания заслуживает стандартная библиотека. Там очень много сильно странного. Вышеупомянутый package… twitter.com/i/web/status/9…
10:48Если вы хотите использовать таймаут, то придется использовать другую функцию - DialTimeout (ведь Пайк считает что п… twitter.com/i/web/status/9…
10:49Самое ужасное это vendoring и работа с зависимостями. Слежу за одним проектом на Go на Github-е, в один прекрасный… twitter.com/i/web/status/9…
10:53@backendsecret Вот на обработку ошибок гнать не надо. В других языках тоже пустой catch написать можно. Самое главн… twitter.com/i/web/status/9…
главная претензия это не игнор ошибок, а километровые простыни кода, щедро усеяные if err != nil {...} twitter.com/borovikov/stat…
10:56которые чаще всегд делают `return nil, err` и все, код который в языке с исключениями писать не надо
10:57@backendsecret Тебе просто специальной клавиатуры не хватает pic.twitter.com/sSZe7Yud2v10:59
@backendsecret Pragmatic! Practical! Non-academic!10:59
@backendsecret Скрлько ты знаешь человек, способных написать радежный код на с++, который бы работал, с исключениям… twitter.com/i/web/status/9…
В С++ это сложно только из-за свойств языка. Нужно осилить RAII и основы написания exception safe кода. В языках с… twitter.com/i/web/status/9…
11:14С другой стороны, в обработке ошибок в Go есть кое что хорошее, это хорошее - panic. Скажем в С++ сейчас мало кто и… twitter.com/i/web/status/9…
11:18В результате получается, что код, который работать уже не должен, продолжает работать. Нарушения инвариантов должны… twitter.com/i/web/status/9…
11:20@backendsecret Если посмотреть на это с другой стороны, то vendoring и dep management в Go это как раз самое сильно… twitter.com/i/web/status/9…
Разница в том что история изменений в гите портится. Стараешься делать атомарные коммиты и писать нормальные commit… twitter.com/i/web/status/9…
11:25С другой стороны это учит думать о том, что ты не просто зависимость в проект притащил, но семизначное количество с… twitter.com/i/web/status/9…
11:27we are all going to die pic.twitter.com/fAUyR2S9hX11:35
@flex_ferrum @backendsecret Еще есть байка про то, что в Новосибирске граница UTC+6/UTC+7 таймзон раньше проходила… twitter.com/i/web/status/9…15:24
Всем доброе утро и привет из @it_poselok! Сегодня поговорим про методологии разработки. pic.twitter.com/iKSRnmY0Uz
10:52У нас в компании используется некий гибрид Scrum, Continuous Integration, "хуяк-хуяк, и в продакшен", а также элеме… twitter.com/i/web/status/9…
10:56Еще какое-то время использовали Planning Poker для оценки задач в спринте, но он отнимал кучу времени. Затем в кома… twitter.com/i/web/status/9…
11:00А как с такими долгами боретесь? @backendsecret pic.twitter.com/GVwezxoz2p
Отдел коллекшена уверяет, что по таким долгам исправно платят без всяких просрочек :) twitter.com/dcromster/stat…
13:12Началось!
stepik.org/course/693/syl…
Русскоязычным желающим изучать Haskell очень повезло, у нас есть великолепный онлайн-курс от Дениса Николаевича Мос… twitter.com/i/web/status/9…
7:25@backendsecret @hmemcpy @_bravit Виталий, расскажите почему вы не выбрали гламурную жизнь разработчика бэкенда?
Я руководствуюсь старым принципом: «кто не может работать, тот учит». Есть ещё, правда, продолжение: «кто не может… twitter.com/i/web/status/9…
7:29@backendsecret @_bravit а Idris вы тоже в университете преподаёте?
У нас сейчас нет регулярного курса Идриса, я с ним обычно в другие места езжу, вот тут есть два таких прочтения в з… twitter.com/i/web/status/9…
7:35@backendsecret По моему вполне хорошее начало. Я раньше думал, что Haskell это нечто вроде латыни среди языков прог… twitter.com/i/web/status/9…
Учёные мужи пользуются, постоянно придумывают много всего сложного и непонятного, но for the rest of us есть парсер… twitter.com/i/web/status/9…
7:38@backendsecret Ебать-копать, про настоящий Хаскель?
А правда, что в том примере про quicksort на C vs Хаскеле, кото… twitter.com/i/web/status/9…
Про quicksort правда, вот такой код плох: wiki.haskell.org/Introduction#Q…. Если под правильной реализацией понимать сортиро… twitter.com/i/web/status/9…
7:44@frank_snijder @backendsecret Если говорить о Common Lisp, то там очень богатая система типов и одна из лучших реал… twitter.com/i/web/status/9…
Спасибо. Я сам не очень хорошо знаю Common Lisp, зато есть отличная книжка: lisper.ru/pcl/, её переводом з… twitter.com/i/web/status/9…
7:59@backendsecret Прочтя этот тред вы можете увидеть "Проклятье монад" в действии: если ты понял что такое монада, то… twitter.com/i/web/status/9…
Не встречал ни одной попытки объяснения монад без того, чтобы кто-нибудь не вышел с таким наблюдением. На самом дел… twitter.com/i/web/status/9…
8:15Давайте поретвичу реплаи про интересные и полезные хаскелевские библиотеки. Предлагаю такой формат: «sbv — верифика… twitter.com/i/web/status/9…
9: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…
9:56@backendsecret hackage.haskell.org/package/servant - создание веб сервисов через декларативное описание (на типах); генерация к… twitter.com/i/web/status/9…10:33
@backendsecret hackage.haskell.org/package/smallc… - фреймворк для тестирования аналогичный quickcheck, но вместо случайных да… twitter.com/i/web/status/9…10:35
@backendsecret hackage.haskell.org/package/QuickC… - автоматическое тестирование свойств функций. Может генерировать случайные… twitter.com/i/web/status/9…10:36
@backendsecret hackage.haskell.org/package/distri… - erlang для Haskell, но типизированный и с каналами, там целая экосистема.10:40
@backendsecret hackage.haskell.org/package/async высокоуровневый интерфейс для работы с легкими потоками, и задачами выполняемыми в фоне.10:40
@backendsecret hackage.haskell.org/package/stm - software transactional memory сделанное правильно (и первыми). Основная ли… twitter.com/i/web/status/9…10:41
@backendsecret это были библиотеки внутреннено потребления, которые могут помочь лучше написать программу, про внешние будет позже.10:42
@backendsecret interpolatedstring-perl6
Название, не требующее пояснений. twitter.com/voidlizard/sta…
10:52Про тестирование: к smallcheck и quickcheck можно добавить классический HUnit, а ещё удобно объединить всё это (и в… twitter.com/i/web/status/9…
11:00@backendsecret hackage.haskell.org/package/gauge - маленький и шустрый фреймворк для бенчмаркинга.11:10
@backendsecret hackage.haskell.org/package/criter… - не такой маленький и чуть менее шустрый фреймворк для бенчмаркинга, но зат… twitter.com/i/web/status/9…11:10
@backendsecret Канал про бэкенд всё-таки
hackage.haskell.org/package/hakyll - "генератор генераторов статических сайтов", усло… twitter.com/i/web/status/9…
Hakyll неплох, мы сайт конференции на нём делали: plc.sfedu.ru twitter.com/aelaau/status/…
11:26@backendsecret Детерминистическое тестирование многороточных программ hackage.haskell.org/package/dejafu11:26
@qnikst @backendsecret Более модерновый вариант hackage.haskell.org/package/hedgeh…
Вообще для тестирования в Хаскеле много всего, коммьюнити очень заботится о корректности программ. twitter.com/qrilka/status/…
11:27@backendsecret расскажи про перформанс. Есть мнение, что чистые функциональные языки медленны, потому что GC приходится тяжеловато
Перфоманс Хаскеля, тезисно.
1) Если не задумываться о производительности кода изначально, то будет медленно.
2) Есл… twitter.com/i/web/status/9…
3) Если задумываться и хотеть сделать красиво, то тоже есть средства, почти наверняка получится медленнее, но не оч… twitter.com/i/web/status/9…
12:06Главное: чем более высокоуровневый код мы хотим писать, тем хуже будет производительность — это слабость компилятор… twitter.com/i/web/status/9…
12:09@backendsecret github.com/quchen/stackag… - stackage для offline
А ещё есть acme-everything — чтобы сбилдить себе вообще всё! twitter.com/Cynede/status/…
12:14@backendsecret Под то, что вы описываете вполне функтор подходит, товарищ учитель :) Он вполне себе цепочки вычислений описывает.
Неплохой тред от пуриста с чёткой идеей несовершенства мира в голове. Математики, кстати, любят чёткие определения… twitter.com/i/web/status/9…
13:12@backendsecret Вам знакома система Facebook Sigma для борьбы со спамом? Они утверждают что получили достаточную про… twitter.com/i/web/status/9…
Я не разбирался с деталями, но справедливости ради нужно отметить, что главный разработчик этой системы в Facebook… twitter.com/i/web/status/9…
13:30@backendsecret нанёс страшный удар русскоязычному индустриальному Haskell сообществу, теперь вместо того, чтобы ра… twitter.com/i/web/status/9…
А главное, пишут! twitter.com/qnikst/status/…
13:31@backendsecret оттуда вышло: поддержка numa; поддержка выгрузки модулей (нужная для hot reload); более адекватная о… twitter.com/i/web/status/9…13:33
@backendsecret Если серьезно мне нравится это объяснение монад:
adit.io/posts/2013-04-…Есть много версий для разн… twitter.com/i/web/status/9…
Мне всегда очень сложно пробираться сквозь объяснения на картинках. Мало того, что идею понять надо, так ещё и карт… twitter.com/i/web/status/9…
14:34@backendsecret Для разбора опций приложения:14:37
hackage.haskell.org/package/optpar…
hackage.haskell.org/package/hflags
Отписался от этого потока сознания в виде @backendsecret14:38
@backendsecret doctest — автоматическая проверка примеров кода из документации на компилируемость и корректный резу… twitter.com/i/web/status/9…15:35
Erlang. В принципе, можно было бы ограничиться цитатой Армстронга (создателя): «Although the functional community w… twitter.com/i/web/status/9…
17:55Сомнительный статус. В принципе, можно считать, что самые простые элементы функциональных языков, такие как функции… twitter.com/i/web/status/9…
17:58У Армстронга ещё, конечно, издевательский тон по поводу сообщества функциональщиков, которые не смогли придумать ни… twitter.com/i/web/status/9…
18:00Все же в курсе, что то, что мы знаем как Erlang, в 1985 году было Прологом? Любители Пролога не любят ФП, потому чт… twitter.com/i/web/status/9…
18:01@backendsecret Об истории Эрланга в крайне захватывающем изложении написано в статье Армстронга A History of Erlang… twitter.com/i/web/status/9…18:11
Я несколько раз бросал студентов на изучение Эрланга без всякой поддержки и они справлялись. Вчера я писал про студ… twitter.com/i/web/status/9…
18:14@backendsecret Расскажи как примерно начиналось.
С гаража, доширака и вон того парня? Работали за светлое будущее?… twitter.com/i/web/status/9…
Я не был ни автором идеи. Уже 10 лет я профессиональный имплементатор стартапов, правда сильно увлекающийся. Мы с… twitter.com/i/web/status/9…
2:23Been 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…
Программирование превращается в в обычную массовую рабочую сине-воротничковую профессию. ИИ заменит бОльшую часть и… twitter.com/i/web/status/9…
2:26@backendsecret Я слышу песню про эту "замену программистов" с 1995 года. Чё-то всё заменяют, заменяют, да никак не заменят. :-D
Вообще, не с 96-го года, а с появления FORTRAN'а.
Но детки, давайте поможем Даше вспомнить что же произошло в посл… twitter.com/i/web/status/9…
@backendsecret Поддерживать проекты, которые сейчас пишутся - ещё на десяток лет работы хватит. Потом перерастет в… twitter.com/i/web/status/9…
Для поддержвания существующих проектов не факт, что нужны будут человеки.
13:44Я напоминаю, что все наши требования к качеству кода, красивая архитектура и грамотный дизайн -- это всё нужно толь… twitter.com/i/web/status/9…
13:46ИИ может херачить говнокод и всё с ним будет в порядке. И да, для атомных станций нужны будут люди. Но очень мало.… twitter.com/i/web/status/9…
13:48@backendsecret У меня есть плиточник знакомый за год заработал 100 тыс$ расстраивается, что высокие налоги. Так что… twitter.com/i/web/status/9…
Плиточника, скорее всего, не заменят суперэффективной машиной. А синевеоротничковые knowledge workers (включая бОль… twitter.com/i/web/status/9…
13:51N-цать лет спустя. Бля, у нас нет бабок на датацентр для обработки говнокода для управления вторым датацентром, пре… twitter.com/i/web/status/9…
Отличная тема, кстати: раньше люди были дешевле железа, теперь наоборот, потом снова станет наоборот.
Только вот о… twitter.com/i/web/status/9…
13:55@backendsecret До тех пор, пока цена ошибки программиста относительно велика - бояться нечего.
Да, для софта для атомных станций нужны будут люди. Только ими будут не Сары Мей, которые не хотят жертвовать личн… twitter.com/i/web/status/9…
13:56@backendsecret Не заменит! pic.twitter.com/8lBaZEEhQs13:58
@backendsecret А что с ИИ произошло? Придумали какие то новые чудо алгоритмы?
google://весна искуственного интеллекта
14:02@flex_ferrum @AstarothAst @backendsecret вообще я не любитель каламбуров, но "в сжатые сраки" это супер!!
Это как-то Асхату Уразбаеву написали "нам нужно внедрить agile в сжатые сраки". Он сказал, что в тот момент он поня… twitter.com/i/web/status/9…
14:04Кстати, если кто не видел ещё: вот первые шажочки в автоматическом создании сайтов-визиток: thegrid.io… twitter.com/i/web/status/9…
14:21@NolanRus @backendsecret забыли рабочих, которые руками плитку в эту машину выкладывают из лотка
Эти рабочие даже близко уже не обладают ни зарплатами ни статусом плиточника за $100/yr
14:24Если мы с тобой коневоды начала XX века, то надо смотреть не на то, какие неуклюжие автомобили сейчас, а экстраполи… twitter.com/i/web/status/9…
18:53@backendsecret Разработки в области ИИ идут, и это хорошо. И действительно, в ближайшие лет 10 ряд профессий будет… twitter.com/i/web/status/9…
Вопрос где будет граница клепания кнопочек. Скорее всего всё то, чему можно научить в буткемпе за год, в эту границ… twitter.com/i/web/status/9…
18:56Во время второй мировой войны союзники построили много своих авиабаз на удалённых островах в океане. Туземные жител… twitter.com/i/web/status/9…
22:11Чтобы приманить больших железных птицы, они строили из говна и палок взлётные полосы, диспетчерские вышки, ходили с… twitter.com/i/web/status/9…
22:11Ну, признавайтесь, кто узнал внедрение agile в большинстве фирм? :-) pic.twitter.com/aGVM9pJwsR
22:12подобных карго-культов в нашей индустрии пруд пруди, начиная от TDD и размера методов и заканчивая приёмами управления проектами
22:13Отличить таких культистов легко: они орут, что НАААААААДО внедрять TDD, но на вопрос "зачем?" столбенеют. Как вариа… twitter.com/i/web/status/9…
22:15@backendsecret Что по-поводу Scala скажешь? Она, субъективно, более популярна, чем Haskell. Порог вхождения ниже, и… twitter.com/i/web/status/9…
Да, она более популярна, и вакансий больше. Порог вхождения - да, ниже: меня уверяли, что любой Джавист способен пе… twitter.com/i/web/status/9…
8:02@kana_its_me @backendsecret А можно для лучшего понимания ещё пример, когда Either используется не как пара ошибка\результат ?
Строго говоря, Either как раз и придумали для того, чтобы представлять пару "ошибка\результат". twitter.com/iflask/status/…
8:05@backendsecret IDE нету, потому что нету денег в сообществе, или как у Scala по техническим причинам, как демаете?
Я думаю, главная причина в том, что в IDE нет такой уж гигантской потребности. Как минимум 95% всех хаскелистов, ко… twitter.com/i/web/status/9…
8:09@backendsecret А как вы без IDE справляетесь со сложностью управления разработкой масштабных проектов? Да, парадигм… twitter.com/i/web/status/9…
Почему-то вспомнилось старое:
8:46Часто слышу мнение, будто сильная статическая типизация ограничивает программиста, тем самым мешая ему. И да, друзь… twitter.com/i/web/status/9…
9:09Но что такое ограничения? Ограничения - это фундамент гарантий. Любая гарантия обусловлена каким-то ограничением, и… twitter.com/i/web/status/9…
9:09Гарантия же в свою очередь порождает уверенность. И сильная статическая типизация как раз и укрепляет нашу уверенно… twitter.com/i/web/status/9…
9:09Обратите внимание: сильная типизация укрепляет нашу уверенность, но не делает её абсолютной. Поэтому в серьёзных Ha… twitter.com/i/web/status/9…
9:09@cblp_su @theaspect @backendsecret IDE нужна чтоб быстро сходить в реализацию функции и вернуться. Поискать все исп… twitter.com/i/web/status/9…
> А главное, пожалуй, это «проект» - т.е. открыл проект, и вот тебе все его файлы в дереве и поиск по ним.
NeoVim… twitter.com/i/web/status/9…
9:26@batyshkaLenin @backendsecret Все говорят - без IDE нельзя,10:18
Все говорят - без IDE нельзя,
А я говорю, что буду
Дискуссия насчёт IDE для Haskell забавляет... Такое впечатление, будто бы мы должны ОПРАВДЫВАТЬСЯ за то, что у нас… twitter.com/i/web/status/9…
11:34Да, можно просто сидеть и плакать, ах, если бы у нас была такая IDE, наша жизнь стала бы такой прекрасной, ой, как… twitter.com/i/web/status/9…
11:34@backendsecret Думаю, пора переходить к той части, ради чего стоит страдать без IDE. Как сейчас модно говорить: "пр… twitter.com/i/web/status/9…
Вероятно, вас удивит мой ответ, но "продавать haskell" кому бы то ни было я не собираюсь. У меня нет такой цели, и,… twitter.com/i/web/status/9…
11:50@backendsecret Никто не просит вас "впаривать", расскажите, в чём профит. Где оно даёт выигрыши и прочие интересные… twitter.com/i/web/status/9…
> расскажите, в чём профит
Первый профит - сильная статическая типизация с выведением типов. Но есть такие, которы… twitter.com/i/web/status/9…
12:01Хорошо, друзья, давайте двигаться дальше, а то, чувствую, дискуссии уже потихоньку превращаются в холивары... Продолжим о практике.
13:29Один из старых мифов касательно Haskell - отсутствие инструментария для проекта и чрезвычайно скудное число библиот… twitter.com/i/web/status/9…
13:29Справедливости ради, в прошлом так оно и было. Голый компилятор, и пара десятков библиотек (со скудной документацие… twitter.com/i/web/status/9…
13:29Сегодня у нас есть Stack, кроссплатформенный инструмент для работы с проектами. Он создаёт пустой проект по заготов… twitter.com/i/web/status/9…
13:29Stack устанавливает нужное нам окружение (в виде компилятора и набора библиотек) таким образом, что на одном компе… twitter.com/i/web/status/9…
13:29Вот сайт: haskellstack.org. Вот репозиторий: github.com/commercialhask…. Устанавливается Stack либо через скрип… twitter.com/i/web/status/9…
13:29Stack - относительно молодой инструмент, релизнулся он летом 2015 года. Его активная разработка продолжается, основ… twitter.com/i/web/status/9…
13:29И, строго говоря, Stack - не единственный подобный инструмент, однако именно он завоевал наибольшую популярность у Haskell-команд.
13:29Подчеркну: Stack не идеален. Конечно, сегодня он лучше, чем был 2 года назад, однако иногда он тупит. Например, вын… twitter.com/i/web/status/9…
13:29@backendsecret Раскажите пожалуйста про альтернативы Haskell Stack
Cabal. Его сайт: haskell.org/cabal/.
Собственно, с него всё и началось, этот инструмент значительно старше St… twitter.com/i/web/status/9…
13:47Есть, правда, ещё один способ принести Haskell на свой компьютер. Называется Haskell Platform (… twitter.com/i/web/status/9…
13:50Кстати, кто желает подробностей - вот моя заметка про Stack, на сайте нашего сообщества: ruhaskell.org/posts/utils/20…
13:53@backendsecret почему не idris?
Потому что Idris и близко не готов к продакшену в той мере, в какой готов Haskell. twitter.com/H311oWorld/sta…
17:36@backendsecret, а хаскелл только для бекенда хорош или есть ещё области применения?
Вот исследование, подробно отвечающее на этот вопрос: github.com/Gabriel439/pos…. Там области перечислены, и рассказан… twitter.com/i/web/status/9…
18:51Ну и раз уж сегодня был упомянут Stack, то нельзя не упомянуть и Stackage. А для начала краткий экскурс в историю.
20:22В 2008 году появился Hackage, репозиторий Haskell-пакетов. Название Hackage происходит от "Haskell" и "package". По… twitter.com/i/web/status/9…
20:22И всё было бы хорошо, но существовала проблема с зависимостями. Суть её предельно проста: мой проект зависит от пак… twitter.com/i/web/status/9…
20:22И вот создатели Stack предложили решение этой проблемы, так появился Stackage. Название происходит от "Stable Hacka… twitter.com/i/web/status/9…
20:22Таким образом, если пакеты А, Б и В включены в стабильный список, то упомянутой ранее проблемы с зависимостями не б… twitter.com/i/web/status/9…
20:22Каждый стабильный список пакетов, называемый LTS Haskell, имеет свою версию. Аббревиатура LTS происходит от Long Te… twitter.com/i/web/status/9…
20:22Примерно раз в неделю выходит новый список. Вот пример такого списка, версии 10.9: stackage.org/lts-10.9. Список… twitter.com/i/web/status/9…
20:22Затем в конфигурационном файле проекта указывается версия используемого LTS Haskell. И, как вы уже поняли, стабильн… twitter.com/i/web/status/9…
20:22Такой подход сильно помогает в командной разработке. Пока у всех членов команды один и тот же LTS Haskell, их проек… twitter.com/i/web/status/9…
20:22А когда в команду приходит новый человек, он клонирует репозиторий проекта, а затем выполняет лишь две команды:
1.… twitter.com/i/web/status/9…
20:22Разумеется, я могу установить и такой пакет, который не входит в конкретный LTS. Однако в этом случае гарантий совм… twitter.com/i/web/status/9…
20:22Кстати, вот он, полный список пакетов в Hackage: hackage.haskell.org/packages/
20:27@backendsecret в тему этой недели, закончил цикл статей про связь формальной логики и ЯП. Написано очень по-дилетан… twitter.com/i/web/status/9…23:14
@cblp_su @backendsecret Прилетело очень в тему: twitter.com/Harenome/statu…23:15
Я смотрю клавиатуры пользуются здесь большой популярностью, поэтому вот вам еще фото с того дня когда я отвез свою… twitter.com/i/web/status/9…
1:39@backendsecret Компания платит всё.1:45
Так вот, рассказываю. Прошлым летом я ехал на конференцию ACM SIGGRAPH 17 в Лос-Анджелесе, и там я в том числе долж… twitter.com/i/web/status/9…
2:59По дороге в аэропорт получаю от него письмо что мол выручай, студентам нужно купить жидкий азот для демо на конфере… twitter.com/i/web/status/9…
2:59Демо было про рассчитывание сердцевины в 3д принченых объектах для магнитной левитации (на основе жидкого азота) youtu.be/rnRQmN5Hb90
2:59В общем обзвонил кучу местных компаний, из них ответила только одна контора. Но тут проблема:
1) Они находятся оче… twitter.com/i/web/status/9…
2:59(Если что Комптон - один из самых преступных районов в ЛА, если не во всех штатах)
2:59В общем приехали мы со студентами, нам налили 30л бочку азота. Как вы можете заметить, бочка не запечатанная. pic.twitter.com/ULjzzN6ToQ
3:03Я спрашиваю компанию:
– А как мы это вывезти-то должны?
– Ну не знаем, убер закажите что ли
Короче в итоге мы за… twitter.com/i/web/status/9…
3:03Кстати в первый раз я рассказывал эту историю Марку Элендту, который недавно получил Оскар за работу над Houdini siggraph.org/discover/news/…
3:03Нашел видео с самим демо (можно было собирать небольшие игрушки и катать их по воздуху, да) pic.twitter.com/RKJfKS8l6S
5:03Нетфликс прямо как-будто читает что я пишу 😄 pic.twitter.com/UJ52LPURjz
6:23У меня через пару часов заканчивается рабочий день, поэтому я снова приду к вам с историями. Про что бы вы сегодня хотели послушать?
9:38Кратко поясню что я имею в виду под третьим вариантом. По работе (и хобби) я часто занимаюсь тем что контактирую с… twitter.com/i/web/status/9…
9:43Это может быть полезно тем кто учится в магистратуре или аспирантуре, поскольку обычно так люди находят исследовательскую работу
9:43гигантская ракета, местная достопримечательность pic.twitter.com/pDF14nUU8t
11:20(Это я вас так готовлю к рассказам про японскую науку)
11:38Кстати да, если есть какие-то конкретные вопросы, можно сразу сюда писать
11:51так, я вернулся и начинаю вещать!
15:15@backendsecret ergodox-ez.com можешь что-то об этих рассказать? стоит своих баксов, или можно найти что-то получше?
Уже несколько вопросов про Ergodox. Лично мне он не очень понравился, там проблема в ortholinear layout к которой с… twitter.com/i/web/status/9…
15:17@backendsecret Купил себе бу Google pixel для разработки и думаю не прогадал )
Google Pixel вроде пока поддерживает ARCore, надеюсь не дропнут через год :) twitter.com/michbil/status…
15:18@backendsecret Для набора текста лучше cherry blue или red?
Считается что cherry blue, но вообще я знаю и тех кто печатает на линейных (например я) twitter.com/ReTelecaster/s…
15:19@backendsecret Ctrl Ctrl ____ Alt Alt? Да что ж ты делаешь, злодей?
это шутка про @ctrlaltio twitter.com/bwh1te/status/…
15:20@backendsecret Третья прям зачёт. Где такие дают и по чем? Хотя бы скажи как форм фактор называется.
Это Winkeyless B.mini winkeyless.kr/product/b-mini… + JTK Debut Purple on White (PoW)… twitter.com/i/web/status/9…
15:21@vgermaniu @backendsecret На massdrop.com или mechanicalkeyboards.com можно намониторить, но самые круты… twitter.com/i/web/status/9…
Все так, мехкейс команда с массдропа мои друзяшки кстати :) я у них в офисе в СФ даже бывал twitter.com/FapSpirit/stat…
15:22@backendsecret Какие IT направления являются самыми перспективными в Японии?
Сейчас растут блокчейн стартапы как грибы после дождя. Поскольку в Японии с электронными платежами все еще дикий ха… twitter.com/i/web/status/9…
15:30C бонусными и платежными картами в Японии очень весело, вот что например я наскреб у себя из стопки на столе. Полов… twitter.com/i/web/status/9…
15:30Вообще сейчас почти любая хайповая технология из силиконовой долины имеет свой филиал в Японии. Из объявлений я оче… twitter.com/i/web/status/9…
15:30@backendsecret Каково отношение к публикациям в заведомо слабых журналах/конференциях?
Действительно такая проблема имеет место быть, и стандарты зависят от учреждения. В университете Аизу где я учился… twitter.com/i/web/status/9…
15:41Еще часто смотрят на размер статьи (например technical paper vs poster)
Лично мне кажется что эти метрики довольно… twitter.com/i/web/status/9…
15:41В университете Цукуба где я работаю сейчас вроде меньше парятся в плане списка конференций, но у студентов, наприме… twitter.com/i/web/status/9…
15:41В целом как мне кажется если хорошо аргументировать что ваша статья – стоящая, у нее есть внушительная impact стати… twitter.com/i/web/status/9…
15:41(если конечно вы не Computer Science major опубликовавший статью в каком-нибудь "Аграрном вестнике Словении", и такое бывает, да)
15:41@backendsecret Круто! Может вы в курсе, в чем секрет невозможности отправить дроп напрямую в Россию?
80% уверен что либо налоги, либо почта России. Так-то для европы они доставляют через DHL twitter.com/FapSpirit/stat…
15:44@backendsecret на ErgoDox Infinity не посматриваешь?
Пока нет, ответил чуть ниже почему twitter.com/Nick27surgut/s…
15:44@backendsecret Как с библиотечками/средствами разработки для AR/VR? Уже можно туда приходить простым девелоперам ил… twitter.com/i/web/status/9…
Сейчас с этим очень хорошо. Вообще я до сих пор считаю что с приходом ARKit самое крутое это обновление HIG от Appl… twitter.com/i/web/status/9…
15:48У той же Vuforia например нативная документация имелась на уровне комментов в ObjC++ коде что не так весело
15:48Но сейчас все повально используют Unity для демо, особенно после того как они добавили поддержку ARKit (не помню ка… twitter.com/i/web/status/9…
15:48Т.е. в плане оптимизации и стабильности в Unity не всегда хорошо, особенно когда апдейты ломают проект и тд
15:48@backendsecret Если релокейтится в японию, то нужно ли учить японский или для начала английского хватит, а там япон… twitter.com/i/web/status/9…
Писал про это ранее, если вкратце:
1) Японский очень желателен
2) Подтянуть японский тяжело, по крайней мере для р… twitter.com/i/web/status/9…
Рилокейт – по сути подался на стипендию MEXT, прошел, приехал по стипендии в универ, отучился сначала на мастера, п… twitter.com/i/web/status/9…
16:57@backendsecret А можешь немного про Topre рассказать? А то в наших краях эти свичи не потрогаешь.
Topre это японские электростатические свитчи которые работают по принципу схожему с мембранными клавиатурами. По ощ… twitter.com/i/web/status/9…
17:02Есть разные варианты: 35г (самые легкие), 45г (стандарт), и 55г (тяжелые, похожи по ощущениям на печатную машинку)… twitter.com/i/web/status/9…
17:02Вообще знаю лично менеджера клавиатурного отдела Topre (на самом деле Topre это большая японская компания которая д… twitter.com/i/web/status/9…
17:02Topre очень "радикальные" свитчи, кому-то они нравятся, кому-то нет. Еще проблема есть с износом, порой использован… twitter.com/i/web/status/9…
17:02@backendsecret Заинтересовал, можешь подсказать, какую на пробу взять?На плоских клавиатурах потом нет проблем печатать?
У меня проблем нет с плоскими клавиатурами, но некоторые говорят что потом некоторое время нужно привыкать обратно.… twitter.com/i/web/status/9…
17:05Возвращаясь к IT и науке, и то и другое – темы обширные, поэтому возможно у меня на это уйдет несколько дней.
17:08Пожалуй я попробую рассказать об этих темах в форме ответов на следующие вопросы:
– Я хочу стать программистом в Я… twitter.com/i/web/status/9…
17:08@backendsecret Ничего другого для кроссплатформы нет, увы :(
Ну есть еще Unreal Engine, но там C++, и насчет совместимости с AR либами я не уверен как там обстоят дела twitter.com/Dinozavrr/stat…
17:13С согласия @dcromster так же постю следующее объявление:
Если вы интересуетесь IT работой в Японии и посредственно… twitter.com/i/web/status/9…
17:17@backendsecret Так больше плотют на долине, туда все хотят
Все так и есть, но у Японии есть и свои плюсы. Навскидку я бы назвал транспорт, безопасность, экологию и внутренний… twitter.com/i/web/status/9…
17:19Итак, вы хотите стать программистом в Японии. Сразу отбросим вопрос "Зачем?!"
17:39Начну пожалуй с переезда, для IT людей очень важно наличие диплома, без него берут только если вы очень редкий и кр… twitter.com/i/web/status/9…
Про то как попасть я писал тут twitter.com/backendsecret/…
Пререквизиты: диплом, хотя бы знание английского, а еще луч… twitter.com/i/web/status/9…
17:39В плане переезда пожалуй самая большая проблема это оформить рабочую визу. Там есть целый список документов который… twitter.com/i/web/status/9…
17:39С самим переездом вроде больших проблем нет. Главное опасайтесь квартир на первом этаже ибо там плесень. Вообще опа… twitter.com/i/web/status/9…
17:39Это увы тоже имеет место быть, про все различия можно мельком посмотреть тут medium.com/@xevix/gaijin-…Если вкратце,… twitter.com/i/web/status/9…
На рабочем месте уже могут быть различия с культурой, про это я писал тут:
twitter.com/backendsecret/…
twitter.com/backendsecret/…
В целом есть такое понятие как "gaijin card" ака "карта иностранца" – если вы не будете следовать каким-то японским… twitter.com/i/web/status/9…
17:39Поэтому приходите на работу и уходите с нее по расписанию и честно кладите сами знаете что на переработку. Так же н… twitter.com/i/web/status/9…
17:39Из митапов в Токио (а именно там сейчас проходит бóльшая часть всех IT событий в Японии) могу посоветовать… twitter.com/i/web/status/9…
17:39Это был краткий экскурс в IT работу, а теперь о науке. Тут уже имеет смысл вопрос "Зачем?"
По сути в Японии очень… twitter.com/i/web/status/9…
18:03Так же в японских лабораториях (по крайней мере в моей области работы) не стесняются выделять бюджеты даже на самые… twitter.com/i/web/status/9…
18:03Неудивительно что например в том же MIT Media Lab директор, а так же многие сотрудники и студенты – японцы.
18:03Я бы посоветовал сделать так:1) Определиться с областью исследования
2) Найти интересующие публикации/проекты
3)… twitter.com/i/web/status/9…
Как попасть я писал тут:
twitter.com/backendsecret/…
twitter.com/backendsecret/…
Допустим вы уже получили стипендию (или… twitter.com/i/web/status/9…
18:03Теперь все зависит от вашего научного руководителя и лаборатории. Если у вас агрессивная в плане публикаций команда… twitter.com/i/web/status/9…
18:03Ну хорошо, допустим вы что-то поделали, опубликовались, и получили мастера. Дальше вопрос: нужно ли мне получать Ph… twitter.com/i/web/status/9…
18:03С PhD уже сложнее тк тут нужно иметь больше публикаций, уникальную тему исследования, а так же другой склад мышлени… twitter.com/i/web/status/9…
18:03Поэтому в связи с таким кол-вом времени и нервов, в Японии на PhD как правило идут иностранцы, по крайней мере из м… twitter.com/i/web/status/9…
18:03С другой стороны после выпуска с PhD у вас уже гораздо больше возможностей:
1) Вы можете подаваться в качестве уч… twitter.com/i/web/status/9…
18:03В конце концов вы можете стать профессором с tenure track. Хитрость в том что когда вы получите tenure вас очень тя… twitter.com/i/web/status/9…
18:03Особенность Японии в этом плане состоит в том что вы – иностранец, и не во всех университетах вас будут видеть нара… twitter.com/i/web/status/9…
18:03Но вообще все это и без черных списков очень соревновательно, готовьтесь к частым отказам, написанию различных апел… twitter.com/i/web/status/9…
18:03@backendsecret @zel_enb В Лайн русских почти нет. В Токио совсем без японского попась нереально, а вот в Фукуоку ес… twitter.com/i/web/status/9…18:09
@backendsecret @zel_enb Если вы владеете ML/NLP тоже можно смело писать, скорей всего вас возьмут. Естественно диплом, опыт и английский.18:10
@backendsecret @zel_enb Лайн помогает с переездом и имеет опыт в этом. Есть курсы японского в Фукуоке и все условия… twitter.com/i/web/status/9…18:12
@skkap @backendsecret русские и не нужны. я QA. для меня вакансий не было там :( в Фукуоке холоднее чем в Токио =_= накиньте еще компаний
Навскидку:
Rakuten
Recruit
CyberAgent
Microsoft JP
Google JP
Mercari
Может быть еще мои друзья с @codechrysalis мо… twitter.com/i/web/status/9…
18:21@backendsecret Дома пользую механику amazon.com/gp/product/B00…, на работе amazon.com/gp/product/B00…. иногда просто на н… twitter.com/i/web/status/9…
Главное чтобы нравилось :) мне например нравятся клавиатуры на новых макбуках, хотя многие любители механики от них… twitter.com/i/web/status/9…
18:24@backendsecret А что с теми, у кого образование не профильное (ну у меня маркетинг-менеджмент, а работаю джавистом)… twitter.com/i/web/status/9…
Вот с этим сразу сказать не могу, желательно спросить кого-нибудь с опытом HR работы или тех же рекрутеров. Мне каж… twitter.com/i/web/status/9…
18:27Кстати если интересно могу завтра рассказать как я занимался изготовлением кастомных клавиатурных кнопок из жидкого… twitter.com/i/web/status/9…
18:41@zel_enb @backendsecret Не скажу где нужны QA, но если в японии то стоит глянуть на Rakuten, Recruit, Indeed, Googl… twitter.com/i/web/status/9…18:42
@backendsecret Кстати в Indeed тоже очень много бывших сотрудников Яндекса, повсюду русская речь :)18:49
Алсо в свое время я создал и вел почти целый год клавиатурный лайвстрим @topclack (сейчас он продолжает жить без ме… twitter.com/i/web/status/9…
18:54@zel_enb @backendsecret Кстати там же и Ракутен и много стартапов. Я не совсем в теме, но там какая-то особая зона… twitter.com/i/web/status/9…18:55
@backendsecret @topclack @Massdrop @OrtholinearKB @InputClub @jamesbardolph Расскажи про японское комьюнити, вижу м… twitter.com/i/web/status/9…
Частично в этом виноват я, тк митап-то создал, людей пригласил, а все всё равно сидят только в твиттере. Можно поче… twitter.com/i/web/status/9…
19:37@backendsecret как мирится с тем что у механики длиннее ход клавиш и соответственно теор предел скорости печати мен… twitter.com/i/web/status/9…
Можно пользоваться MX Silver, MX Speed или короткими ML свитчами. Вообще все не так просто twitter.com/oulasvirta/sta…… twitter.com/i/web/status/9…
19:48Коллеги! Вчера мы дружно знакомились, а завтра я буду рассказывать о сроках проектов и как их не провалить. Сегодня… twitter.com/i/web/status/9…
7:10Порядок приёма вопросов: под этим твитом я до 23:59 мск собираю вопросы и по мере их поступления отвечаю отдельными… twitter.com/i/web/status/9…
7:46# Среда 284 твита
Рецепт для того, чтобы быть хорошим беком: работайте. На основной работе, на лежаках, дома, на даче, где угодно. Важна практика.
9:56Берите леваки, подработки, шабашки, все, что угодно, расширяющее ваш рабочий кругозор. Кроме того, лишняя работа принесет много контактов.
9:57Обилие рабочего опыта, обилие контактов принесет интересный результат, - вы опробуете себя в самых разных ролях: от падавана до цто.
9:59Тут важно помнить, что роль, - это роль как у актера, который в жизни лысый импотент, а играет чегевару и казанову в одном флаконе.
10:01Не имеет смысла писать: я программист, архитектор и очень крутой. Имеет смысл рассказывать про косяки, которые всплывали на этих ролях.
10:02Ни кому не интересно, какую роль ты играешь. Всем интересно, как ее играть им. И как не быть освистанным, а значит получить много бабла.
10:04Делитесь опытом решения косяков, “палите” темы, рассказывайте о своих неудачах. ЭТО всем интересно! Но чтобы оно было, - нужна практика.
10:05Совершайте ошибки, учитесь их исправлять, не совершайте их второй раз. И однажды вы поймете, - все книжки от гуру, - враньё.
10:06Гуру зарабатывают на книжках, а не на разработке. Иначе у них не было бы времени публиковаться. Берите пример с Марка Лемана (автор EV).
10:08Его ценник - около 1 килоевро за один день работы. Ему не надо публиковаться. Ему не надо следить за фигурой. Он просто ебашит!
10:09Посмотрите на Монса! Он преподает перл в МГУ, пишет облако для Мейла и заботится о 12ти кошках) Разве он кричит о том, какой он крутой?
10:12Он просто крут и охуенен! Кто про вас так скажет? Ни кто, если не будете каждый день работать на разных ролях, набирая практику.
10:14Сегодня линейным программистом, завтра консультантом, послезавтра техдиром. А потом снова программистом. Таких, кто так может - мало.
10:15Должность (роль) можно отнять. Премии лишить. Практику и опыт - нельзя. Кто кому должен завидовать? Кто без кого не обойдется?
10:16И лично от себя добавляю еще раз: не верьте на слово ни кому. Проверяйте, практикуйте, учитесь!
10:18Почему я это все пишу? Потому что потребность в работающих есть всегда, а работает по сути ровно 1%. Остальные занимаются сибурде!
10:23В @backendsecret сегодня мотивационная речь и немного скрытой политоты. И любовь, обожание к перлу.10:28
Про мотивацию специально для @freiksenet_ru pic.twitter.com/2MR6FWf61N
10:28Про перл специально для @freiksenet_ru pic.twitter.com/wEsuukJG4t
10:29@backendsecret Может у меня такой пузырь, где перла нет.10:53
Поменяй слово perl на любое другое название, @freiksenet_ru
10:53Пример правильного построения пула воркеров: i.imgur.com/3297BXb.gifv
14:17Давайте про асинхронность. Кто что использует и как дебажит утечки памяти? Указывайте язык, plz!
21:27@backendsecret не только беком. В последнее время у меня спрашивают: как стать девелопером, что читать… На что я отвечаю: бери и пиши код.21:33
@backendsecret вот говоришь "фигачьте фигачтье!" а где же баланс между работой и личной жизнью?21:33
Баланс простой, @dcromster. Работай ровно столько, чтобы денег хватало на личную жизнь)
21:35@backendsecret И что, шаблон должен универсально подходить для всех сервисов, независимо от их назначения?
Да он должен включать только инфраструктуру и общие вещи которые вы хотите на всех сервисах. Например не прикольно… twitter.com/i/web/status/9…
9:48Когда становится много сервисов начинается проблемы как их настроить локально чтоб можно было проверить локально.D… twitter.com/i/web/status/9…
11:39смотрят на чем написаны ваши сервисы от этого считается когда наступает момент когда локально уже не чего работать… twitter.com/i/web/status/9…
11:41Автомация когда разрабатывает тесты e2e. Нуждаются во всех сервисах рабочих так им проходится поднимать все в облак… twitter.com/i/web/status/9…
11:43вот пример потребления памяти сервисами на Rails и Golang
разница на лицо сколько можно поместить на машины тех и… twitter.com/i/web/status/9…
думаю сами понимаете кто есть кто pic.twitter.com/0Zdqq83nbG
11:49У нас на данный момент около ~50 environment разработки. Много? да. Потому что команд больше 10 в каждой из низ раз… twitter.com/i/web/status/9…
11:53Тут конешно надо добавить редисы, базы, rabbitmq,nginx короче много всего выходит. Так что кубернетис это упрощает… twitter.com/i/web/status/9…
11:56У нас есть бот на слаке который умеет делать деплой на окружения для разработки, удобно когда тебе надо все сервис… twitter.com/i/web/status/9…
11:57Чтоб укоротить время деплоя в кубернетис желательно иметь маленькие docker image, я тут не давно решил использовать… twitter.com/i/web/status/9…
12:02На rails я быстро понил что это без полезно потому что нет build то есть надо все всегда.На го сервиса очень полезн… twitter.com/i/web/status/9…
12:06Оказалось что это не совсем так
если работайте с alpine
Кстати бот на слаке написан был на Хакотоне внутренем он не занел первые места что обидно, но зато им все пользуются каждый день
12:12Бот зовут плуто
Он умеет делать несколько команд и еще гавкать
команды которые он незнаю просить его научить то ест… twitter.com/i/web/status/9…
Life hack про деплои в прод
12:21Life hack про деплои в прод
12:22DevOps tools в Gett:
12:35@backendsecret Есть статья с описанием? Или гит?
Нету, но статью надо написать twitter.com/Khorev/status/…
12:53Life hack:
Маленький тролинг соседей по офису еще не кому не вредил😋 pic.twitter.com/5rSYYhC6HT
@backendsecret На рубимайн есть корпоративная лицензия?
да есть лицензия еще на goland тоже twitter.com/john_govno/sta…
17:44@backendsecret А базы для сервисов тоже с помощью k8s поднимаете и администрируете?
Нет там все rds. Мы боимся такие вещи делать сами twitter.com/salikhov/statu…
19:47@backendsecret какие библиотеки вы используете в Go для работы с PostgreSQL (ORM, конструктор запросов, мигратор, и т. п.)
Gorm,
Мигратор у нас свой, улучшеный goose, назвали swan twitter.com/vassilevsky/st…
@backendsecret Мы как раз выбрали DNS челендж вместо того чтобы шарить папку или заруливать выписывание только на о… twitter.com/i/web/status/9…10:29
@backendsecret 1. Как масштабировать прометей и бороться с дырками в таймлане метрик?
1. Насчет масштабирования – federation. Насчет дырок – зависит от их причины. Если это от ребута сервера – то они т… twitter.com/i/web/status/9…
10:402. Можно прикрыть его nginx с basic auth. По аксес логам видно, какой юзер слал запросы.
10:40Python. На двойке после тройки прям противно писать. Но тройка лично мне, несмотря на проблемы (о них ниже – всё имхо), нравится.
10:521. Основная проблема 3 это Py2. Где-то ещё приходится писать 2+3 код (это когда пишешь на 2, но так, чтобы оно еще… twitter.com/i/web/status/9…
10:52Многим еще приходится писать на Python 2, потому что миграция большой кодовой базы на тройку это реально дорого, а… twitter.com/i/web/status/9…
10:52Интервью с инженерами из инстаграм о том, почему (typings, community, performance) и как (10 месяцев в 3 стадии) он… twitter.com/i/web/status/9…
10:52Вот интересные сайтики, где показано, сколько из топовых пакетов поддерживают тройку. Спойлер: почти все.… twitter.com/i/web/status/9…
10:52Из моей практики сейчас осталось всего два пакета, которые еще не поддерживают 3: evernote-sdk-python (есть бета дл… twitter.com/i/web/status/9…
10:52Очень больно смотреть на новые (мелкие!) проекты, которые начинают на Python2. Просто потому, что так привыкли. Пож… twitter.com/i/web/status/9…
10:522. Стандартная библиотека хоть и большая, но местами тухловатая. Например, http клиент (urllib) даже ответ в юникод… twitter.com/i/web/status/9…
10:52Есть поддержка IDNA encoding, но она реализует устаревшую (на 7 лет) версию спеки. Поэтому приходится юзать сторонн… twitter.com/i/web/status/9…
10:52Вместо модуля регулярок re иногда юзают сторонний regex, в котором есть поддержка Unicode codepoint properties (нап… twitter.com/i/web/status/9…
10:52А в Татарстане у нас вообще свой мир: pic.twitter.com/Cimq1YPq1J
10:523. Performance – это не про пайтон. Говорят, что pypy вместо cpython снижает нагрузку. Но, имхо, от пайтона ждать п… twitter.com/i/web/status/9…
10:52Кстати, в cpython 3.7 будет небольшая оптимизация потребления памяти при использовании GC для shared memory (из-за… twitter.com/i/web/status/9…
10:524. Куча мяса вокруг доставки зависимостей: easy_install, pip, conda, apt/yum/etc. setup.py, pbr, PEP… twitter.com/i/web/status/9…
10:54В общем, проблем хватает. Но community, на мой взгляд, отличное.
10:54Про синхронизацию состояния между фронтом и бэком поговорим в четверг pic.twitter.com/I3RrdTyXuV
10:55@backendsecret Как организовывать структуру проекта с Django или аналогичного рода фреймворком, когда для фронта An… twitter.com/i/web/status/9…
Если бэк отдает только API, то однозначно отдельными репами. Мобильные приложения не храните в репе с бэкендом же,… twitter.com/i/web/status/9…
11:20Ещё причина - необходимость работы в энтерпрайзе с RHEL6, где из коробки py2.6 twitter.com/backendsecret/…
А еще внутренние зависимости энтерпрайза на py2. Это да.
Мой твит был о мелких проектах, не обремененных энтерпра… twitter.com/i/web/status/9…
11:25Я конечно о своем буду ныть. Вот сколько сил/времени в каждой команде на все это уходит. А это потеря фокуса, несде… twitter.com/i/web/status/9…
Да, Вы абсолютно правы. Именно поэтому я и затронул Prometheus. На одном Zabbix с современным веб аппом действитель… twitter.com/i/web/status/9…
13:04Помимо community пайтона мне очень близки его принципы из The Zen of Python. Самый известный, наверное, это:
Expli… twitter.com/i/web/status/9…
13:10А если вы *реально* его прочитали и помедитировали, то вот это может вызвать у вас недоумение:
There should be one-… twitter.com/i/web/status/9…
Если вы читали код на Python 2+3, то наверняка могли видеть необычные импорты такого вида:
from __future__ import… twitter.com/i/web/status/9…
13:20Большинство из них касаются Python2, но и для тройки есть парочка:
generator_stop (с 3.5) python.org/dev/peps/pep-0…… twitter.com/i/web/status/9…
Я жду 3.7 ради __future__ annotations, который откладывает evaluation of type annotations, что решит проблему с обя… twitter.com/i/web/status/9…
13:20Еще есть __future__ пасхалка, заменяющая оператор != на <>:
>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2… twitter.com/i/web/status/9…
Django. Позиционирует себя как "Web framework that encourages ... pragmatic design", но URLValidator не принимает у… twitter.com/i/web/status/9…
22:11Но в целом принципы, перечисленные на этой странице, вполне соблюдаются и в Django, и в аппах для нее (по моим набл… twitter.com/i/web/status/9…
22:11REST API на голой Django писать неудобно, поэтому для апи практически всегда тащат Django Rest Framework (DRF). Бол… twitter.com/i/web/status/9…
22:11Пермишки проверять надо в BasePermission классах. Отображением и валидацией управлять в Serializer. Фильтрацией в F… twitter.com/i/web/status/9…
22:11Причем креативить то можно. Только потом сплошные страдания от этого. Лишний код (бойлерплейт!), который надо подде… twitter.com/i/web/status/9…
22:11Строгий RESTful никто не навязывает (но из коробки DRF пытается быть похожим). Добавляйте свои нетривиальные экшоны… twitter.com/i/web/status/9…
22:11Изучив все эти абстракции, рапидно разворачивать проекты довольно несложно.
Разумеется, это утверждение верно для л… twitter.com/i/web/status/9…
Естественно, все эти ништяки аукаются ценой запросов ORM (хотя в среднем они довольно адекватные) и вездесущими cou… twitter.com/i/web/status/9…
22:11Из коробки клёвые админка и гуи для API, которые реюзают часть (если не всю) написанной логики для API. Не надо ник… twitter.com/i/web/status/9…
22:11Накидал модельку-вьюсет-сериалайзер-тесты для новостей, выдал админскую учетку стаффам с пермишками только к этим н… twitter.com/i/web/status/9…
22:11Очень клёвая поддержка geospatial через postgis из коробки. Прям очень. Полигоны, точки, расстояния – всё спокойно… twitter.com/i/web/status/9…
22:11Некоторые вещи приходится кастомайзить. Тот же URLValidator, например. Или пагинатор свой. Но проблем с этим у нас… twitter.com/i/web/status/9…
22:11Очень рекомендую апп django-waffle. Позволяет делать фича-флаги. Мы их используем очень по-разному: для тестировани… twitter.com/i/web/status/9…
22:11И хотя автор DRF не рекомендует отключать DRF Browsable API, оно течёт значениями FK. Например, если у юзера есть F… twitter.com/i/web/status/9…
22:11Мы закрыли DRF Browsable API через django-waffle, показываем только стаффу.
22:11Также значения FK по дефолту рендерятся в html шаблоне админки на странице редактирования сущности. Тут вопрос перф… twitter.com/i/web/status/9…
22:11Django большая. Есть также протухшие куски. Например, поле для картинок не умеет генерить вариации – юзают django-s… twitter.com/i/web/status/9…
22:11Иногда добавляют новые куски. Например, нативный JSONField для PG (в 1.9) или db migrations (1.7) – то, что раньше… twitter.com/i/web/status/9…
22:11План миграции c south великолепный: удалите все миграции и создайте новые. What could possibly go wrong?… twitter.com/i/web/status/9…
22:11Опять про инстаграм: как они апгрейдились с Django 1.3 до 1.8: youtu.be/lx5WQjXLlq8?t=… (ссылка с таймтегом)
22:11До версии 2.0 каждый *.* релиз считался мажорным (как у postgres). С 2.0 маркировка версий немного поменялась: docs.djangoproject.com/en/dev/interna…
22:11Кстати, если вы мейнтейните Django проект и до сих пор не подписались на django-announce mailing list, очень рекоме… twitter.com/i/web/status/9…
22:11Для вебсокетов есть Django Channels: запросы принимает daphne ("HTTP and WS termination server") и через redis/amqp… twitter.com/i/web/status/9…
22:11Выглядит сложно, но на деле проблем не вызывает. У нас на нескольких проектах оно в проде, не жалуемся.
22:11Как-то так. Django хейтить у меня получается хуже, чем всё остальное :)
Про ORM и тестирование напишу отдельно (завтра).
22:11@backendsecret Го читать легче питона и руби?
Вообще да. Ну если поставить вентилятор в кресло для охлаждения пятой точки от постоянных if err != nil
По моему… twitter.com/i/web/status/9…
0:20Или о том какой метод суперкласса мы наследуем. Или о том что к нам приходит и по какому методу мы можем к нему обр… twitter.com/i/web/status/9…
0:22@backendsecret В го довольно большой бойлерплейт у слайсов, словарей, строк, регэкспов; нет перегрузки операторов и интерполяции строк0:29
Да ну, про языки сраться это совсем 2015 (tl;dr - Груви рулит). Про DevOps интересней. twitter.com/backendsecret/…8:32
Вот хороший вопрос для сегодняшнего @backendsecret, кстати. twitter.com/sadoperator/st…
Это кстати не только ко мне вопрос. А какая единица измерения разработчика? Сейчас буду отвечать :) twitter.com/jbaruch/status…
8:33@backendsecret есть люди, которые не то, что не понимают, за что хвалят питон, но им также не особо ясно, зачем нуж… twitter.com/i/web/status/9…8:33
Может быть две причины для того чтобы как-то мерять КПД разработчика\девопса: вы не понимаете делает ли человек что… twitter.com/i/web/status/9…
8:36Вообще выставлять какие-то KPI для дев\девопс\опс чревато тем что у вас останутся только заточенные под этот KPI лю… twitter.com/i/web/status/9…
8:38Возможно у кого-то есть система с KPI по которой можно оценить работу программиста, но этот кто-то держит эту систему в секрете или врёт.
8:40@backendsecret Кажется у @yegor256 что-то было
Ну я же говорил “врут”. twitter.com/tw_kotalex/sta…
8:43Если вы хотите понять как можно улучшить вашу работу или работу вашего отдела, то тут не все так просто обычно.
Е… twitter.com/i/web/status/9…
8:49Чаще всего вы, как девопс\релиз инженер\инфраструктурщик можете влиять на TTM. Также вы можете влиять на способност… twitter.com/i/web/status/9…
8:51Естественно вы будете влиять и на стабильность приложения. И на кучу всего другого.
Тут самая важная штука - подо… twitter.com/i/web/status/9…
8:52Ну и конечно надо быть честным с тем какие задачи ты выбираешь и для чего. Процитирую “Гарри Поттера и методы рационального мышления”
9:00Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…
9:01Если ты пытаешься выбрать один из двух дорогих чемоданов и тебе нравится блестящий, то уже не важно, какие аргумент… twitter.com/i/web/status/9…
Я время от времени вижу как люди придумывают себе причину заниматься какой-то задачей просто потому что она интерес… twitter.com/i/web/status/9…
9:02Так что просто сходите к бизнесу и узнайте его цели. Это может быть и х2 сотрудников через год. Это может быть и 99… twitter.com/i/web/status/9…
9:15А если вы знаете цели бизнеса, то вы сможете поставить себе такие задачи, чтобы помочь бизнесу с достижением его це… twitter.com/i/web/status/9…
9:17@backendsecret А бизнес такой фигак, и выкатил несколько гигабайт текста написанного лучшим канцеляритом: "Вот опис… twitter.com/i/web/status/9…
Ну это вообще-то проблема – неумение компании доносить свои цели сотрудникам. И я не знаю как эту проблему решать,… twitter.com/i/web/status/9…
9:21@backendsecret Есть такое дело. Всегда говорил что хороший бэкенд девелопер должен понимать всю серверную кухню, чт… twitter.com/i/web/status/9…9:21
@poisoncorpsee @backendsecret Менеджеров как и любые другие квалифицированные надо регулярно воспитывать и обучать.… twitter.com/i/web/status/9…9:21
@backendsecret может лучше подумать про то, как получше написать код? А то вот чуть более чем вся отрасль уже из та… twitter.com/i/web/status/9…
Вообще интересная точка зрения. Хотя я её не поддерживаю, потому что лично в моей практике люди которые в первую оч… twitter.com/i/web/status/9…
11:05А если случайно делали нужную фигню, то получалось это не эффективно.
11:06@backendsecret Бизнесовые метрики на прямую не годятся для принятия инженерных решений (они вообще не годятся для п… twitter.com/i/web/status/9…
Если честно, мне сложно понять как метрика “size of tech deb” поможет мне понять двигается ли мой отдел в правильну… twitter.com/i/web/status/9…
11:17@backendsecret Ещё хорошие метрики: test coverage, cyclomatic complexity, number of open bugs.
Опять же, если у вас весь код будет покрыт тестами, 100% коверейдж, но уже 50 китайских компаний выпустили клон с н… twitter.com/i/web/status/9…
11:19@backendsecret Го читать просто, но больно11:19
Поэтому я и говорю что инженеры (программисты, опсы и девопсы) не должны кукситься в своем мирке с выдуманными идеа… twitter.com/i/web/status/9…
11:22У опсов тоже, кстати, есть свои приколы - типа всё на стабильность, когда стабильность не нужна. Или идиотские прав… twitter.com/i/web/status/9…
11:23@backendsecret А именно: понимать как то, что они делают приносит или экономит деньги.11:24
Только мне сдаётся, что об… twitter.com/i/web/status/9…
@backendsecret Ооо, безопасность головного моска, я знаю о ней ФСЕ!!! До сих пор совершенно идиотские тикеты в джир… twitter.com/i/web/status/9…11:26
@backendsecret Это понятно, но есть риск, что у вас разработка как загнанная лошадь будет, и ваш time to market рез… twitter.com/i/web/status/9…
Я это отлично понимаю, поэтому и говорю что это симптоматическая метрика, на которую надо смотреть, как и на другие… twitter.com/i/web/status/9…
11:35Я попробую еще проще: представьте что вы едете на машине в ралли. Вам надо следить за кучей вещей. Но единственное… twitter.com/i/web/status/9…
11:39Ну, если ваш бизнес умеет управлять такой абстракцией разработчика, то да, это может быть такой ценностью. Хотя по… twitter.com/i/web/status/9…
11:55@backendsecret Все это "программист должен думать о бизнесе" хорошо до тех пор, пока бизнес маленький, а программис… twitter.com/i/web/status/9…
Ну вообще все началось с того как можно измерять полезность работы девелопера\девопса. И вообще я даже скорее не за… twitter.com/i/web/status/9…
11:58@backendsecret Как-то странно получается. Зачем тогда бизнес нанимает разработчиков, если не может донести свои планы?
От безысходности. Людей которые хотят заниматься какой-то фигней (не зависимо от причин) гораздо больше чем людей к… twitter.com/i/web/status/9…
12:06@axique Из-за когнитивного диссонанса. Если ты веришь в идеальный код с правильной архитектурой, 100% покрытием, а… twitter.com/i/web/status/9…
Собственно почему девелоперы так любят говорить о техдолге? Потому что им вбили в голову что есть некая идеальная а… twitter.com/i/web/status/9…
12:13@backendsecret когда полностью соглашаешься с "бизнесом" в лице манагера... ну это приводит либо к закрытию конторы… twitter.com/i/web/status/9…
Интересно посмотреть примеры :) Но вообще да, из-за того что девелоперов\опсов надо продавливать многие менеджеры п… twitter.com/i/web/status/9…
12:22@backendsecret Здравый подход12:25
Техдолга нет только у мертвого и ненужного продукта
@backendsecret в долгосрочной перспективе архитектура влияет на скорость выкатки фич. Конечно из-за плохой архитект… twitter.com/i/web/status/9…
Конечно влияет. Я ж не говорю что надо писать код простынями на перле. Возможно у нас разный опыт. Я, лично, неодно… twitter.com/i/web/status/9…
12:29@backendsecret ещё я бы советовал прикинуть какое количество багов генерирует большой техдолг. Нередко боттленеком… twitter.com/i/web/status/9…
Ещё раз, я же не говорю что надо наращивать техдолг как пивной живот. За всем надо следить. Но ориентироваться на к… twitter.com/i/web/status/9…
12:31@alcotaran @backendsecret Про важность понимания бизнеса у меня несколько иное видение:12:32
если ты понимаешь, что стои… twitter.com/i/web/status/9…
@backendsecret @axique Систему KPI можно аккуратно прописать, покрыв все нужные аспекты и скореллироваьь их с высок… twitter.com/i/web/status/9…
Вот если честно не встречал KPI которые бы не превращались в синтетический тест видеокарт. Либо ты не используешь K… twitter.com/i/web/status/9…
13:06@backendsecret А как тех долг превратить в KPI? Что мерять?
Измеряется в чезанах\минута twitter.com/visualwatermar…
13:42@backendsecret @almaleksia Пытаются делать многие, но не у всех получается. Так же как и не у всех банально получае… twitter.com/i/web/status/9…
Вот тут есть такая интересная штука – я считаю что если что-то может работать плохо, то надо искать варианты чем ег… twitter.com/i/web/status/9…
13:52@borovikov @backendsecret для меня важнее та метрика, улучшение которой прибавляет мне денег. если менеджмент не по… twitter.com/i/web/status/9…
Вот так в принципе думает большинство. Хотите больше денег и влияния — не думайте так :) к тому же разбираться в чё… twitter.com/i/web/status/9…
14:59@backendsecret Тоже дело стиля. Атомарный вендоринг, атомарные апдейты завендореных библиотек. Комментарии вида “Ve… twitter.com/i/web/status/9…
Это все конечно возможно, но ты начинаешь делать работу мейнтейнеров и вся эта работа смешивается с историей измене… twitter.com/i/web/status/9…
9:02Попробую развернуть немного. Давным давно, не дистрибутивы не существовали и администраторы сами собирали все инстр… twitter.com/i/web/status/9…
9:05Мало того что вам нужно было все собирать самостоятельно. Вам нужно было подписываться на списки рассылки и следить… twitter.com/i/web/status/9…
9:08... и публикуют пакеты. Администратор просто устанавливает готовые пакеты. Для упрощения жизни были придуманы утили… twitter.com/i/web/status/9…
9:10Тут появляется Роб Пайк и заявляет что все это лишнее. Удобнее всего деплоить single binary без зависимостей (таки… twitter.com/i/web/status/9…
9:13Для многих проектов это именно то что нужно. Проблема только в том, что теперь программист должен следить за проект… twitter.com/i/web/status/9…
9:15@backendsecret Рибейс зло надо описать merge
гайд чтобы пользоваться рибейсом грамотнo. Вроде как при пуле не разрешать комитать
Имеется ввиду `git pull --rebase origin branch_name`. Тут будут рибейзиться только твои локальные изменения, которы… twitter.com/i/web/status/9…
9:17первое "не" тут лишнее конечно, double negation прямо как в AAVE!
9:19Лучше уж сделать fork репозитория и мерджить upstream вручную. Submodules довольно геморно удалять, плюс ты все рав… twitter.com/i/web/status/9…
9:22@backendsecret К этому рано или поздно все придут. Вот хороший пример github.com/aptible/superc…9:23
@backendsecret Ну и да, аргумент, «а вот тут писать код не надо, оно само» — мягко говоря, слабенький.
А потом эти люди пишут костыли, для ручной генерации stack trace-ов из ошибок. twitter.com/CuredPlumbum/s…
11:58Пожалуй настало время рассказать про разработку Akumuli. Вот обзорная статья на Хабре - habrahabr.ru/post/345974/.
14:31Когда-то давно я прочитал книгу Малкольма Гладуэлла, название которой не помню, что-то про outliers, в которой расс… twitter.com/i/web/status/9…
14:40но, во многих случаях, это довольно точная нижняя граница для оценки необходимого опыта. В общем, я впечатлился и р… twitter.com/i/web/status/9…
14:42Я пользуюсь одним простым правилом. Стараюсь сделать что-нибудь каждый день. Пусть это всего 20 минут кодинга, либо… twitter.com/i/web/status/9…
14:45Люди очень сильно склонный недооценивать небольшие инкрементальные изменения на протяжении длительных периодов времени.
14:47И в те моменты, когда ты не пишешь код, есть время подумать над тем что делать дальше. И вот это "подумать" у меня… twitter.com/i/web/status/9…
14:50Дольше всего в проекте живет код для сжатия данных. Я написал свое сжатие для time-series еще до того как была опуб… twitter.com/i/web/status/9…
15:03тупо использовали Gorilla paper с небольшими изменениями. Поэтому их алгоритм очень медленно работает (Gorilla это… twitter.com/i/web/status/9…
15:04Сам алгоритм описан вот здесь - docs.google.com/document/d/1yL…
Для тестирования я использовал фаззинг (american fuzzy lop… twitter.com/i/web/status/9…
15:11Я надеюсь рано или поздно перейти с AFL на libfuzzer, так как сейчас фаззинг очень медленный и долгий. Вот хорошая… twitter.com/i/web/status/9…
15:12Почему не стоит? Представьте, что существует такой input, который можно будет сжать и получить результат, который п… twitter.com/i/web/status/9…
15:16В общем, знайте, что если у человека есть миллиард открытого выдроченного софта в открытом домене или, не дай бог,… twitter.com/i/web/status/9…
Узнаю себя
mobile.twitter.com/vasilenkos/sta…
(на самом деле нет)
@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…
Я считаю, что в твиттер нельзя часто писать – это для здоровья опасно. Вот наш бывший губер @NikitaBelyh писал кажд… twitter.com/i/web/status/9…
10:53@backendsecret @Nattf0dd @it_poselok Не знаю когда найти момент спросить про результаты и в целом цели.
Цель писать код или делать продукты?
Конечно, делать продукты. В идеале, если бы они вообще без кода получались. Кстати, у многих так могут – например,… twitter.com/i/web/status/9…
10:56Давайте в комментариях к этому твиту поделимся стеком инструментов для разработки и отзывами к нему. Мы используем… twitter.com/i/web/status/9…
11:01Отзыв такой. Bitbucket – нейтрально, только аптайм иногда подводит. Jira вместе с аджайлом – страшновато по интерфе… twitter.com/i/web/status/9…
11:03@backendsecret @Atlassian Мы используем гитлаб, дропбокс пэпер и трелло, ни о чем не жалею
Гитлаб – это норм, серьезно? Я завтра передаю аккаунт нашей односельчанке Анастасии Власовой, в ее команде запарил… twitter.com/i/web/status/9…
11:06Our 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…
8:02Проблема Скалы, на мой взгляд, состоит в попытке усидеть на двух стульях: императивность и функциональность, сосуще… twitter.com/i/web/status/9…
11:48@backendsecret Типичный @backendsecret . Вчера критиковал ерлангистов, которые брызгали слюнями на haskell. Сегодня… twitter.com/i/web/status/9…
Это ещё что, я сейчас сам Хаскель ругать начну. Проникся комментами хейтеров. twitter.com/Odomontois/sta…
15:52Так вот, самый лучший функциональный язык — это, разумеется, Standard ML. Я с ним, к сожалению, поздно познакомился… twitter.com/i/web/status/9…
16:00Вообще всё семейство ML мне нравится (даже F#). Понимаете, это языки без претензий, языки для тех, кому ехать, а не… twitter.com/i/web/status/9…
16:02Посмотрите на объекты и классы Ocaml — вот так по-честному нужно делать ООП в функциональном стиле, а не то, что по… twitter.com/i/web/status/9…
16:05Система типов в ML-языках сложная, но не раздавливающе сложная, как в той же Скале или Хаскеле. Модули замечательны… twitter.com/i/web/status/9…
16:07@backendsecret > Ocaml тоже неплох.
ждем лайк
Это нам тут напоминают, что правильно писать OCaml, сейчас придёт бот и лайкнет твит с неправильным написанием. twitter.com/hmemcpy/status…
16:09@backendsecret Не думали в сторону перевода PFPL?
Речь о книге Боба Харпера Practical Foundations for Programming Languages. Во-первых, там нечего переводить, одни… twitter.com/i/web/status/9…
16:15Читайте «Типы в яыках программирования» Пирса, вот книжка для детей. Как раз бэкендерам пойдёт. newstar.rinet.ru/~goga/tapl/
16:16Причём я ни в коем случае никого не хотел обидеть, это действительно приятно читаемая книжка. Там лямбда-исчисление… twitter.com/i/web/status/9…
16:20Вполне возможно, что я бы какой-нибудь ML читал в университете, но случилось так: когда-то в далёком 2003 году (я т… twitter.com/i/web/status/9…
16:29Я тогда был страшно самоуверенный, заявил, что все языки одинаковые (основываясь на знании гигантского количества я… twitter.com/i/web/status/9…
16:30А что вы хотите? Провинциальный вуз, я и слов-то таких как функциональное программирование никогда не слышал. Тольк… twitter.com/i/web/status/9…
16:32SICP надо читать, хоть над ним в лурке смеются. Первые три главы уж точно, дальше необязательно. Но вот языки семей… twitter.com/i/web/status/9…
16:37@backendsecret Если кто хочет почитать SICP, рекомендую вот этот модернизированный PDF с хорошей типографией github.com/sarabander/sic…
Но есть и на русском: newstar.rinet.ru/~goga/sicp/
Спасибо, кстати, @gogabr за перевод! А ещё он Окасаки переводил и то… twitter.com/i/web/status/9…
16:45Это правда. Но решается простыми рекомендациями к стилю кода. И в той или иной степени (обычно меньшей) есть и в др… twitter.com/i/web/status/9…
Рекомендации к стилю кода редко работают. К тоже же обычно есть противоречивые рекомендации. Но вообще это старый с… twitter.com/i/web/status/9…
16:49@backendsecret Пссс, про ruby чё-нить слышал?
Ruby — это, конечно, ужас. У нас форум факультетский на Discourse, который на Ruby написан, иногда приходится внутр… twitter.com/i/web/status/9…
16:54Зря про Ruby написал, да? Ну ок. Вы ж имейте в виду, что я вообще чушь несу, тут народ отписывается целыми коммьюнити и ничего!
17:02Слушайте, а эти ребята токсичные. Я всех люблю, на самом деле. Даже рубистов!
17:07@backendsecret Страшным образом для тебя - это в vim? :D
Оскорблять пытаются. Я с вимом с 1997 года знаком, с первого курса. У нас в дисплейном классе по Enter'у на pas-фай… twitter.com/i/web/status/9…
17:19Вы же поймите. у меня просто интересы другие! Вам нужно что-то запрограммировать. Желательно быстро, чтобы работало… twitter.com/i/web/status/9…
17:27Только он как язык скучный, там вообще ничего интересного нет! Как представлю, что мне пришлось бы Ruby преподавать… twitter.com/i/web/status/9…
17:28Вот Javascript, кстати, я за ним с 2000 года наблюдаю. Он же прикольный! О, это чудесная объектная модель на протот… twitter.com/i/web/status/9…
17:34@backendsecret А может лучше работать и ебашить фичи,а не искать всю жизнь лучший язык программирования, читать тео… twitter.com/i/web/status/9…
Может, и лучше. Просто у меня другая профессия. Все эти работники, создающие фичи, ведь не с потолка берутся. Хотя,… twitter.com/i/web/status/9…
17:42@backendsecret Если вкратце, там синтаксис как в js, но система типов от ocaml. Это все к тому, что ML подобный син… twitter.com/i/web/status/9…
Про ReasonML twitter.com/somerandstring…
17:46Я не знаю. Может, кто что посоветует? twitter.com/mtrklb/status/…
17:51@backendsecret Давай про Хаскель ближе к земле.
Чем и как либы/зависимости устанавливают? Кабалы эти ваши и вот это… twitter.com/i/web/status/9…
Есть два инструмента: stack и cabal. Они оба работают. Stack ориентируется на относительно небольшой (~2600) набор… twitter.com/i/web/status/9…
18:00Если ничего экзотического не требуется, то оба инструмента работают приемлемо, они оба сейчас активно развиваются,… twitter.com/i/web/status/9…
18:02Для подключения C-библиотек используется FFI — Foreign Function Interface, там нужно поработать над соответствием т… twitter.com/i/web/status/9…
18:03Сейчас в cabal делают новый интерфейс, постепенно переводя его на nix-рельсы. Пока сыро, но пользоваться уже можно.… twitter.com/i/web/status/9…
18:07Рубисты, прекращайте! Увидели, что докладчик идиот — всё, пошли дальше.
18:09@backendsecret Твиттер - инструмент для рассмотрения и ведения конфликтов. Ты просто убегаешь от них. В текущем слу… twitter.com/i/web/status/9…
Так я честно говорю: компетенции никакой у меня нет! Это к кураторам: позвали какого-то лоха из провинции с экзотич… twitter.com/i/web/status/9…
18:17@alcotaran @backendsecret Большинство проблем, которые приходится решать,никак не связано с языком, на котором прих… twitter.com/i/web/status/9…
Счастье не наступит. Но вообще ясно же, что сложные задачи на любом языке сложно решать. И в Хаскеле с этим придётс… twitter.com/i/web/status/9…
18:23@backendsecret про руби вы просто из функционального лагеря, а красота руби в ооп. я ненавидел ооп когда писал на п… twitter.com/i/web/status/9…
Рад за рубистов! twitter.com/oleg_antonyan/…
18:32@backendsecret Не совсем. Сложные задачи на kotlin просто решать
Про Kotlin не буду писать, а то на меня в JetBrains обидятся, а они хорошие, пользу отечественному образованию боль… twitter.com/i/web/status/9…
18:55Idris — прекрасный язык. Очень полезно для самообразования, книжка отличная от автора языка есть (… twitter.com/i/web/status/9…
19:03@backendsecret С такого комментария уже можно обидиться - "не буду писать". Если обратная связь конструктивна, чего обижаться.
Это шутка была! Я люблю JetBrains! Kotlin — лучший в мире язык программирования! Ещё у него архитектор замечательны… twitter.com/i/web/status/9…
19:09Ладно. Все поняли, что в языках программирования я ничего не понимаю, и хорошо. Пойду отсюда, пока ещё кого-нибудь… twitter.com/i/web/status/9…
19:12Неделя треша с новым автором @backendsecretвсе меньше понимаю связь авторов с тематикой проекта...
Не могу не отретвитить на широкую аудиторию, но заявление по собственному желанию писать не буду! twitter.com/devilish_flux/…
19:45Есть интересная классификация степени понимания области.
1:21Карго-культисты -- они даже не специалисты.
Хорошие специалисты в области agile нередки в индустрии, вполне вероятн… twitter.com/i/web/status/9…
Мастеров я пока не видел и сам им не являюсь, у меня в программировании-то интуиция начала появляться дай боги если 5 лет назад.
1:24Но зуб даю, любому опытному человеку дай любую Святыню agile'а и он обязательно вспомнит или сгенерирует пример, ко… twitter.com/i/web/status/9…
1:27@backendsecret Кагбэ да, однако так ли легко бизнесовые требования замоделировать без глобального разделяемого сост… twitter.com/i/web/status/9…
> так ли легко бизнесовые требования замоделировать без глобального разделяемого состояния?
А я и не говорил, что… twitter.com/i/web/status/9…
10:13@backendsecret И получается дешевле (по деньгам и срокам) сделать спагетти с глобальным стейтом, чем раскладывать в… twitter.com/i/web/status/9…
Опять же, всё зависит от проекта.
Если это проект, который изначально задуман как времянка, и его нужно сделать ка… twitter.com/i/web/status/9…
10:52@backendsecret Беда в том, что 4 стейкхолдера собравшись на митинг всё равно опишут только 20-50%% очевидных кейсов… twitter.com/i/web/status/9…
> И пойдешь все свои строгие типы на корню переделывать после первого столкновения с реальностью.
Вполне возможно.… twitter.com/i/web/status/9…
10:58Топишь за язык, будь добр оправдывайся и за IDE. Или зачем вы тут вообще? twitter.com/backendsecret/…
> Или зачем вы тут вообще?
Рассказывать об использовании языка. А не оправдываться за то, что для него нет каких-т… twitter.com/i/web/status/9…
11:32@backendsecret Поставим вопрос по другому :)
Есть ли ограничения или сложности в практическом (как оперативном, так… twitter.com/i/web/status/9…
> Есть ли ограничения или сложности в практическом ... использовании ФП с различными методологиями: MSF, RUP, гибки… twitter.com/i/web/status/9…
12:06@backendsecret раз уж об отличиях - известна в мире хоть одна хаскеллист-женщина? (никакого сексизма! чистый интерес)))
Да. И не одна. Например, вот доклад "Haskell is Not For Production and Other Tales" (youtube.com/watch?v=mlTO51…). Он о… twitter.com/i/web/status/9…
12:13@backendsecret Недавно вышла хорошая книжка pragprog.com/book/swdddf/do…. Читается на одном дыхании, как по теме моделир… twitter.com/i/web/status/9…13:38
А вот, кстати, ещё одна прекрасная представительница хаскелистов: youtube.com/watch?v=B19WKs…. Рассказывает о реалиях п… twitter.com/i/web/status/9…
14:11@backendsecret отлично. Кстати, смотрели в сторону ЯП Swift? Видно, что его делали с оглядкой на ФП. Есть и высшие… twitter.com/i/web/status/9…
Да, Swift впитал в себя дух ФП, это видно даже в синтаксисе. Но сам я не работал с этим языком, поэтому прокомменти… twitter.com/i/web/status/9…
14:16@backendsecret боюсь пробовать хаскелл именно потому что в докладах всё ахриненно круто, а в жизни столкнусь с труд… twitter.com/i/web/status/9…
> в жизни столкнусь с трудностями
Конечно столкнёшься! Да, ФП помогает избежать многих проблем, но не всех. И на H… twitter.com/i/web/status/9…
14:45Но по своему опыту могу сказать: столкновение с трудностями помогло мне снять розовые очки, но ничуть не оттолкнуло меня от ФП-парадигмы.
14:50@backendsecret Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.
Н… twitter.com/i/web/status/9…
> Реквестирую трудностей - первый пример с Хаскель-кодом хорошо зашёл, но монады в нём зашли похуже.
Монады - это… twitter.com/i/web/status/9…
15:00"Всякий раз, когда кто-то называет функциональный объект функтором, где-то в мире умирает математик..." (C)
К чему… twitter.com/i/web/status/9…
15:43@backendsecret Да функтор это жеж прост класс в си-крестах с перегруженными круглыми скобками.
Ну или лямбда там.… twitter.com/i/web/status/9…
НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ! Зачем, зачем ты сделал это?! Ведь только что ещё один представитель математического сообществ… twitter.com/i/web/status/9…
16:13@backendsecret Ну если я аппликацию на хомяках и орешках под бутылочку стаута смог объяснить, то и монады с каким-нибудь зельем смогу17:01
@backendsecret Я правилно понял, что монада, это интерфейс, с правилами реализации, для которого есть синтаксический сахар в haskel?
Не спрашивайте, пожалуйста. Объяснение будет позже. Если я решусь на это. И не могу обещать, что решусь-таки... :-) twitter.com/zysyg/status/9…
17:02@skv_nskv @backendsecret Вот тут то типы и нужны, можно понять, что чепуха получается, пока ещё тонны кода не написаны.
Золотые слова! twitter.com/qnikst/status/…
18:51@backendsecret Наша дружная команда очень нуждается в PHP разработчике (уровень middle)
по уровню , по ключевым на… twitter.com/i/web/status/9…
Спрашивать о PHP-разработчике на Haskell-неделе... Это похоже на подкол. :-) twitter.com/abystrova1/sta…
18:52Друзья! В один инновационный проект, а именно "Лига ЖКХ" требуются программисты. PHP, PostgreSQL и вот это вот все.… twitter.com/i/web/status/9…20:36
@backendsecret Денис, а что скажете про TDD и Haskell есть ли профит от такого союза?
TDD - это ведь Type Driven Development, верно? От такого союза самый что ни на есть профит! :-)
Если же под TDD по… twitter.com/i/web/status/9…
22:02@backendsecret @ditansu На самом деле паттерны программирования в Haskell есть. Но это скорей здравый смысл и часто… twitter.com/i/web/status/9…23:27
Ну что, отдохнули от монад?
15:06Как я пытаюсь изучать хаскель coub.com/view/13ka5l15:27
Ну раз отдохнули...
15:31is.gd/4qRRRy Функциональное программирование - Ярон Мински, Анил Мадхавапедди и Джейсон Хикки - Программ… twitter.com/i/web/status/9…
15:31Функциональное программирование - Ричард Уорбэртон - Java 8 Lambdas: Functional Programming for the Masses / Лямбда… twitter.com/i/web/status/9…
15:32[Computer Science Center] Функциональное программирование на языке Haskel [2015, RUS] is.gd/W9CVQb видео
15:37Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2013 год [2014, PDF/DjVu, RUS] is.gd/4ysopT
15:37Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2012 год [2013, PDF/DjVu, RUS] is.gd/QVDOYy
15:37Душкин Р.В. - Альманах Конкурсы по функциональному программированию за 2011 год [2012, PDF/DjVu, RUS] is.gd/eo92jJ
15:37ищу разработчика Python в #Таганрог (#Краснодар или #Ростов или ещё где тоже устроит) как-раз за такие деньги. Ау?!! twitter.com/belliht/status…15:42
Городняя Л. В. - Основы функционального программирования [2004, PDF, RUS] is.gd/u4HLgN
15:44Мартин Одерски - Принципы функционального программирования на языке Scala / Functional Programming Principles in Sc… twitter.com/i/web/status/9…
15:50Функциональное программирование - Бёрд Р. - Жемчужины проектирования алгоритмов. Функциональный подход [2013, PDF,… twitter.com/i/web/status/9…
15:50[TechDays] Практическое функциональное программирование на F# от облачного- и веб-программирования до телефона и иг… twitter.com/i/web/status/9…
15:50[CompSciCenter.ru / lektorium.tv] Функциональное программирование (Haskell) [2012, RUS] is.gd/EZOtha видео
16:21Сошников Д. - Функциональное программирование на F# [2011, PDF, RUS] is.gd/GIsjyx
16:21Больше не буду. Профессор по ФП возмущается пиратским книжкам.
16:21А может у вас есть вакансии? Давайте, поретвичу!
16:45@backendsecret если можно, спасибо twitter.com/GosuAi/status/…17:07
@backendsecret Мы вот в Гамбург сисадмина ищем innogames.com/ru/innogames-r…17:07Помогают с переездом, команда дружная, работы море.
@limmopony @backendsecret Насколько я знаю если образование не по ирженерной специальности, могут быть проблемы с в… twitter.com/i/web/status/9…3:00
LINE ищет финансистов/менеджеров для работы в сфере криптовалют (не IT). Японский не значится в списке скилов, но… twitter.com/i/web/status/9…5:31
Как я и говорил. Прямо из гайдбука подачи на гранты для молодых исследователей от JSPS (японское сообщество продвиж… twitter.com/i/web/status/9…
8:10@backendsecret Изначально канал для бекендеров и иже с ними. И я бы хотел все причастных поздравить с неофициальным… twitter.com/i/web/status/9…8:33
Как и обещал, продолжаю вещать!
Клавиатурное хобби может показаться очень странным человеку извне, но даже в нем е… twitter.com/i/web/status/9…
9:19Мне не нравится вариант перевода с "кустарными" клавишами, поскольку на самом деле по-настоящему профессиональные р… twitter.com/i/web/status/9…
9:23Так что же все-таки представляют с собой артизаны? Допустим вам нравится ваша клавиатура, а так же вам очень нравят… twitter.com/i/web/status/9…
9:26Именно с роботов пошли одни из первых артизанов, Bro Caps, кейкапы назывались Brobot wiki.geekhack.org/index.php?titl… (фото… twitter.com/i/web/status/9…
9:30А дорогие они потому что это ручная работа сделанная фактически в одном экземпляре. Сами авторы как правило не прод… twitter.com/i/web/status/9…
9:31Чтобы понять почему они так дорого стоят даже до перепродажи, советую посмотреть это видео youtube.com/watch?v=QOiyyR…
9:35Это более-менее полный вариант отливки кастомных кейкапов. Вот только одно но, сетап на видео + материалы стоит от… twitter.com/i/web/status/9…
9:35Если вкратце, то процесс происходит так:
1) Отливаете силиконовую форму для вашей клавиши
2) Смешиваете жидкий пла… twitter.com/i/web/status/9…
Проблема в том что многие экономят на камерах и в итоге используют китайские аналоги (или еще хуже – китайские паро… twitter.com/i/web/status/9…
9:43Но! Если вы набьете руку, то можно вытворять абсолютно крутые, даже сумасшедшие вещи. Яркий пример – мои друзья из… twitter.com/i/web/status/9…
9:53По примерной оценке авторов на одну такую клавишу уходит до 8-10 часов работы
9:54Я в свое время делал только простейшие даблшоты, но никогда их не продавал тк качество было так себе pic.twitter.com/44otuM8TZz
10:01Из по-настоящему крутых артизанов могу назвать:
KeyKollectiv
Booper
Binge (Hunger Work Studio)
Bro Caps
Doom caps… twitter.com/i/web/status/9…
На этом бизнесе, правда, шибко не заработаешь, особенно если вы делаете у себя на дому. Некоторые из артизанов это… twitter.com/i/web/status/9…
10:24Но в этом нет ничего плохого. Наоборот, автоматизация экономит время. Например Binge убухал кучу денег чтобы создат… twitter.com/i/web/status/9…
10:28купить его можно тут techkeys.us/products/synth
10:29Однако не ожидал что мои рассказы про клавиатуры будут пользоваться такой популярностью. Хотите расскажу как дизайн… twitter.com/i/web/status/9…
11:55@backendsecret А как дела с шумом от них в опенспейсе? Оч хочу перейти, но боюсь, что:
Я сижу в лаборатории из 30 студентов, 20 из них на механике. Проблем не замечал twitter.com/zobninatn/stat…
12:04# Четверг 348 твитов
Судя по “многочисленным” ответам тут мало кто занимается работой на низком уровне, а следовательно большими нагрузками. Поднимаемся выше!
8:18Кто использует в работе какие фреймворки или CMS-ки? Какие бд? Мускул? Постгря? Монга? Redis-ка? Эластик-серч? Мемкеш?
8:20@backendsecret только Plack, только Postgre, только хардкор! Ну и Redis еще8:22
@backendsecret нода, монго и редис8:25
@backendsecret так о ликах или о тредах тема? Вещи весьма себе перпендикулярные :)8:26
Использование тредов или асинхронности, @ivanenok, влечет за собой проблемы ликов и дебага. То есть вопрос про фактическую работу.
8:28@backendsecret в managed окружениях типа JVM и .NET с памятью все просто, треды за тобой чистят, но нужен тюнинг иногда.8:39
@backendsecret дебаг многопоточности еще тот геммор и потому предпочтительно тратить больше времени на проектирование.8:44
Странный тезис, @ivanenok! Программируете сначала на доске/бумаге? Я слышал про подобные собеседования в гугле.
8:46@backendsecret само окружение жрет память, но под задачи типа Hello World, нужно брать подходящие инструменты типа пыхи, ноды и тд :)8:47
@backendsecret орякль9:06
И как впечатления, @Chudesnov?
9:07@backendsecret @ivanenok подстрелить соломки в местах всяких рейс-кондишенов на этапе проектирования это всегда хорошо. И доска тут непричем9:07
@imdefined @backendsecret я больше о проектировании. типа какие данные шарятся, что с этим делать и как минимизировать сваливание в кернел.9:07
@backendsecret для дебага использую лимитированные очереди везде, где можно. вместо ликов - режекты.9:08
Поясни про лимитированные очереди, @Borovikov. У нас (перл) нет такого понятия.
9:08@backendsecret RethinkDB9:09
Про него слышал только название мельком, @freiksenet_ru. Про что эта история?
9:10@backendsecret любая асинхронная задача выполняется через пул потоков, задачи кидаются вначале в очередь, а пул разгребает.9:10
Это знакомо и есть аналоги, @Borovikov. И?
9:11@backendsecret если эту очередь выбрать ограниченной, то при попытке засабмитить слишком много тасков получаем эксепшен9:17
@backendsecret получается fail fast, и смотрим какой метод пытается переполнить пул и ищем проблему в нем.9:17
@backendsecret ситуации там как правило типовые, например таски создаются в цикле. или забыли дожидаться окончания тяжелого вызова.9:17
@backendsecret Язык запросов интересный, сериализуется и выполняется на сервере.9:19
@backendsecret node, mongo, redis, postgress, lua9:20
@backendsecret Rails + Postgres + Redis + Memcached + Sidekiq9:20
@backendsecret ты может и код первый день пишешь? @bytecheg9:25
@backendsecret сначала прочитал "В БД" :) Как обычно: любые, требующие много времени и/или надежности. Например, публикация в соцсети.9:33
Очень интересно, @bytecheg! Я так понимаю она на тоже на рубях написана и имеет развесистый интерфейс функций?
9:34@backendsecret Да, ruby. Функции: разные очереди с разными приоритетами, retry провалившихся задач,web-интерфейс для управления и статистики9:38
Кроновский эмулятор, @bytecheg, должен быть по идее. Не пробовали все периодические задачи на sidekiq пересадить?
9:39@backendsecret 1/2 это не совсем крон. Крон только по времени отрабатывает. А в sidekiq можно кидать задачи прямо из приложения, что удобно.9:41
Я понимаю, @bytecheg. Сталкивался с аналогичными решениями для питона и перла. Мне интересна возможность отказаться от крона. Пробовали?
9:42@backendsecret для ruby есть clockwork - легковесный ruby-процесс,аналог cron'а.Он и секунды поддерживает, и приложение загружать не надо.9:46
@backendsecret Mongo, NodeJS, SailsJS, Redis на сервере9:54
@backendsecret раз уж пошла такая пьянка: Расскажите, сталкивались ли вы с хранением в БД данных весом в 5Тб и больше? Какая БД была?11:38
Да, есть такая попаболь, @lopinopulos. У нас десятки миллионов мелких файлов на огромные тб. Живём на go + aerospike.
11:40Решение по стореджу, @lopinopulos, готовил facebook.com/profile.php?id…. Стукнитесь к нему, - он расскажет много чего интересного!
12:12@backendsecret Perl, Catalyst, Mojolicious, Postgres, MongoDB, Redis, memcached. Ansible, Docker.12:20
@backendsecret @bytecheg для sidekiq есть sidetiq, github.com/tobiassvn/side…12:27
@Bugagazavr @backendsecret супер, спасибо! А кто там следит за временем? Они встраиваются в процесс самого сайдкика или что?12:49
@bytecheg @backendsecret да, оно встраивается в сам процесс sidekiq12:49
У кого какие сисадмины? Добрые и помогающие? Заносчивые и вечно спрашивающие “Тикет есть?” Параноидальные? Участвуют ли в вашей разработке?
15:13@backendsecret тикет есть? :)15:52
@backendsecret вот это интересно, что в k8s никто ничего персистентного не держит теперь... А цены на DBaaS кусаются!
Ты можешь настроить кубернетис для баз, есть много решений для этого готовых и есть крупные компании которые так де… twitter.com/i/web/status/9…
0:07Кубернетис самый шустрый и живой опен сорсе проэкт который я видел, там есть очеред на мерджи в мастер, супер сложн… twitter.com/i/web/status/9…
0:12Если писать PR не кубернетис а в его модули типо autoscaling то вообще за день могут посмотреть и замерджить код.
0:13Все ровно есть иногда баги даже там, сегодня поймал такой в кластере, пошол искать по гитхабу, нашел что починили у… twitter.com/i/web/status/9…
0:15@backendsecret А для локального девелопмента какой оркестратор используете? Minikube?
У разрабочиков каждый кто что хочет локально. Большинство или просто поднимают по 2-3 сервиса руками, если надо бол… twitter.com/i/web/status/9…
3:32@backendsecret А почему aws, а не gcloud (или вообще 3rd party bare metall), хотя бы для CI/CD? Они же дешевле
Aws историческая причини
Другие можно прикрутить но бфдет содержать накладно потому что другие конфиги twitter.com/dpoddubny/stat…
@backendsecret Если во время билда нужна база (разогреть кэш), это норм, или что то не так с архитектурой?
Во время докер билд не нужна база, это немного анти патерн twitter.com/dpoddubny/stat…
8:25Поговорим про Израильский high tech. Тут индустрия сильная даже по мировым рынкам. Был на конференции амазона в вег… twitter.com/i/web/status/9…
9:55Израильские компании можно делить на 3 вида
10:00Второй вид.
Компании которые выросли из стартопов и не продались, примерно от 100-500 человек. Часть из них прибылн… twitter.com/i/web/status/9…
Третий вид.
Крупные международные компании у которых есть офис в израиле или они израильские.
Facebook, google, che… twitter.com/i/web/status/9…
Работы разработчикам хватает, есть последнии несколько лет есть серьезная нехватка инженеров. Это отражается в зарп… twitter.com/i/web/status/9…
10:10Есть компании которые открыли офисы свои в Украине или даже несколько.
Почему именно эти страны? Близость, отсутств… twitter.com/i/web/status/9…
Последний шик Израиского high tech. Новое здание в центре тель авива.Сьем офиса наверно очень дорогой. Там амазон с… twitter.com/i/web/status/9…
10:15Пример израильские компании в high tech
10:21У многих компаний в Израиле есть офисы в Америке, обычно это sales или "HQ" чтоб было легче деньги собирать.
10:25@backendsecret чем программист-еврей оличается от программиста-русского?
Не чем. И у тех и у тех 10 пальцев и одно голова. twitter.com/slesh93/status…
10:26В Израильском high tech большой процент русско говорящих. В любой компании выше 5 человек будет кто то кто знает русский.
10:30Переписка внутри компании или наружи прянето на английском. Часть потому что есть офисы не в Израиле, часть потому… twitter.com/i/web/status/9…
10:35Потому что много success story, типо продаж стартапов ща милионы долларов. Есть куча людей которые думают что они м… twitter.com/i/web/status/9…
10:44@backendsecret Стартапы это хорошо, у меня есть крутая идея. Grammarly для русского языка, думаете взлетит?
Наверно :) только если будет работать на мобильных twitter.com/otakahuynyaa/s…
10:48Есть много компаний который занимаются информационной безопасностью. Тут принето модно слово для них "cyber". У час… twitter.com/i/web/status/9…
10:51Все эти компании Cyber обычно крутят большие деньги. Они работают как страховые компании, пугают что в интернете ес… twitter.com/i/web/status/9…
10:54@backendsecret Что ты думаешь о portnox.com
Без понятия, первый раз вижу twitter.com/L0ndra_/status…
11:01@backendsecret А в какой индустрии Израиля их мало? :))
Такситы, там их мало twitter.com/vlazarenko/sta…
11:09Знаешь как сделать docker image с rails + pg client + ubuntu чтою было меньше чем 700-900мега? twitter.com/maksfromspb/st…
11:45Как у вас работат CI E2E?
12:18@backendsecret Я в феврале прошлого года из 10 взятых такси в Тель Авиве поймал только одно, в котором был израильт… twitter.com/i/web/status/9…
где вы ловите? я на такси ездию примерно 3 раза в неделю нет и их мало twitter.com/vlazarenko/sta…
12:38@backendsecret А расскажите, пожалуйста, как проводите миграции в pg? Используете ли какие-то тулзы?
Мы взяли и переписали goose, назвали swan.Там он умеет смотреть на sql и говорить разработчику что миграция плохая… twitter.com/i/web/status/9…
16:40В тяжелых случаях делают миграции брут форсом. То есть обрывают конекшины в базу гоняют миграции за секунды и возра… twitter.com/i/web/status/9…
16:42Судя по опросу у малого количество людей CI e2e работает на ура. И это понятно, оказывается набрать команнду, напис… twitter.com/i/web/status/9…
16:46@backendsecret У нас в @neoscms @DXTestCafe работает на ура в CI на Travis.
E2E или юнит тесты? twitter.com/dimaip/status/…
18:33@backendsecret Миниатюры проще генерить на лету с кешированием через nginx + image_filter или гошными тулзами. Зара… twitter.com/i/web/status/9…
Это когда media хранится у тебя (или гоняется через тебя). Но взять S3-alike сторадж проще в обслуживании, имхо. Пр… twitter.com/i/web/status/9…
9:47@backendsecret Мы тут совместно уютным чатиком написали FAQ для заинтересованных github.com/amureki/django…9:49
@salikhov @backendsecret И после этого какой-то умник натравит скрипт в цикле запрашивающий размеры с изменением в… twitter.com/i/web/status/9…
А другой умник при тех же затратах пойдёт плодить сущности через ваше REST API. Абузить можно много чего.
Также ко… twitter.com/i/web/status/9…
10:05Django ORM. Действительно очень прагматичная штука. Селекты с джойнами ей даются очень легко. Immutable и lazy quer… twitter.com/i/web/status/9…
10:22Надо ко всем запросам приджойнить FK? Не вопрос, в модельку пихаешь менеджер, который модифицирует дефолтный QS (se… twitter.com/i/web/status/9…
10:22Надо отпагинировать ответ? BasePagination принимает QS и нарезает его лимитами-оффсетами как угодно (постранично, к… twitter.com/i/web/status/9…
10:22Тут следствие: Django без её ORM юзать в принципе можно, но вы не сможете использовать практически ничего из неё: а… twitter.com/i/web/status/9…
10:22В любой момент можно скатиться до сырого SQL. Причём в двух вариантах: "низкоуровневый" для записи и обернутый в Ra… twitter.com/i/web/status/9…
10:22Модельки можно наследовать. Например, один раз мы закодили модерацию, и теперь просто подмешиваем её модельку/сериа… twitter.com/i/web/status/9…
10:22Неадекватные запросы (лично у меня) бывают только для монстров с GROUP BY. И то по тестам сразу становится понятно,… twitter.com/i/web/status/9…
10:22DELETE/INSERT испортить сложно :).
Есть bulk_create для одного INSERT с кучей VALUES.
Но нет постгресовского ON CO… twitter.com/i/web/status/9…
Есть сигналы: чтобы после сохранения сущности можно было что-то сделать: счётчики пересчитать, имейл отправить и т.… twitter.com/i/web/status/9…
10:22Проблема с сигналами в том, что для запросов по нескольким строкам они не вызываются. Например, для bulk_create и д… twitter.com/i/web/status/9…
10:22Есть и ряд других нюансов в угоду прагматичности, расстраивающих DBA и перфекционистов:
10:222. Те самые choices (как SQL enum), о которых я вчера писал, на самом деле хранятся как varchar, а не как enum. Воз… twitter.com/i/web/status/9…
10:223. Валидаторы не переносятся в constraints бд. Даже такие простые как choices и min/max. И при ретриве из бд объект… twitter.com/i/web/status/9…
10:224. Перед сохранением при валидации проще сделать несколько селектов и сформировать ошибки, чем сразу пытаться сохра… twitter.com/i/web/status/9…
10:22@backendsecret привет! А можешь заретвитить вакансию плз, возможно кто-то из читателей мечтает писать на Elixir в большом проекте.
Aviasales twitter.com/fliptheweb/sta…
11:18Django + DRF tests. Тестраннер из коробки адекватный (но докинуть pytest + линтер стоит).
Кто-то может удивиться, н… twitter.com/i/web/status/9…
Теоретически, нормальные unit тесты (работающие <1 сек) можно получить, если заморочиться с моками кучи джанговской… twitter.com/i/web/status/9…
12:10Но на практике [нам] это не сильно мешает. Приложение разбито на мелкие аппы. Тесты аппа, в свою очередь, на отдель… twitter.com/i/web/status/9…
12:10С другой стороны, писать такие пухлые тесты кажется прагматично: при апгрейдах помогает.
12:10С HTTP запросами в тестах проблема решается с помощью vcrpy (аналог рубишного vcr): при первом запуске HTTP запросы… twitter.com/i/web/status/9…
12:10К вопросу о необходимости тестов и о покрытии, скажу так: непокрытое кусает за задницу в самый неподходящий момент.… twitter.com/i/web/status/9…
12:10Переходим к фронту. Хочу обсудить с вами хипстерский тренд: пихание SPA во все щели вместо обычных HTML шаблонов на… twitter.com/i/web/status/9…
17:08Если коротко: на SPA проще и быстрее делать модный фронт, меньше дублирования кода на бэке (API всё равно надо). Но… twitter.com/i/web/status/9…
17:08(+) Удобнее сборка. Не надо думать, как втащить в ваш бэкенд coffeescript/uglifier/sass/yui, а потом – oh SHI💩 – вы… twitter.com/i/web/status/9…
17:08Во фронте всё меняется быстрее, чем на бэке. У нас уже давно evergreen браузеры. Место IE уже успел занять Safari.… twitter.com/i/web/status/9…
17:08(+) Компоненты дают удобную структуру: вёрстка и стили рядом с логикой, реюзаются хорошо, BEM не нужен (простите).
17:08(+) Управление состоянием в шаблоне это сложно. Сделать интерактивную загрузку аватарки так, чтобы она сразу везде… twitter.com/i/web/status/9…
17:08С реакт-редуксом такой проблемы в принципе нет, т.к. источник правды один, и он всегда актуально выведен в отображение.
17:08Для ангуляра это *частично* тоже корректно, но не совсем: типично данные из HTTP запросов один раз стекаются в шабл… twitter.com/i/web/status/9…
17:08(+) Навигация быстрее, интеракция быстрее => UX лучше (при прочих равных).
17:08(-) Нужна куча инфраструктуры вокруг. SPA без SSR грузится заметно дольше, чем шаблоны. А SSR это сразу nodejs в прод тащить надо.
17:08Нельзя просто так взять вебпаковый фронт, собрать dist и задеплоить его в 2 разных окружения: CDN/API урлы и прочие… twitter.com/i/web/status/9…
17:08(-) Типичный SSR из коробки возвращает на любой запрос http status 200. Редиректов нет. Еретики!
(справедливости ра… twitter.com/i/web/status/9…
(-) Поддерживать древние браузеры сложнее. С SSR прочитать сайт смогут все (пренебрежём поехавшей вёрсткой на IE8),… twitter.com/i/web/status/9…
17:08(-) При перегрузах API сервера SPA фронт практически ни на один запрос не выдаст адекватный ответ: для рендеринга н… twitter.com/i/web/status/9…
17:08(-) Требуется решать проблему с пробросом загруженных в SSR данных до аппа в браузере. В реакт-редуксе замечал 2 гл… twitter.com/i/web/status/9…
17:08(-) Иногда очень сложно сделать выбор. react/preact? redux/mobx? cssmodules/CSSinJS? (в Ангуляре с этим сильно прощ… twitter.com/i/web/status/9…
17:08(-) i18n на бэке и на фронте разный. Тексты лежат в разных местах и иногда дублируются. Правила плюрализации могут отличаться.
17:08(-) Появляется проблема показа-сокрытия доступных кнопочек-формочек. Из REST апи просто так эту информацию не всегд… twitter.com/i/web/status/9…
17:08Да ещё и кнопочки эти надо для каждого объекта из длинного списка рисовать. Без замусоривания сущности флагами дост… twitter.com/i/web/status/9…
17:08(-) Есть клиенты, у которых одна версия SPA во вкладке живёт больше суток. Даже если этот SPA – единственный консью… twitter.com/i/web/status/9…
17:08(*) Ни один вариант не решает проблему дублирования логики (валидации, подсчёта символов в твите).
Ну, тут всё зави… twitter.com/i/web/status/9…
*нет, не предлагайте мне писать API на nodejs в монорепе, оно того не стоит*
17:08В общем: шо то говно, шо это говно, и обе эти … ну вы поняли.
17:08@backendsecret Trello просто периодически просит перезагрузить страницу
Jira великолепно проблему устаревания кода фронта решает (правда, там не SPA): хочешь видеть свежий бэклог во время… twitter.com/i/web/status/9…
18:17А todoist (реакт) вытаскивает такую кнопочку в контекстное меню: pic.twitter.com/2VgxM4lPag
18:17@AstarothAst @backendsecret Ну и вообще, все эти «идеальные кодеры» на скрамах обычно ведут себя как полные мудаки,… twitter.com/i/web/status/9…11:01
Не могут утихнуть споры о бизнесе, а я предлагаю поговорить о интервью.
Я вам сейчас накидаю супер золотоплатиновы… twitter.com/i/web/status/9…
Правило 1: перед тем как интервьюировать человека, подумайте о том что он будет делать и задавайте вопросы конкретн… twitter.com/i/web/status/9…
11:08Если вы спрашиваете алгоритмы, то вы либо идиот который не знает зачем он задает вопрос, либо вы Гугл и у вас прост… twitter.com/i/web/status/9…
11:12Был случай: знакомый решил спрашивать на интервью вещи которые он недавно прочитал в книге по ЯП и которые он до эт… twitter.com/i/web/status/9…
11:17@backendsecret Хосспади, ну хоть один нормальный человек! как упрутся в эти алгоритмы, и все, хоть стой, хоть падай… twitter.com/i/web/status/9…11:18
Можно задавать разные теоретические вопросы, но лучше всего делать это на скрининге, где вопросы будут простые, про… twitter.com/i/web/status/9…
11:20А в остальных случаях пишите код! Разве это не то чем вы будете заниматься? Сядьте рядом, посмотрите как кандидат п… twitter.com/i/web/status/9…
11:34@backendsecret А чем писать небольшой классический алгоритм с *нюансом* плох (судя по предыдущему твиту про вредность знания алгоритмов)?
Так а на какой вопрос вы хотите ответить такой задачкой? Может есть вопрос получше на который можно ответить? twitter.com/cybran111/stat…
11:48@backendsecret Та ладно. Как один из фильтров вполне годный. Необязательно спрашивать угар E задач первого дивизион… twitter.com/i/web/status/9…
Окей, если совсем не может, то да, заржавел. Но сравнивать за какое время кандидаты развернут дерево – не правильно… twitter.com/i/web/status/9…
11:50То есть если человек решает задачу с алгоритмом это нам мало что о нем говорит. Если не решает или решает медленно,… twitter.com/i/web/status/9…
11:51@AstarothAst @mtrklb @backendsecret А О-нотацию знать?
О-нотация это удобно. Хотя если человек не знает конкретно нотацию, то можно узнать понимает ли он принципы и научи… twitter.com/i/web/status/9…
11:54@backendsecret Навыки реализации конкретных алгоритмов дают представление о сложности алгоритмов, знакомят с вполне… twitter.com/i/web/status/9…
Кстати, спрашивать по структурам данных обычно очень интересно. Но опять же, спрашивать стоит в рамках практических… twitter.com/i/web/status/9…
11:55Это идеальный случай. Ну то есть здорово было бы нанимать только таких людей. Но по факту большая часть из этих реб… twitter.com/i/web/status/9…
12:19@backendsecret Перефразирую твит выше: посмотреть, как кандидат пишет код, обсудить идеи, посмотреть, как он думает… twitter.com/i/web/status/9…12:20
Самурай без меча во всем подобен самураю с мечем, только без меча. twitter.com/mtrklb/status/…
12:21@mazur_igor @backendsecret Развернуть дерево что бы что?
Вот это правильный вопрос. twitter.com/Rashid80/statu…
12:22Опять же, если вы будете спрашивать по структурам данных, то возьмите какую-то задачку которую вы решали на работе и задайте её.
12:34С алгоритмами и остальным та же фигня: вместо того чтобы спрашивать знает ли человек О нотацию - возьмите какую-то… twitter.com/i/web/status/9…
12:37Про практические задачки есть и обратная сторона: встречал людей которые соловьем заливались по паттернам, тонкостя… twitter.com/i/web/status/9…
12:38В остальных случаях вы скорее проверяете умеет ли проходить человек интервью, а не сможет ли он выполнять конкретную работу.
12:40@backendsecret Профита "для проекта" вообще не существует. Проект - это процесс.12:43
Убеждение "ну я же знаю как развор… twitter.com/i/web/status/9…
Вторая важная вещь о которой все забывают или не думают – продавайте себя и компанию. Продавайте на интервью миниму… twitter.com/i/web/status/9…
13:03@backendsecret Вот это многие забывают. У меня были случаи когда чуть ли не открытым текстом шла речь про ‘мы уныло… twitter.com/i/web/status/9…13:06
Потому что потом в вашу компанию никто не пойдет? twitter.com/ngalayko/statu…
13:18Третье: дайте понять кандидату что его никто не оценивает. Что вы его уважаете и просто пытаетесь понять будет ли е… twitter.com/i/web/status/9…
13:22Поэтому нет ничего плохого в том чтобы сказать: “Дружище, у тебя очень интересный опыт, но вот что мы ожидаем от че… twitter.com/i/web/status/9…
13:23@backendsecret Но это ж не правда, вы ж его оцениваете на самом-то деле. Win-win тут будет показать, что оценивают не только его, но и он.
Вообще не правда. У меня есть множество знакомых которых я собеседовал в одно место и они там не подошли, но отличн… twitter.com/i/web/status/9…
13:26@backendsecret Да ладно. Вот один товарищ в чате приглашал на работу программистов. Больше никакой информации о ком… twitter.com/i/web/status/9…
Очень смешной тред :) twitter.com/turinkay/statu…
13:32@backendsecret Тут два пути, либо продавать себя, либо продавать то, что делаешь.
Угу. Работают оба. Кстати, вот лично мне всегда лучше удавалось продавать то, что я делаю.
Наверное потому что я н… twitter.com/i/web/status/9…
Вообще, старайтесь думать о кандидате. Например не оставлять длинных пауз, не наваливаться толпой в 5 человек, дава… twitter.com/i/web/status/9…
13:37Опять же, если человек не прошел сейчас, то это не значит что он не пройдет через год или два. Или он может помочь… twitter.com/i/web/status/9…
13:39Я вот сейчас скажу очень спорное утверждение и я понимаю его слабые стороны, но выбирая между человеком (10/10 прия… twitter.com/i/web/status/9…
13:45@backendsecret Брошу лайк вместо камня13:47
А теперь про вопросы на интервью для девопса:
линукс - системные вызовы, дебаг и трейсинг, файловое и сетевое IO… twitter.com/i/web/status/9…
13:50Системная архитектура: балансировка, планирование, прочность систем, проверка на модульность и расширяемость.
Мон… twitter.com/i/web/status/9…
13:52Впрочем, я считаю что этими знаниями должен обладать любой инженер. Это такой минимальный набор для построения совр… twitter.com/i/web/status/9…
13:56Потому что даже java девелоперам неплохо знать и понимать как их виртуальная машина взаимодействует с ядром или что… twitter.com/i/web/status/9…
13:58И я слишком часто сталкивался с тем что человек неплохо знающий алгоритмы пишет плохой код, просто потому что не по… twitter.com/i/web/status/9…
14:11@backendsecret что такое минимально распределенная система? чем он от программиста отличается тогда, раз программы должен уметь писать?
Тем что девопс знает немного больше чем “обычный программист”? twitter.com/truetobetrue/s…
14:12@backendsecret Я думал девопсы и в экономике разбираются)) вроде это общие понятия. раз уж они на все руки мастер.
Кстати, между делом порекомендую книги “Как устроена экономика” и “Фрикономика”. Мне в свое время очень зашли. twitter.com/shkarlat/statu…
14:50@backendsecret Годнота)15:27
Дополню, что в понятие "приятно работать" больше вкладывается обучаемость и восприимчивость… twitter.com/i/web/status/9…
если он успешно на всё ответит, спросить, почему он хочет в ваше сраное НИИ twitter.com/backendsecret/…
Первый шаг для этого — работать в крутой компании типа neuromation.io twitter.com/AzatKhadiev/st…
15:28@karbonio @backendsecret И знаете, я за не видел ни одного проекта, который бы не представлял собой бестолковое наг… twitter.com/i/web/status/9…17:13
@karbonio @backendsecret Весь сыр-бор с алгоритмами из-за того, что их все время спрашивают, но редко применяют17:48
Поэ… twitter.com/i/web/status/9…
@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…18:00
Что-то много агрессии на твит о бинарных деревьях. Вот вы сможете за час написать код, который развернет бинарное д… twitter.com/i/web/status/9…
19:12@karbonio @backendsecret Мы опять пришли к обратно. Я перефразирую исходный посыл. Я считаю, что если человек знает… twitter.com/i/web/status/9…
Вот тут мы и пришли к самому интересному – что значит “нравится мне”? Это может быть просто случайная симпатия пото… twitter.com/i/web/status/9…
20:15Кстати, есть одна интересная практика – если кандидат тебе нравится, то попробуй себя убедить в том что он тебе не… twitter.com/i/web/status/9…
20:16Еще одна важная часть собеседования - хватит уже писать код на бумажке. Вы хотите самоутвердиться или что? Писать к… twitter.com/i/web/status/9…
20:46Если задача требует использование алгоритмов, то вы сами сможете увидеть как человек выбирает между ними и заодно о… twitter.com/i/web/status/9…
20:47@backendsecret Например, понимает что я ему говорю, а я понимаю что он мне говорит; слушает когда надо слушать, гов… twitter.com/i/web/status/9…21:59
@backendsecret Ну там отношение к работе, софтскиллы и ответственность, короче говоря. Потому что этому не научишь… twitter.com/i/web/status/9…21:59
@backendsecret ты же можешь ещё и наш подкаст посоветовать послушать, кому интересно! ;)9:29
bit.ly/1srvAcw
@backendsecret но ведь и для C++ придётся притащить весь рантайм (он просто меньше по объёму будет)
Ну в общем то да. Не факт что меньше. Часть libstdc++ это хедеры с кучей шаблонов, раздувающие размер исполняемого… twitter.com/i/web/status/9…
9:33@backendsecret А не хочешь пачку твитов про время объединить в блог-пост?
Так ведь это и есть самый настоящий блог, с приставкой "микро", но тем не менее :) twitter.com/dronnix/status…
9:34@backendsecret У Питера Норвига есть эссе на данную тему (в т.ч. ссылается на Malcolm Gladwell)9:35
norvig.com/21-days.html
Всем привет! Меня зовут Анастасия Власова, и сегодня я буду спамить всякой фигней, чтобы вам не скучно было работат… twitter.com/i/web/status/9…
8:48Алексей Конышев обещал вчера, что я расскажу про гитлаб. История простая: прошлой весной гитлаб упал на несколько д… twitter.com/i/web/status/9…
8:50К тому же, гитлаб внезапно ввел странную монетизацию на свой CI - по минутам, из-за чего этот самый CI вдруг стал о… twitter.com/i/web/status/9…
8:51@backendsecret Про поселок расскажите что-нибудь? Сам одно время хотел туда. Как там в целом живется? Особенно семейным?
В целом живется хорошо :) Красиво, соседи хорошие, дом комфортный, Киров нравится - что еще нужно для счастья? Дете… twitter.com/i/web/status/9…
12:04@backendsecret А почему вдруг переехали в такое закрытое поселение? :)
А чем у нас оно такое закрытое? За все это время отказали только одному человеку, который хотел построить конную до… twitter.com/i/web/status/9…
12:11@backendsecret Окей, с гитхабом понятно. А на какой CI вы планируете перехать?
Мы уже переехали, на Travis, пока все устраивает twitter.com/pvl_loud/statu…
12:16Немного ruby в ленту: в текущем проекте мы используем небольшую часть фреймворка Traiblazer, его формы… twitter.com/i/web/status/9…
12:20@backendsecret Нет школ/садов/больниц. До ближайшей цивилизации ехать и ехать. с трёх сторон лес с волками и прочей дичью.
"ехать и ехать" - 10 минут до всех магазинов/школ/садов/больниц, 50 минут - до центра города в 500к жителей, а дичь… twitter.com/i/web/status/9…
12:28В поселке нет идеологии, религии, запретов и т.п. Это не родовое поселение, не экопоселение, не секта. Здесь обычны… twitter.com/i/web/status/9…
12:30@dcromster @backendsecret Почему нет сравнения качества образование в Мск и этом городе на 500к?
А как можно объективно сравнить образование в одном месте и в другом? Я училась в физико-математическом лицее Толья… twitter.com/i/web/status/9…
13:42@Faceless_Rebel @SamoilovVlad12 @backendsecret То есть, курящие люди все-таки там могут жить? И употребляющие алкоголь?
Могут :) Это не запрет, а скорее тренд. У нас нет никаких запретов, кроме обычных общегражданских. И кстати, инфа н… twitter.com/i/web/status/9…
13:51@backendsecret Теперь мои вопросы:
1) Как часто мотаетесь в Киров? Не задолбало? Только давайте честно, как дауншиф… twitter.com/i/web/status/9…
Два-три раза в неделю в среднем. Иногда подзадалбывает, но вспоминаешь Питер и Москву, где час - это минимум, еще и… twitter.com/i/web/status/9…
13:59@backendsecret 2) Вы, которые не из Кирова и области, как с родными и друзьями видитесь?
3) Как часто приходится ма… twitter.com/i/web/status/9…
2) я летаю к своим на самолете или мы с мужем вместе ездим на машине
3) почти каждый день, здесь комфортно передвиг… twitter.com/i/web/status/9…
@Faceless_Rebel @SamoilovVlad12 @backendsecret Очень странная реклама, так как в такой подаче это 100% гарантия неадекватности.
В сложное время мы видно живем. Раз фраза:
"У нас оказалось много общего – все зарабатывают удаленным трудом, ни у… twitter.com/i/web/status/9…
@backendsecret В чем проблема выпить бокал вина вечером?
Каждый, сам решает пить ему или нет.
Мы вот с мужем не пьем, потому что считаем, что человек может "расслабляться"… twitter.com/i/web/status/9…
Я хочу написать этот пост в поддержку тех, кто не гонится за новыми технологиями, зато просто стабильно хорошо рабо… twitter.com/i/web/status/9…
15:42@backendsecret Модные это как? После React/Vue/Angular все вернутся на jQuery когда мода закончится? Go/Rust/Swift… twitter.com/i/web/status/9…
Вопрос как раз в том, как отделить моду от эволюции и годную технологию от фигни. Вон angular 1.0 тоже казался всем… twitter.com/i/web/status/9…
17:08Я бывает зависаю на codewars.com, встретила там задачу: создать регулярное выражение, проверяющее, кратн… twitter.com/i/web/status/9…
17:24@backendsecret Подождите, Анастасия! А у вас то самой, какой аккаунт в Твиттере?
Так получилось, что у меня кроме аккаунта для тестов других в твиттере нет :) Если хотите что-то написать в личку,… twitter.com/i/web/status/9…
20:42@backendsecret Изучать надо как минимум по 2 причинам :
В целом согласна. Правда, насчет остаться за бортом - проекты у работодателей меняются гораздо медленнее, чем техно… twitter.com/i/web/status/9…
20:48Наверное каждому программисту приходила хоть раз мысль научить свою жену программировать. Мой муж эту идею реализов… twitter.com/i/web/status/9…
20:59Не то чтобы ruby такой прекрасный (хотя он прекрасен :)), но для него есть отличный учебник для начинающих… twitter.com/i/web/status/9…
20:59@backendsecret А рельсы там как? Вроде ж они тоже стагнируют.
Стагнируют, стагнируют, даневыстагнируют :) проектов много, работы много, хотя по ощущениям у javascript'еров повес… twitter.com/i/web/status/9…
22:16Вот и закончилось мое время на @backendsecret. Всем спасибо и хороших выходных!
22:54@backendsecret можете кратко про универ/студентов? как появился хаскель в универе и т.д.
Первый раз курс «Функциональное программирование» (Haskell) я прочитал на мехмате ЮФУ весной 2008 года. Он читался… twitter.com/i/web/status/9…
16:39Так получилось, что вскоре после того как это направление появилось на мехмате ЮФУ (2005 год), я стал активно участ… twitter.com/i/web/status/9…
16:43Несколько лет он читался весной на четвёртом курсе, потом перешёл на осень четвёртого курса, а с этого года в уполо… twitter.com/i/web/status/9…
16:45@backendsecret Чем?
Нас спрашивают, чем полезно ФП. Тем, что практически все промышленные языки программирования сейчас поддерживают со… twitter.com/i/web/status/9…
16:49Когда-то мне подарили книгу Фридриха Шеллинга «Лекции о методе университетского образования». Каюсь, толком я её не… twitter.com/i/web/status/9…
16:59Некоторое время назад я заявил в своём твиттере @_bravit, что программистам математика не нужна. Как известно, мысл… twitter.com/i/web/status/9…
17:02Так вот, программистам не нужна не только математика, но и университетское образование вообще. Технологии сейчас ра… twitter.com/i/web/status/9…
17:07Я думаю, что очень многие из вас уверены, что знания, которыми вас пичкали в вузах, бесполезны. Слабые ничего не по… twitter.com/i/web/status/9…
17:10Курсы по конкретному языку программирования можно пройти довольно быстро, месяц-другой и можно работать, сейчас так… twitter.com/i/web/status/9…
17:15Программистских школ (колледжей, техникумов) в Индии тысячи, если не десятки тысяч. В США очень развито онлайн-обуч… twitter.com/i/web/status/9…
17:17Отсюда кстати и большая популярность всяких конференций для разработчиков, однодневных курсов и прочего — люди хотя… twitter.com/i/web/status/9…
17:20Возможности университетов вообще сильно ограничены фиксированным штатом сотрудников. К тому же в университетах от с… twitter.com/i/web/status/9…
17:25То же самое имеет место и на Западе, только там ещё учитывают мнение студентов, но большинство студентов очень редк… twitter.com/i/web/status/9…
17:27При этом в любом вузе по большинству направлений есть энтузиасты, хорошие преподаватели, заботящиеся о качестве сво… twitter.com/i/web/status/9…
17:29Так вот, исходя из всего этого нужно решить вопрос, зачем программистам такое университетское образование, и если о… twitter.com/i/web/status/9…
17:31Традиционно считается, что университет создаёт среду для обучения человека. Учиться проще, когда вокруг тебя все уч… twitter.com/i/web/status/9…
17:35А безопасность жизнедеятельности, которая у нас прописана в федеральных государственных образовательных стандартах… twitter.com/i/web/status/9…
17:36Может, в этом и состоит метод университетского образования? Заставить студента изучать всякие ненужные предметы. Пр… twitter.com/i/web/status/9…
17:39Подпишитесь, кстати, на @_bravit, а? Мне всего-то 102 фолловера до тысячи осталось. Можете замьютить сразу, всё рав… twitter.com/i/web/status/9…
17:42Мы сейчас не знаем, чем будут заниматься молодые сейчас джаваскриптеры и рубисты лет через тридцать. Их сейчас мног… twitter.com/i/web/status/9…
17:48Может быть, интенсивное обучение в течение четырёх–шести университетских лет — это и есть ключ к облегчению смены н… twitter.com/i/web/status/9…
17:55Кстати, на тему будущего. Как мы сами будем всем этим пользоваться? Начнутся проблемы со зрением и слухом, сможем л… twitter.com/i/web/status/9…
18:00Я о том, что в университетах не будет очень уж хорошо с точки зрения промышленности. У университетов цель, мне каже… twitter.com/i/web/status/9…
18:04У нас университеты бедные, зависят от государства и работодателей, вынуждены подстраиваться, результат далеко не вс… twitter.com/i/web/status/9…
18:08Извините, я уже забыл, про что это вообще. Короче, университеты нужны, но не конкретно программистам, а людям вообщ… twitter.com/i/web/status/9…
18:13Ух-ты, я смотрю по фавам на твит поднялся за последние три часа! backendsecret.ru/stats/
21:36Как считаете, на каком языке лучше изучать основы программирования?
21:44@backendsecret Вот скажи, оч интересно, с языками программирования обычно вообще в школе знакомят - циклы, условия… twitter.com/i/web/status/9…
Насколько я знаю, в большинстве провинциальных школ сейчас Паскаль. В столицах чаще Python. Олимпиадников натаскива… twitter.com/i/web/status/9…
21:58@backendsecret По моему опыту преподавания программирования для школьников 10ти лет, скреч, паскаль и с++ шли абсолютно одинаково
Я бы умер С++ преподавать школьникам, завидую! twitter.com/MsMentret/stat…
22:02@backendsecret Я бы одновременно два языка учил, python + C. И сразу же их дружил между собой.
Есть такой подход, да. Он жуткий, мне кажется. В голове каша из конструкций. twitter.com/strizhechenko/…
22:04Как считаете, на каком языке лучше изучать основы программирования?
Есть несколько чётко выраженных позиций: учить надо сразу на промышленном языке, учить надо сначала на простом язык… twitter.com/i/web/status/9…
22:14@backendsecret Скрэтч или как-то так.
Не понимаю Scratch, хоть убейте. Пусть его и в MIT придумали. twitter.com/scena/status/9…
22:16@backendsecret Ещё Кумир бывает!
Да-да, и ШАК, школьный алгоритмический язык. twitter.com/qnikst/status/…
22:17@backendsecret Я ваще так считаю. Синтаксис языка это фигня вообще. Важнее дать понять, что парадигм программирован… twitter.com/i/web/status/9…
Хорошее мнение, но есть проблема: понимание того, что синтаксис — это фигня, есть очень высокоуровневое понимание,… twitter.com/i/web/status/9…
22:20@backendsecret 40% за С++ и жабы? Для изучения основ? Люди, вы серьезно поехавшие? Зачем начинающим жизнь ломать.
Присоединяюсь. У нас тут школа Samsung для школьников есть, там Java — я задания посмотрел, это безумие просто как… twitter.com/i/web/status/9…
22:22@kgorin @NolanRus @backendsecret Иногда мне кажется, что в айти уже скоро будет так, что ты спрашиваешь где бизнес… twitter.com/i/web/status/9…22:24
А мне нравится тут у вас опросы проводить, столько ответов сразу! Не то что в своём твиттере, в час по чайной ложке отвечают…
22:33@backendsecret Начинать надо с представления чисел в двоичном виде, целых беззнаковых и со знаком и правил работы с… twitter.com/i/web/status/9…
Ну, тоже мнение… twitter.com/LestorN/status…
22:36А вот ещё вопрос: нужно ли на первом курсе учить, как делать односвязные и двухсвязные линейные списки? Вот я знаю,… twitter.com/i/web/status/9…
22:41@backendsecret а когда еще учить примитивные структуры данных? по-хорошему, люди должны приходить уже со знанием вот этого всего.
Я, собственно, о чём: можно же пользоваться структурами данных вообще не зная, как они внутри реализованы. На том ж… twitter.com/i/web/status/9…
22:50@backendsecret конечно же ATS, там есть и функциональное программирование и императивное, и доказательства, и хорош… twitter.com/i/web/status/9…
Вот взвешенный взгляд на вещи. twitter.com/qnikst/status/…
23:12@backendsecret @4e6 я начинал с паскаля в 5 классе, там можно было веселые картинки рисовать в dosmode, было весело и интересно.
Я начал изучать программирование в 7 классе по книжке, в которой параллельно рассказывали про Паскаль и Фортран, сл… twitter.com/i/web/status/9…
23:28@backendsecret Опасно ностальгическая тема, сейчас все ударятся в воспоминания про свой первый ЯП.
Давайте, ударяйтесь! twitter.com/TheRealDeadOne…
23:35Кстати о языках программирования, вот можете посмотреть мои лекции по теории категорий: youtube.com/watch?v=gpifdH…
23:42@backendsecret Одной из самых полезных вещей, что дал универ, — это курс по ассемблеру. Приводит в чувство и даёт п… twitter.com/i/web/status/9…
Да, нужный курс. Завтра поговорим об отдельных курсах. twitter.com/salikhov/statu…
23:59Тут спрашивали удалённо ли я над стартапом работаю. Хороший вопрос, потому что это как посмотреть. Когда мы начинал… twitter.com/i/web/status/9…
1:14Сейчас я большую часть времени провожу в Британии, но команда теперь распределена от Сибири до Португалии.
Для наше… twitter.com/i/web/status/9…
Даже когда я в Британии, я могу неделями не приходить в офис, работая из дома, просто потому что так бывает удобно,… twitter.com/i/web/status/9…
1:17С самого начала у нас была политика remote first: какие бы процессы мы ни выстраивали, прежде всего удобно должно б… twitter.com/i/web/status/9…
1:18Вообще, в выстраивании удалённой работы много нюансов, но самый сложный случай -- это когда уже есть "центральный о… twitter.com/i/web/status/9…
1:21@backendsecret Еще как зависит. Все сильно зависит от процессов, как таковых, но она зависит.
И правда я загнул, как же это не зависит: если программиста заставлять каждый день ходить в один и тот же офис неза… twitter.com/i/web/status/9…
10:13@backendsecret Как устроена коммуникация? Как обучаете джунов удалённо? Сколько приходится ждать, чтобы получить от… twitter.com/i/web/status/9…
Устроена так, что [почти] никогда не нужно ждать ответа на вопрос. Релизы каждый день или несколько раз в день. Есл… twitter.com/i/web/status/9…
10:18@backendsecret А как разрабы получают таски? Участвуют ли на планнинге?
Мы пробовали и так и так, в обоих случая работало, просто если разрабы участвуют в планинге, добавляется ещё один с… twitter.com/i/web/status/9…
13:34Не нужно ждать ответа, потому что вопросов таких не возникает, или потому что ответ приходит быстро? twitter.com/backendsecret/…
Вопросы возникают, но не возникают ситуации, когда ты застопорился из-за вопроса и тупо ждёшь пока Земля провращает… twitter.com/i/web/status/9…
14:37@backendsecret Хорошим тоном для контракторов является иметь 4-5 часов «overlap» с in-house командой и подстраивать… twitter.com/i/web/status/9…
У нас такой "нахлёст" есть, ибо мы все на одном континенте, но когда всё организовали, оказалось, что этот нахлёст… twitter.com/i/web/status/9…
19:03@backendsecret А зачем тебя в Лондон перевели?
Во-первых, не в Лондон, если бы мы базировали британский офис в столице, мы бы уже раз пять разорились. Мы на проти… twitter.com/i/web/status/9…
19:09В Лондоне у нас есть небольшой офис 5x5м в коворкинге, но это, в основном, для встречь с VC и сотрудников что в Лон… twitter.com/i/web/status/9…
19:17А так мы с женой в любом случае собирались куда-нибудь поехать, было почти всё равно куда, вот нас и убедили поехат… twitter.com/i/web/status/9…
19:19Вообще, когда мы начинали с этим проектом, был хороший вопрос а какую цель мы (технари) себе в стартапе ставим. Ста… twitter.com/i/web/status/9…
19:37разногласия между основателями И маленький рынок, кончились деньги И софт неповоротлив для изменений, и так далее.… twitter.com/i/web/status/9…
19:40@backendsecret Пора и в @abroadunderhood :)
Ой не, недавно там девочку из Киргизии чуть ли ни линчевали, как будто она в ответе за весь Кыргызстан и Таджикиста… twitter.com/i/web/status/9…
21:18В общем, когда мы пришли в проект, там был огромный технический долг, мы были уже 4-й или 5-й командой, которую осн… twitter.com/i/web/status/9…
21:23(серьёзно, я никогда такого PHP на рубях не видел, это было что-то с чем-то) и заканчивая тем, что, если брать анал… twitter.com/i/web/status/9…
21:26Было просто невероятное желание "переписать всё нафих!", буквально по рукам себя били, чтобы не запустить новый реп… twitter.com/i/web/status/9…
21:29Да, сорри "тактический" и "стратегический" рефакторинг -- это наш локальный жаргонизм. Если по-простому, то тактиче… twitter.com/i/web/status/9…
21:31Соответственно, стратегический рефакторинг -- это такой, что никогда не будет такой фичи, которая могла бы оправдат… twitter.com/i/web/status/9…
21:32В стартапах, в начале пути, горизонт планирования очень короткий, поэтому со стратегическим рефакторингом совсем тя… twitter.com/i/web/status/9…
21:35На третий год, когда мы немного обрасли жирком, мы стали выделать 20% всего нашего времени (один полный день в неде… twitter.com/i/web/status/9…
21:38Но как вспомню -- вздрогну. Там мы видели ТАКОЙ код, что комментили его типа "KILL IT WITH FIRE! BEFORE IT LAYS EGG… twitter.com/i/web/status/9…
21:42@backendsecret Монада это способ работы с данными внутри вычисляемого контекста, таким образом, чтобы можно было из… twitter.com/i/web/status/9…
Хорошее объяснение. Однако понять его с функтором и аппликативом будет проще, ведь это последовательные шаги: аппли… twitter.com/i/web/status/9…
10:21@is_a_cdr @backendsecret @ditansu Исключения в Хаскеле есть (причем это чуть ли не единственный язык, где можно уби… twitter.com/i/web/status/9…10:23
@rybak_andrey @is_a_cdr @backendsecret @ditansu Т.е. ghc, действительно, хитрый и хорошо оптимизирует? Вложенные тр… twitter.com/i/web/status/9…
Да, GHC очень хорошо оптимизирует. twitter.com/Kevroletin/sta…
14:44@borovikov @backendsecret github.com/qnikst/irc-sim… вот что-то такое за вечер получилось. Сам чятик в src/Server.hs… twitter.com/i/web/status/9…17:16
@dcromster @PIlIGRIM @backendsecret @bobuk да, Бобука вести это хорошая мысль. Хоть передохнём от Хаскеля.
Потерпи меня ещё 3 денька... twitter.com/jbaruch/status…
18:40завтра буду топить коллегам за функциональное программирование и чем больше пытаюсь подготовиться, тем меньше поним… twitter.com/i/web/status/9…
Суть ФП не в монадах же, и даже не в функторах. :-)
Скажи, что суть программирования в принципе - это абстракция и… twitter.com/i/web/status/9…
19:48@backendsecret Когда понял монады и используешь их pic.twitter.com/y314nfQXRC19:49
@backendsecret ...И ФП прекрасно подходит как для первого, так и для второгоА есть где-то методические рекомендац… twitter.com/i/web/status/9…
Есть. Называется опыт. Взять, попробовать, и убедиться. :-)
Я перешёл в ФП не потому, что мне кто-то показал супер… twitter.com/i/web/status/9…
20:32@qnikst @backendsecret Хаскелисты Всея Руси и Дальнего Востока!Какими пользуетесь/собираетесь пользоваться ORM, Ф… twitter.com/i/web/status/9…
Для начала:
20:43miso, правда, исключение, но я скопировал за компанию. :-)
20:44Ещё про БД:
- hackage.haskell.org/package/rocksd…
- hackage.haskell.org/package/mongoDB
- hackage.haskell.org/package/acid-s…
Но есть и другие: hackage.haskell.org/packages/#cat:…
20:52@backendsecret У нас тоже есть вакансии) xapix.io, Берлин, поможем с переездом и с blue card. Clojur… twitter.com/i/web/status/9…11:56
@backendsecret У меня целый канал в тг с айтишников (в основном) вакансиями заграницей :) t.me/jobs_abroad11:56
@backendsecret В Питер и не только нужны backend/frontend разработчики, подробности vk.com/sidenisru?w=wa…11:56
@amureki @backendsecret есть скала, флинк, кафка, го, руби, эликсир, много си, даже ангуляр, а питона нет)11:57
@backendsecret А куда податься человеку без опыта с базовыми знаниями Java, C/C++ и большим желанием учиться?11:57
@backendsecret И меня! И меня! Харьков\Киев pic.twitter.com/54GmRmxtUn11:57
@backendsecret Ищем в Backend команду Wheely разработчиков (wheely.workable.com/jobs/670161) и системного инженера (… twitter.com/i/web/status/9…11:57
@backendsecret Ищем java разработчиков senior+ Alibaba group: Aliexpress, Tmall. В Москву или Ханчжоу11:57
@backendsecret А мы ищем java разработчика в отличную команду в Питер spb.hh.ru/vacancy/251252…11:57
@backendsecret Мы ищем рубистов в adjust. С релокейтом в Берлин помогаем. Куча работы, есть интересные проекты, eli… twitter.com/i/web/status/9…11:57
@backendsecret Мы финтех-стартап (уже большой)11:58
Ищем java/scala в бэкенд, kotlin в android, swift в iOS
Сейчас уже е… twitter.com/i/web/status/9…
@backendsecret Может кто из Нижнего Новгорода m.hh.ru/vacancies?empl… а ещё web dev'ы нужны от 2 тысяч.11:58
@backendsecret Senior Java developer в fintech, Москва hh.ru/vacancy/243524…11:58
@backendsecret Уже 5 лет работаю в замечательной @funbox_team и нам нужны хорошие коллеги:11:58Erlang:… twitter.com/i/web/status/9…
@backendsecret Ищем back-end/front-end людей в Bielefeld: PHP7, Angular1, Yii1/2. Небольшая контора в 20 человек и… twitter.com/i/web/status/9…11:58
@backendsecret Ищем iOS и Android разработчиков в Мюнхен. Помогаем с визой.11:59
linkedin.com/jobs/view/5908…… twitter.com/i/web/status/9…
Наверняка у всех есть лишнии вычислительные мощности. Предлагаю их утилизировать на благо светлого будущего. А майн… twitter.com/i/web/status/9…
12:18Естественно это не просто так. Есть шанс получить 1000 usd или 10000 usd учавствуя в проекте… twitter.com/i/web/status/9…
12:18Конечно таких проектов много. Например, один из самых старых и известных, Seti@home. Помню как учавствовал в нём на… twitter.com/i/web/status/9…
12:25Есть подобный по расчёту белка и другие. Все они работают на основе BIONIC boinc.berkeley.edu/projects.php
12:25@backendsecret Таллин, энергичный быстрорастущий стартап, на 25%+ русскоязычная Европа со всеми её плюшками - от "с… twitter.com/i/web/status/9…12:32
@backendsecret @verwolfdotss Перепись IT-поросяток
Хм, кажется это оскорбление. twitter.com/sorx00/status/…
12:33@VsSekorin @backendsecret Пока открытых проектов нет, но в планах кое что имеется) Если есть хорошее понимание фп,… twitter.com/i/web/status/9…12:36
@backendsecret Senior front-end Ростов-на-Дону(100К+) -JavaScript, HTML, CSS, Node.js, Webpack и соврменные JS фрей… twitter.com/i/web/status/9…12:44
Кстати ещё: кто смелый и хочет провести неделю этого акаунта?
Очень хотелось бы из геймдева, сжатия данных, ML/AI,… twitter.com/i/web/status/9…
Что имел ввиду про парикмахера: youtube.com/watch?v=xiwD6B…
Это моя любимая песня, когда ищу работу. :D
@backendsecret Ищу Java и JS девелоперов в почту Эстонии! Это та, у которой роботы по городу почту развозят.12:48
Нужен… twitter.com/i/web/status/9…
@backendsecret нужен спец в питоне для поддержки и доработок odoo (open erp ранее), географически - Сколково или на… twitter.com/i/web/status/9…13:30
@batyshkaLenin @dcromster Лишь монад требуют наши сердца17:16
Лишь монад требуют наши глаза,
В нашем смехе и в наших сле… twitter.com/i/web/status/9…
@backendsecret ищем backend-разработчиков в retailcrm.ru (крупная CRM для ecommerce). Мск/Воронеж/Липецк… twitter.com/i/web/status/9…17:16
@backendsecret Ищем в офис angular и python разработчиков. Казань 💚 Добра всем ретвитнувшим #твиттерпомоги17:17
@backendsecret На всякий случай напомню, что если прислать объявления о работе (даже дворником) с релокацией мне, т… twitter.com/i/web/status/9…17:17
Ну и у нас набирают (CC: @backendsecret):17:17
@backendsecret Самара, ищем backend (в основном java), frontend и implementation engineer.18:10
чем мы занимаемся, напис… twitter.com/i/web/status/9…
Кого хотите позвать повторно из ведущих @backendsecret ?
18:51Всё всё всё! Про Егора я понял!
Может ещё кого? ;)
А теперь вопрос, что лучше твиттер лекции @5HT или @backendsecret ? :-)
А у нас без матов!* twitter.com/5HT/status/979…
20:04@suxxes @backendsecret @abroadunderhood Привет! Зарепость, пожалуйста: twitter.com/oruen/status/9…23:11
@backendsecret В Кансае можно вполне комфортно исследованиями заниматься, там и несколько топовых университетов стр… twitter.com/i/web/status/9…
Только щинкансен стоит в районе $150 в одну сторону емнип twitter.com/skkap/status/9…
3:33@backendsecret ну это не трагедия :) прожить 5 лет в германии и не выучить немецкого, ибо не надо - в работе англий… twitter.com/i/web/status/9…
Ну в европе еще хоть английский знают, а тут как правило говорят на японском и очень вежливом японском :) twitter.com/de_gis/status/…
3:33@backendsecret Коллеги с клавами на блю свичах. Сидя рядом-норм, ужастно когда по аудио с ними общаешься, отфильтро… twitter.com/i/web/status/9…
Это есть такое, особенно с omnidirectional микрофонами стремно, тк они каждый чих в комнате улавливают twitter.com/Nekolyanich/st…
3:34@backendsecret Да но за него в этом случае платит универ же
В моем не платили.
Помню я как-то подавал на грант на overseas trip. Сначала обещали до 200k йен, потом сказали ну… twitter.com/i/web/status/9…
3:38@backendsecret В смысле каждой клавиши) что-то как на картинке
есть варианты кроме LED? pic.twitter.com/pSMXqTiiwr
Подсветка на клавиатурах делается, насколько я знаю, только посредством LED. Другое дело что в разных клавиатурах э… twitter.com/i/web/status/9…
3:42У Flaretech интересно вообще, у них свитчи работают на основе отражения инфракрасного света, поэтому сердцевина сви… twitter.com/i/web/status/9…
3:42@zobninatn @backendsecret У меня тот же вопрос, зачем в 21 веке клавиатуры с таким большим ходом?
В зависимости что использовать, например клавиатуры из серии Topre HiPro делались для высокоточного ввода для авиад… twitter.com/i/web/status/9…
3:47Но потом пришли любители и стали все скупать pic.twitter.com/jhbSjwM0ky
3:47В новом эпизоде Silicon Valley у Гилфойла на столе стоит Vortex Pok3r, 60% клавиатура популярная среди любителей. Ф… twitter.com/i/web/status/9…
3:49Так что серая, без подсветки. Любителям она нравится потому что у нее стандартная раскладка, железный кейс и пласти… twitter.com/i/web/status/9…
3:52@backendsecret Если у меня WASD с обычными ABS-крышечками — это зашквар? Как удержать себя от покупки второй, треть… twitter.com/i/web/status/9…
В ABS ничего плохого нет. Если надоела старая клавиатура, всегда можно обменять на /r/mechmarket twitter.com/eXtractor/stat…
3:54Так, тут уже жалуются за клавиатурный спам (а я ведь предупреждал, я люблю говорить про клавиатуры, меня хлебом не… twitter.com/i/web/status/9…
3:57На самом деле я могу рассказать про IT и митапы вместе, ибо они идут рука в руку
3:59Я же еще хотел вам рассказать про волонтерство на конференциях, как вам еще такой топик? Должно быть полезно студентам и околостудентам
4:18Вот вам пока шутеечка за 300.
Вы знаете что в Японии Slack называют «Суракку»? У меня вот месяц ушел чтобы научиться не ржать каждый раз
4:30Помню меня как-то спросили: «Бектур-сан, а вы пользуетесь суракку?»
Чуть не сказал: «Ну сегодня пока нет, надо бы овощи почаще есть»
4:30Are 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…4:58
Периодически буду ретвитить варианты с работой в Японии
4:58# Пятница 288 твитов
Про CRUD. Данные можно сохранять сразу, но это тормоза. Можно их хранить в памяти и сбрасывать на сторедж при выкате очередной итерации.
14:20Всем привычен первый подход, в котором мы подобны рожденным ползать. Медленно ползать.
14:21Но если аудитория переваливает за миллионы, есть реальная необходимость переходить ко второму. И это подобно взлетающему самолету.
14:22Не надо кивать здесь в сторону мемкеша. Не поможет. Вообще.
14:24В результате такого подхода мы получаем систему с мгновенной отзывчивостью. Согласитесь, вкусно! Чем мы за это расплачиваемся?
14:34Есть сложности с шардингом данных. Их нельзя порезать между серверами и надо все запихивать в одну ноду. Юзеров резать по серверам целиком.
14:36Есть сложности с утечками, - процессы висящие в памяти неделю и более очень чувствительны к неаккуратному коду.
14:37Критичные данные писать надо в базу по-любому, - на случай даунтайма. Как правило, это связано с финансовыми операциями.
14:39Но вот подход к чтению специфичен - приоритет получают не данные из базы, а из памяти. Прогрев памяти осуществляется на взлете процесса.
14:40Обновление системы сделать мягким очень сложно, так как при каждой итерации может измениться не только модель в сторедже, но и в памяти.
14:42Структура процессов слоистая, - есть отдельно менеджеры данных, есть отдельно пользователи. Таким образом деплой, - сложный (комплексный).
14:44Чтобы изменить состояние сущностей без API "самолета", его придется сажать. А это простой системы с последствиями для юзверей. Недёшево.
14:47Отстрелить крыло самолету тоже не получится, - он упадет. Так что писать код надо сразу без утечек памяти.
14:48Архитектура самолета предполагает комфорт. Пассажиры (бизнес-логика) находятся в удобных креслах простых операций со структурами данных.
14:51@backendsecret сохранять в базу асинхронно где это нужно?15:23
Да, разумеется, @rusgautama!
15:23Давайте поговорим про собеседования приема на работу.Многи незнаю но собеседования они двух стороние. Не только ком… twitter.com/i/web/status/9…
20:55Со стороны компании обычно смотрится что разрабочик умеет, его опыт и навыки которые он может принести в компанию.… twitter.com/i/web/status/9…
21:01Очень хороший разрабочик которые не умеет работать в команде это как хороший однотредный код который нельзя скелить… twitter.com/i/web/status/9…
21:03Очень часто надо смотреть почему человек ищет новое место работы. Может причины такие что и у вас он будет искать н… twitter.com/i/web/status/9…
21:06Что надо смотреть как разрабочику на собеседование? Первую очередь на людей. Кто делает собеседования, насколько он… twitter.com/i/web/status/9…
21:08Очень важно знать кто будет твой начальник если придет туда работать.Принято что имено TL разрабочека делают собесе… twitter.com/i/web/status/9…
21:11Иногда к нам приходят люди на собеседования и проходят пару этапов. Потом они хотят поговорить с людьми в команде.… twitter.com/i/web/status/9…
21:13Я люблю когда люди кандидаты интересуются не только технической стороной в компании.А еще и бизнес стороны.Спрашива… twitter.com/i/web/status/9…
21:15Хорошо когда интересуются как работает R&D. Как часто выходят версии? как построены команды? График работы? Расписа… twitter.com/i/web/status/9…
21:17Желательно искать инженеров а не кодеров. Разница простая
21:22Если пришел кандидат и не знает не что про компании куда он пришел на собиседования. Это очень плохой тон. Можно хо… twitter.com/i/web/status/9…
21:24Были кандидаты которые приходи на собеседование в Gett и даже не когда не видели аппликации и "примерно" знают что… twitter.com/i/web/status/9…
21:27Были товарищи которые проходили все технические этапы потом приходи в конце на разговор в HR и там им из всего что… twitter.com/i/web/status/9…
21:31Вопросы на собеседования я люблю брать из жизни.Задачи которые мы решали и которые легко обьяснить.Это показывает н… twitter.com/i/web/status/9…
21:39Например тут спрашивали про то что Gett показывет что у водилы день рождения на этой недели. Я когда то давно спраш… twitter.com/i/web/status/9…
21:42Со сторону кандитата можно смотреть на многое в компание
1.Например приходишь на собеседования а человек который де… twitter.com/i/web/status/9…
3.Не можешь найти как зайти в здание и опаздывашь и тебя не кто не ищет - плохо
4.Показывают тебе офис место работы… twitter.com/i/web/status/9…
Когда я даю техническую задачю обезательно надо спрашивать пару вопросов
1.Какие технологии тут могут помочь
2.На с… twitter.com/i/web/status/9…
Еще хорошо искать людей которые problem solver а не любители бегать и спрашивать "Что делать?". Получил задачу и р… twitter.com/i/web/status/9…
22:30У вас в компаниях делают Open source? То есть выпускают внутрение решения в открытый доступ
23:49Конечно охуенно. Особенно когда ты руководитель этого человека и не выполняешь своей работы, а он выполняет ее вмес… twitter.com/i/web/status/9…
А ты считаешь что руководитель должен решать все проблемы? Если да то он не руководитель а человек который решает п… twitter.com/i/web/status/9…
23:53Доброе утро и с пятницей!
Придумайте подпись к картинке :)
(и помогите мне развидеть здесь 2 зуба с зубной пастой… twitter.com/i/web/status/9…
Node.js. Интернет просто переполнен примерами простых веб серверов, а когда дело доходит до прода, выясняется ряд особенностей:
13:021. Как получить IP клиента, имея объект http request? Обычно это деталь окружения: задается в апп сервере или в нас… twitter.com/i/web/status/9…
13:02– Why not? Разве бывают сэтапы иные чем traefik/nginx с realip перед нодой? Разве бывают другие заголовки для перед… twitter.com/i/web/status/9…
13:022. Graceful Shutdown. Дёрнуть httpServer.close() при SIGTERM это полдела. По-видимому, кто-то решил, что для закрыт… twitter.com/i/web/status/9…
13:02И да, вы не столкнётесь с этой проблемой, пока ваша нода работает за nginx с дефолтным proxy_pass, который не юзает… twitter.com/i/web/status/9…
13:02Npm не был бы npm, если бы там не было второго пакета с таким же функционалом (причём от автора самого npm): github.com/isaacs/server-…
13:023. Нет никаких интерфейсов (в смысле ООП). Хотите нормальный логгер? Манки-патчьте console.log/error/*. И учтите, ч… twitter.com/i/web/status/9…
13:024. Нельзя просто так взять и запустить ноду в несколько процессов. Есть Process Managers: pm2/strongloop, но помимо… twitter.com/i/web/status/9…
13:02Ну окей, есть ведь встроенный cluster module? И кода вроде не много: nodejs.org/api/cluster.ht…
Да, только когда к эт… twitter.com/i/web/status/9…
5. Надо следить за падениями из-за недостатка heap (1.7G по дефолту). Они могут происходить как по причине утечек в… twitter.com/i/web/status/9…
13:02В принципе, ничего здесь криминального нет. Но кажется, что с абстракциями в ноде что-то пошло не так.
13:02Angular. Очень легко наговнякать, если в команде нет экспертизы по нему. Но если есть, то скорость разработки (имхо… twitter.com/i/web/status/9…
19:25ng-cli сейчас очень хороший. "ng new" генерит вам адекватно настроенный SPA с тест раннерами (и юнит, и e2e). Внутр… twitter.com/i/web/status/9…
19:25С SSR ещё в начале 2017 всё было очень плохо. С Angular 4 стало сильно лучше. Из проблем SSR остались (имхо):
19:251. HTTP redirects. Поведение из коробки: вернуть отрендеренный ответ после редиректов, а в браузере, после инициали… twitter.com/i/web/status/9…
19:252. HTTP status. Для страницы 404, например. По дефолту всегда и на всё будет 200. Решается похожим образом как в гисте выше.
19:253. State transfer. В ng5 появился сервис TransferState, пихающий данные из сервера в браузер через html. Можно пове… twitter.com/i/web/status/9…
19:25HTTP клиент, кстати, очень клёвый. Есть интерсепторы (как middleware), ютилы для тестов, легко подписаться на прогр… twitter.com/i/web/status/9…
19:25Опять же, как и в Django/DRF, в ng куча чётких абстракций. Code scaffolding для новых компонентов/сервисов/пайпов з… twitter.com/i/web/status/9…
19:25Для ангуляра это *частично* тоже корректно, но не совсем: типично данные из HTTP запросов один раз стекаются в шабл… twitter.com/i/web/status/9…
Бойлерплейта немало, но, кажется, сильно меньше, чем в RRS.
Документация средненькая. Многие вещи не покрыты (zon… twitter.com/i/web/status/9…
19:25С появлением AOT тормоза JIT и жирнющие бандлы давно ушли в прошлое. На добровольцыроссии.рф сейчас это 550 кб г… twitter.com/i/web/status/9…
19:25Новички, по моим наблюдениям, сталкиваются со следующими проблемами:
19:252. Работа с DOM браузера. Почти всегда можно (и нужно) обойтись манипуляциями с shadow DOM. А когда нельзя (jquery)… twitter.com/i/web/status/9…
19:253. Zone.js. Всякие setTimeout там, где не надо. В панике делают импорт ChangeDetectorRef, который вообще трогать не… twitter.com/i/web/status/9…
19:25В целом – на ангуляре хорошо, что бы там ни говорили злые языки, не осилившие его. Хотя управление состоянием в rea… twitter.com/i/web/status/9…
19:25@backendsecret Не совсем в тему, просто интересно про CAP arxiv.org/abs/1509.053939:09
@backendsecret Это слишком долго. Если ты регулярно пишешь код, то ты можешь написать что-то и на бумажке. Если не… twitter.com/i/web/status/9…
Может стоит спросить человека “ты постоянно пишешь код”? К тому же если человек редко пишет код, то это будет замет… twitter.com/i/web/status/9…
9:15@backendsecret Золотые слова. Поэтому вместо всякой тупой херни на собеседованиях надо проводить тестовый день, пор… twitter.com/i/web/status/9…
Еще я видел интересный способ, где кандидата приглашали в специальный канал в слаке на недельку и там общались с ни… twitter.com/i/web/status/9…
9:17Это слишком долго. Если ты регулярно варишь суп, то ты можешь пожарить что-то на сковороде. Если не способен жарить… twitter.com/i/web/status/9…10:15
Вообще интересно. Мне тут говорят что по “написанию кода на бумажке” можно понять хороший инженер или нет. То есть… twitter.com/i/web/status/9…
10:16Вообще даже если некоторые хорошие инженеры могут писать код на бумажке и вдруг мы бы выяснили что плохие не могут,… twitter.com/i/web/status/9…
10:17@backendsecret Однако, по "написанию кода на бумажке" можно запросто сделать вывод об адекватности потенциального работодателя!
Я встречал очень умных инженеров с которыми приятно работать, но которые никогда не думали о том как проводить инте… twitter.com/i/web/status/9…
10:21@AstarothAst @backendsecret ну разумеется, гугл, фейсбук, майкрософт - полнейшие неадекваты :D
Я все ждал когда появятся наши каргокультисты. Уже даже начал бояться что они вымерли. twitter.com/almaleksia/sta…
10:37@backendsecret По «коду на бумажке» можно отсеять ремесленников, которые в совершенстве освоили Ctrl+C/Ctrl+V.
Уров… twitter.com/i/web/status/9…
Во первых - ремесленик это хорошо. Большинство программистов - ремесленники. И если вы “художник”, то просто по ста… twitter.com/i/web/status/9…
10:43А как вы проверяете быстрообучаемость? Это очень важный параметр, но у меня на самом деле до сих пор нет однозначного подхода.
11:07Я вот обычно спрашиваю какие книги человек прочитал за последние полгода и с что нового он узнал. Конечно, тут можн… twitter.com/i/web/status/9…
11:16@backendsecret Какие книги Вы прочитали за последние полгода?
Перечитал в второй раз “SRE” от гугла, добил “Стратегические игры” по теории игр, “14 занимательных эссе о языке Ha… twitter.com/i/web/status/9…
11:34Тут мне в комментариях замечают что (не)прочитанные книги сложно интерпретировать. Я согласен с этим, просто конкре… twitter.com/i/web/status/9…
11:38@backendsecret Смотришь насколько он качественно разобрался с новой для него темой или задачей. Понял ли как это ра… twitter.com/i/web/status/9…11:51
Вообще с возрастом как-то начинаешь понимать важность софтскилов. Стараешься больше читать и узнавать нового и как-… twitter.com/i/web/status/9…
11:56Интересно что чтобы успевать больше надо не тратить больше времени, а наоборот, больше заниматься питанием, режимом… twitter.com/i/web/status/9…
11:58Один из интереснейших опытов в моей жизни был от осознания того что я, вот лично я, не самый лучший человек на земл… twitter.com/i/web/status/9…
12:03И разрешив себе быть “не очень то”, осознав что ты сам мало чем лучше других, ты автоматически бессознательно “разр… twitter.com/i/web/status/9…
12:05Так вот этот опыт очень сильно повлиял на меня и в работе. Когда ты считаешь себя идеалом, то ты вместо того чтобы… twitter.com/i/web/status/9…
12:07Если ты понимаешь что ты сам.. Ну так себе человек, среднего сорта, то ты и к ошибкам других людей относишься с пон… twitter.com/i/web/status/9…
12:09Второй интересный скилл это дизайн информации, когда ты думаешь как сформулировать сообщение таким образом чтобы он… twitter.com/i/web/status/9…
12:13@backendsecret На эту тему есть книжка Саши Карепиной «Искусство делового письма». О том, как логически внятно и до… twitter.com/i/web/status/9…12:20
Дизайн информации прокачивается книгами по дизайну, по UX, есть еще куча филологических книг типа “Слово живое, сло… twitter.com/i/web/status/9…
12:21Посоветовать какие-то другие книги сложно. Потому что то, что кажется наивным для специалистов могло быть откровени… twitter.com/i/web/status/9…
12:30Ещё в рамках софтскилл пятницы хочу посоветовать сайт lesswrong.ru - сообщество людей которые стремятся… twitter.com/i/web/status/9…
12:32А какие книги вы прочитали за последние пол года? И почему?
12:42@backendsecret Томас Метцингер "Туннель эго", Чайна Мьевиль "Город и город". Потому что люблю читать. И чего ? ) На… twitter.com/i/web/status/9…12:49
@backendsecret @skv_nskv есть проблема tradeoff в балансе работать/учиться, есть люди, которые дофига учатся за сче… twitter.com/i/web/status/9…
Вообще хорошая тема. Когда я работал в граммарли мы с ребятами планировали им цели на пол года (типа лучше разбират… twitter.com/i/web/status/9…
12:52(2/2) и раз в год пересмотр целей и оценка достижений. С тех пор я всегда стараюсь внедрять что-то подобное где бы ни работал.
12:53Ух. Тут уже дошли что те кто не дает писать код на бумажке никогда не проводили собеседования и ни за что не отвеча… twitter.com/i/web/status/9…
13:05@backendsecret The Rust Programming Language, потому что Rust клёвый и похоже, что свою нишу в индустрии он прочно… twitter.com/i/web/status/9…13:15
@backendsecret Effective devops, building microservices, пару по python, полное погружение про плавание, cycling an… twitter.com/i/web/status/9…13:19
Еще одна интересная штука которую я обычно проверяю по софтскилам это положительный настрой: мне приятнее работать… twitter.com/i/web/status/9…
13:19@backendsecret Только худлит. Потому, что по профессии книги устаревают еще до выхода из типографии. по профессии я читаю интернет.13:20
@backendsecret Сначала счел эти книги полезными, а в процессе не разубедился. Начинал вот "Интеллектуальный инсульт… twitter.com/i/web/status/9…13:20
@backendsecret Ну давай, пропиарь @readIT4all и пригласи желающих почитать вслух. Подключаемся народ =) Харош читать в крысу!)))13:40
@AstarothAst @backendsecret А как же, например, Мифический Человеко-Месяц? :)13:41
Сколько лет книге, а устаревшей назва… twitter.com/i/web/status/9…
@backendsecret Netty in action, Effective Java 3rd edition (тут скорее перечитал, т.к. нового немного). Ну и тут мо… twitter.com/i/web/status/9…13:41
@blazernere @backendsecret @AstarothAst "Психбольница в руках пациентов"13:53
@backendsecret Щедровицкий. Мне стало понятно в чем суть менеджмента и в чем отличие инженерии от науки.14:35
@backendsecret Patrick Lencioni - The Five Dysfunctions of a Team, The Advantage.15:07
@backendsecretВсеволод, чем отличается найм кодера от найма адвоката или плиточника? адвокат не гарантирует оправда… twitter.com/i/web/status/9…
В юношестве я подрабатывал на стройке и при приеме на работу бригадир проверял всех как они работают. Фактически вс… twitter.com/i/web/status/9…
16:04Остаток пятницы можно попробовать поговорить о руководстве командой. Как вам идея?
16:42Я опять буду советовать: очень важно чтобы ваши коллеги не чувствовали разделение на лучше\хуже. Вы все одна команд… twitter.com/i/web/status/9…
16:45Поэтому я стараюсь убрать лычки “синьор” и так далее. Аналогично если вы тимлид это не означает что все должны вас… twitter.com/i/web/status/9…
16:46Замечу, что конкретно тут я говорю о небольших командах при умеренных темпах найма. Естественно есть случаи когда и… twitter.com/i/web/status/9…
16:48Опять же, вы как руководитель должны думать о том что надо бизнесу, желательно в долгосрочной перспективе. Поэтому… twitter.com/i/web/status/9…
16:51@backendsecret Но ведь некоторые действительно лучше, а некоторые действительно хуже.
Как сделать так, чтобы коллег… twitter.com/i/web/status/9…
Если ты кого-то не считаешь крутым значит для этого должны быть причины. Проанализируй мотивы и исправь. Каждый чел… twitter.com/i/web/status/9…
16:56Выпишете себе на листочек список вопросов, которые могут волновать ваших подопечных и постоянно проходите по этому… twitter.com/i/web/status/9…
17:00Делайте постоянные ревью и общайтесь с подопечными, будьте на их стороне. Если человек хочет развиваться в определе… twitter.com/i/web/status/9…
17:02Постарайтесь не создавать “золотую клетку”. Я сам был в ситуации когда мне надо было уже уйти из компании, потому ч… twitter.com/i/web/status/9…
17:05@backendsecret "Записки биржевого спекулянта" - книга 1927 года, а весьма интересна и до сих пор. Та же крипта :)17:23
Постарайтесь устраивать ежедневные встречи между коллегами. Потому что часто что знает один может не знать другой.
17:26Еще одна штука которая была не очевидна для меня – везде можно наработать запас прочности, даже в управлении. Если… twitter.com/i/web/status/9…
17:27@backendsecret Не превратится ли это в нужную трату времени? Не лучше ли письменно вести логи в общем доступе, тогд… twitter.com/i/web/status/9…
Ну вообще это интересно. Я пробовал смешивать эти два подхода и получилось интересно: перед общим митингом все долж… twitter.com/i/web/status/9…
18:00Митинги стали занимать меньше времени, но поддерживать такую штуку очень сложно, поэтому даже не знаю.
18:01@blazernere @backendsecret Да, должен. Фидбек нужно давать один-на-один и без сравнений. Говорить просто, что вот т… twitter.com/i/web/status/9…18:40
@backendsecret @strizhechenko в ту же копилку про соглашения/стандарты gnu.org/prep/standards…18:45
@backendsecret Я склоняюсь к тому, что чуток микроменеджмента можно, но он должен основываться, да, на хорошем отно… twitter.com/i/web/status/9…
Сложная штука. Я не люблю микроменджмент, но всеми руками поддержу общее обсуждение и взаимопомощь. twitter.com/borovikov/stat…
18:51Кстати, часто микроменджмент появляется из-за страха руководителя что подчиненные накосячат. Это страх надо прогоня… twitter.com/i/web/status/9…
18:52@backendsecret Я про ситуации, когда обсуждение застряло, и нужен кто-то кто сдвинет с мертвой точки. Ведь есть про… twitter.com/i/web/status/9…19:05
@backendsecret Вот что под руку попалось iq-tests.eu/iq-test-Practi… Когда копал глубже, помню было вообще сильное заяв… twitter.com/i/web/status/9…22:42
@backendsecret Вот ещё более научно: link.springer.com/article/10.100…22:43
@strizhechenko @backendsecret - как обучались?22:44
@backendsecret Иногда добавляю два вопроса:22:44
@backendsecret Философия DevOps искусство управления IT. Сейчас читаю Проект «Феникс».22:45
@backendsecret Основная проблема в том что influxDB сжимает всего по тысяче значений в блоке, чтоточ мало. Остальное вторично
Изолированный алгоритм работает довольно медленно на любых батчах. Там очень много битовых операций, сдвиги, маски… twitter.com/i/web/status/9…
8:58Сегодня я планирую вещать про многопоточность и разработку серверных приложений. Начну пожалуй с одного распростран… twitter.com/i/web/status/9…
9:01мьютексы, лучше используйте атомарные операции или lock-free алгоритмы, это быстрее. Это полная глупость. Во первых… twitter.com/i/web/status/9…
9:03многопоточке, но ей уделяется слишком мало внимания, как правило. Если у вас есть, скажем, 32 процессора и каждый и… twitter.com/i/web/status/9…
9:05... мьютекса no contention. Когда вы пытаетесь оценить эффективность того или иного алгоритма, не нужно смотреть на… twitter.com/i/web/status/9…
9:07High contention это тяжелая операция, no/low contention это практически no-op - десятки наносекунд.
9:08На этом строятся производительные параллельные алгоритмы. Расскажу на примере Akumuli. В Akumuli есть понятие сесси… twitter.com/i/web/status/9…
9:10каждый элемент данный относится к тому или иному временному ряду. Каждый временной ряд хранится в центральной табли… twitter.com/i/web/status/9…
9:15перемещает его в свой локальный кэш, обращение к локальному кэшу тоже защищено мьютексом (другим), только к нему об… twitter.com/i/web/status/9…
9:17... в тот же ряд, она захватит lock "центральной" таблицы, обнаружит что ряд существует но уже используется другой… twitter.com/i/web/status/9…
9:19Почему это быстро работает? Потому что обычно, с вероятностью близкой к 100% каждый клиент будет записывать свой на… twitter.com/i/web/status/9…
9:21захвачен один раз для каждого временного ряда, а мьютекс сессии, будет захватываться только из потока этой сессии,… twitter.com/i/web/status/9…
9:23Вот так это выглядит на 32х ядерном инстансе - akumuli.org/akumuli/2017/0… pic.twitter.com/FJoqAa7Jp4
9:25Если надо, я могу про код на бумажке и женщин, вы только скажите. twitter.com/blazernere/sta…
9:25К атомарным операциям все вышесказанное тоже относится в равной степени. Атомарная переменная в которую пишут десят… twitter.com/i/web/status/9…
9:28Счетчики в многопоточном окружении оптимизируются с использованием ровно тех же принципов, для примера можно заглян… twitter.com/i/web/status/9…
9:31На своей локальной машине вы можете не заметить деградацию производительности, т.к. код часто пишется на слабых маш… twitter.com/i/web/status/9…
9:35@backendsecret А что насчёт memory ordering, приходилось ли тюнить атотомики( очень много видел их использование то… twitter.com/i/web/status/9…
Я пишу только под x86, там strong memory order по умолчанию, поэтому подобный тюнинг ничего не дает :) Но, эти флаг… twitter.com/i/web/status/9…
9:37использовать acquire/release. На правильной арх. это будет быстрее, но помимо этого, это сделает код более понятным… twitter.com/i/web/status/9…
9:39Lock-free это та же ерунда. Если у вас есть LF очередь, которая находится под high contention, то это медленно :) М… twitter.com/i/web/status/9…
9:45Одно из таких применений, которое я видел не скажу где, заключалось в том, что LF очередь использовалась для взаимо… twitter.com/i/web/status/9…
9:47Если бы там использовалась обычная синхронизация, все могло бы встать колом (deadlock).
9:48@blazernere @backendsecret Нене мне нравится, продолжайте? Кстати у вас есть блог про программирование, а то в твит… twitter.com/i/web/status/9…
У меня есть мой персональный твиттер (там в основном про еду) и блог на akumuli.org - там на английском… twitter.com/i/web/status/9…
9:51Тут недавно одни чуваки из какого-то университета в Британии опубликовали статью про свою БД с кучей тестов, в кото… twitter.com/i/web/status/9…
11:49Вот их табличка с результатами для сжатия (нужно учитывать что influxdb не хранит дубликаты, а в некоторых датасета… twitter.com/i/web/status/9…
12:00Вот табличка с результатами тестирования скорости записи (не нашел сколько же точно значений в каждом row). Ну и "D… twitter.com/i/web/status/9…
12:26Ну и последний график на сегодня - скорость агрегации. Нативная агрегация есть только в Akumuli и у этих чуваков. pic.twitter.com/IfDLl20AcV
12:30Еще один аспект разработки многопоточных приложений, который часто упускают из вида, это балансировка нагрузки. Час… twitter.com/i/web/status/9…
12:32Это работает в простых случаях, например data parallelism с кучей одинаковых задач. В более сложных случаях, нагруз… twitter.com/i/web/status/9…
12:34Для data parallel приложений тут все довольно просто, т.к. давно придуман алгоритм task stealing, который сидит уже… twitter.com/i/web/status/9…
12:36Насколько я знаю, scheduler в golang использует task stealing. В этой статье есть хорошее описание - en.wikipedia.org/wiki/Work_stea…
12:41Но помимо data parallel приложений, которые можно побить на fine grained задачи, которые можно выполнять таким спос… twitter.com/i/web/status/9…
12:44приходят по очереди, поэтому их нельзя выполнять параллельно, используя несколько worker-ов. Чтобы распараллелить п… twitter.com/i/web/status/9…
12:45потом промежуточный результат Х1 кладется в межпоточную очередь, из которой его выбирает второй поток, там он обраб… twitter.com/i/web/status/9…
12:47В идеале, у вас получится задействовать столько ядер, сколько у вас потоков в пайплайне. В идеале = каждый этап пай… twitter.com/i/web/status/9…
12:50вы получите последовательное приложение. В этом случае, нужно постараться пересмотреть структуру приложения и разби… twitter.com/i/web/status/9…
12:52через которые передаются данные, будет постоянно забита, а другая часть - наоборот. Поэтому если у вас есть приложе… twitter.com/i/web/status/9…
12:53Это можно делать динамически, но это уже совсем не просто. Вот например интересный проект github.com/RaftLib/RaftLib э… twitter.com/i/web/status/9…
13:03@backendsecret Эти бенчмарки вообще ни о чем не говорят. Ни про репликацию, ни про consistency write-ов тут ни слов… twitter.com/i/web/status/9…
Там нет ничего про репликацию потому что все крутится на одной машине. Тестовая конфигурация описана в статье. twitter.com/meln1k/status/…
13:52В этой статье описывается стек для мониторинга на основе Kubernetes, Sonar и Akumuli - itnext.io/monitoring-on-…
14:32@backendsecret На какой ide akumuli пишешь?
Код на С++ в QtCreator. Код на python и typescript в Visual Studio Code. twitter.com/truetobetrue/s…
17:06Всем доброго времени суток. Меня зовут Виталий, я занимаюсь разработкой бекенда на Node.js и PHP. Сегодня я хочу с… twitter.com/i/web/status/9…
9:42Первым в нашем списке будет такая замечательная штука как RedNode (nodered.org). Если вам нужна управля… twitter.com/i/web/status/9…
9:58С ним можно легко связать, и телеграм бота и твиттер аккаунт и базу данных и множество других вещей. Имеет в своём… twitter.com/i/web/status/9…
9:58@backendsecret Привет! А что побудило Вас переехать?
По поводу вопроса о посёлке. Сейчас прописки нет, так как дом ещё не построен. Побудило переехать наличие людей мыс… twitter.com/i/web/status/9…
11:32Прописка обычная, как и в обычном частном доме.
11:39Одним тёплым летним вечером, хотя может это была и лютая зима, разработчики Express.js решили сделать ещё один фрей… twitter.com/i/web/status/9…
15:00Пару команд в консоли (lb model Data) и API готово. умеет делать связи между моделями, работает с большинством прот… twitter.com/i/web/status/9…
15:00Как вы относитесь к NoSQL базам данным?
15:12Всем спасибо за общение, передаю эстафету следующему ведущему. Доброй ночи.
21:54@backendsecret Я вспомнил как нас на первом курсе учили *связным спискам на плюсах. Я тогда стал гуглить на эту тем… twitter.com/i/web/status/9…
Вот правда же, так никто не делает и так делать не нужно! Ну нельзя на первом курсе хорошо связные списки реализова… twitter.com/i/web/status/9…
0:17@backendsecret @SingleTolM Именно!10:54
@backendsecret SICP однозначно, надо начинать с азов, а язык это всего лишь инструмент, можно с Lambda Calculus/Has… twitter.com/i/web/status/9…
С удовольствием бы пообщался с преподавателем, который реализовывал бы этот план в реальности. Причём именно с таки… twitter.com/i/web/status/9…
14:53@backendsecret Хм... А что в C++ такого страшного, что аж умереть можно преподавая? :)
А есть у кого-нибудь мнение относительно такого стиля обучения языку программирования с нуля: берётся задача, делит… twitter.com/i/web/status/9…
15:29@backendsecret Как стать преподавателем? Что для этого нужно/важно делать? Что не надо делать? Какие книжки читать?
Вообще конечно же ясно, что преподавателем становиться не нужно. Это массовая и совершенно не уважаемая (судя по фи… twitter.com/i/web/status/9…
17:01Можно читать сколь угодно прекрасные лекции, быть любимым и уважаемым студентами, но при этом любой член какой-нибу… twitter.com/i/web/status/9…
17:02Никогда не слышал, кстати, чтобы спрашивали, а почему у вас такие скучные лекции? Или почему вы читаете материал по… twitter.com/i/web/status/9…
17:04Я этом так так обиженно пишу, потому что я не учёный и мне не место в академии. Я не сделал никаких научных открыти… twitter.com/i/web/status/9…
17:06Написать три статьи про какую-нибудь никому не нужную ерунду? Жалко тратить на это время. Перевести книжку — это по… twitter.com/i/web/status/9…
17:09Не знаю, как стать преподавателем. Я с самого детства знал, что буду преподавателем. Начал работать на третьем курс… twitter.com/i/web/status/9…
17:12Когда учился, всегда замечал, кто из учителей как объясняет, кто лучше, кто хуже, как надо было бы объяснять на сам… twitter.com/i/web/status/9…
17:13Преподаватель должен уважать учеников (любого возраста, разумеется), видеть в них личности, искать подход. Все разн… twitter.com/i/web/status/9…
17:16Я готов тратить любое время на тех, кто хочет чему-то научиться. Меня гораздо меньше интересуют те, кто не хочет. З… twitter.com/i/web/status/9…
17:20Вообще преподавание у нас — не особенно конкурентная профессия, преподавателем стать относительно несложно. Есть од… twitter.com/i/web/status/9…
17:24Он надеется, что будет оценён горящими глазами студентов, их стремлением научиться и готовностью решать задачи. Реа… twitter.com/i/web/status/9…
17:26Я так долго обижался на студентов. Это глупо, конечно, было. Нужно делать своё дело, по возможности хорошо. Постоян… twitter.com/i/web/status/9…
17:28@backendsecret "Learn You a Haskell for Great Good" хорошая книга для новичка? Мне в свое время отлично зашла
Мне очень нравится эта книжка. Благодаря ей завязались мои отношения с ДМК Пресс. Сейчас расскажу историю, как это… twitter.com/i/web/status/9…
17:3428 декабря 2011 года я написал письмо на адрес издательства (взял на сайте), представился преподавателем ФП и спрос… twitter.com/i/web/status/9…
17:37Я, разумеется, согласился, и начал читать. Выяснилось страшное: книга находилась в жутком состоянии. Масса опечаток… twitter.com/i/web/status/9…
17:40Ну и началась работа: весь январь я правил макет, исправлял ошибки, многое переводил заново (там ещё были расхожден… twitter.com/i/web/status/9…
17:42Ну а после этого завертелось: несколько книг я перевёл сам и вместе с @ulysses4ever, потом ещё что-то редактировал.… twitter.com/i/web/status/9…
17:44@backendsecret Это факт. Но на ВУЗах-то свет клином не сошёлся. Крупным компаниям нужно обучать будущих и нынешних сотрудников.
Я не встречал таких вакансий в Ростове, честно говоря. К тому же со взрослыми работать менее интересно, чем с молод… twitter.com/i/web/status/9…
17:48Меня тут ещё спрашивали про переезд в столицы (меня, кстати, в ВШЭ недавно хантили чуток!) или за границу: так полу… twitter.com/i/web/status/9…
17:52Кстати, питерские, у вас есть отличный сайт посмотреть на меня вживую в конце марта, я буду читать курс по внутренн… twitter.com/i/web/status/9…
17:54ПОМИРАН — не очень жизнеутверждающее название. twitter.com/backendsecret/…
Ага, известная шутка в академической среде. Зато там 10 проблему Гильберта решили! Правда, тогда название было друг… twitter.com/i/web/status/9…
17:57@backendsecret Что вам нравится в работе преподавателя? Что не нравится? Есть ли какие-то планы на будущее?
Мне нравится готовиться к занятиям и читать лекции. Пошутишь на лекции — все смеются, здорово же! Не всегда, правда… twitter.com/i/web/status/9…
18:03Не нравится бумажки писать. У нас много бумажек и они совершенно бестолковые. Я как-то в Нидерландах в Университете… twitter.com/i/web/status/9…
18:06У меня сейчас два больших дела в планах. Во-первых, я пишу Haskell in Depth для Manning Publications. Сейчас уже не… twitter.com/i/web/status/9…
18:11Под эту книгу и для англоязычного мира даже аккаунт специальный есть, @VBragilevsky, тоже можно подписываться! Втор… twitter.com/i/web/status/9…
18:13Куда возьмут, в общем-то. Там я по условиям гранта должен буду разрабатывать курс по Software Verification (Coq, вс… twitter.com/i/web/status/9…
18:16Так, друзья, я понимаю, что неформат для сообщества, и всё такое, но вы лайкайте, пожалуйста. Мне меньше трёх фавов… twitter.com/i/web/status/9…
18:28@backendsecret @_bravit Ок, тогда серьезный вопрос: насколько легче или тяжелее обучать уже опытных разработчиков (… twitter.com/i/web/status/9…
Вот ещё вопрос в загашнике оставался. Тут я вступаю на скользкую почву, потому что опыта такого у меня нет, только… twitter.com/i/web/status/9…
18:37С другой стороны, им сложнее всё воспринимать, теория идёт гораздо хуже (видимо, это как-то связано с формированием… twitter.com/i/web/status/9…
18:40Получается так: в чём-то легче, в чём-то сложнее. Для лучшего усвоения информации необходима постоянная мотивация д… twitter.com/i/web/status/9…
18:44Ещё опытные разработчики с гораздо большей готовностью читают текст! Они могут даже читать внимательно, разбираясь… twitter.com/i/web/status/9…
18:48@backendsecret тут про планы спрашивали и… я не удовлетворился ответом! У нас тут любят спрашивать: кем ты себя вид… twitter.com/i/web/status/9…
Спасибо за вопрос! Я хочу, чтобы меня приглашали в разные места читать лекции! С удовольствием бы поездил по Росси… twitter.com/i/web/status/9…
18:56@backendsecret А должен учитель обсуждать последние баттлы Гуфа со Птахой? Или ты на младших классах школы не специализируешься?
Когда я работал со школьниками, приходилось изучать матчасть для таких обсуждений. Иначе никак. Вообще обязательно… twitter.com/i/web/status/9…
20:16Подписывайтесь на инстаграм, кстати! У меня есть селфи с самим Бартошем Милевским, евангелистом теории категорий! instagram.com/_bravit/
20:30Вообще польза @backendsecret не столько в том, что там можно знания получить, в-общем то нет - слишком разношерстны… twitter.com/i/web/status/9…20:36
@vvn33 @backendsecret Надо быть в теме, но не опускаться до такого и детей предостерегать. ИМХО.
Культурно проводим вечер пятницы в Разработчике бэкенда twitter.com/dcromster/stat…
20:40Исторический момент. Клип Гнойного в обсуждениях @backendsecret twitter.com/vvn33/status/9…20:44
Немного поменяем планы на выходные. Завтра я поговорю про куррикулум: какие курсы нужны для подготовки программист… twitter.com/i/web/status/9…
21:32А вот теперь PLOT TWIST! У меня только что сын родился!
(а думаете почему я с вами только урывками был? ;-) )
Рубеном назвал
да да, если вырастет PHPшником -- он мне больше не сын #RubyForLife
@backendsecret Каждая его поездка на поезде будет называться Ruben on Rails
Лучшее :-D
twitter.com/danny_galt/sta…
А как посмотреть на какое место по Бишкеку я вывел @backendsecret ? :-) twitter.com/batyshkaLenin/…
23:12@backendsecret Тут аж на 20 причин расписали: vc.ru/34436 с чем согласен, с чем нет?
Я с 2009 года занимаюсь имплементацией стартапов. Когда ты внутри, ты не субъект, а объект статистики, так что уж т… twitter.com/i/web/status/9…
23:16@backendsecret а можно этот паттерн тоже расшифровать?
Гетто-код это когда есть модуль с high coherence & low coupling, но внутри просто адский замес фекалий. В этом случ… twitter.com/i/web/status/9…
23:19@backendsecret Кроме психологического был ещё какой-то эффект? Долг стал уменьшаться при 20%?
Наконец-то стал возможен стратегический рефакторинг. Мы всегда оптимизировали два параметра: time to market (с сам… twitter.com/i/web/status/9…
23:21@backendsecret pornhub, кстати, написан на PHP и что-то никто не жалуется, что сайт плохой.
Да нормальный PHP язык на самом деле, просто почему-то принято подтрунивать над PHPшниками, вижуал бейсикистами, гу… twitter.com/i/web/status/9…
23:25Есть подозрение, что PHP жертва когнитивного искажения, когда "автомобиль судят по водителям". По разным обстоятель… twitter.com/i/web/status/9…
23:26@backendsecret PHP - нормальная платформа которая хорошо решает свои задачи. А язык php - не такой уж и нормальный.
Хорошая формулировка, спасибо, а то это буквально на излёте моей квалификации, я на PHP кодил всего несколько месяц… twitter.com/i/web/status/9…
23:35@qnikst @backendsecret Воооот! 😀
Можете, когда хотите )Давай дальше: как собираете и деплоите веб-проект?
Похапеш… twitter.com/i/web/status/9…
> Давай дальше: как собираете и деплоите веб-проект?
Похапешники выкладывают горой файлы, жависты собирают war/ear.… twitter.com/i/web/status/9…
Друзья, прошу прощения, если сегодня буду отвечать не сразу. Задачку доделать нужно важную...
10:12"Что такое монады: заблуждение из мира Haskell": ruhaskell.org/posts/theory/2….
Это к вопросу о монадах...
11:05@zhulikgleb @backendsecret В Haskell можно сделать тоже самое. (Только статическое ядро надо, в erlang VM играет ег… twitter.com/i/web/status/9…11:59
@backendsecret @AstarothAst Если что, то nix-ом можно собирать docker контейнеры, нету лишнего мусора в истории док… twitter.com/i/web/status/9…12:02
Обращаюсь к присутствующим здесь любителям обобщения...
Друзья, если я не могу ответить на ваши вопросы (так, как… twitter.com/i/web/status/9…
12:08Нужно было сказать это сразу, но скажу сейчас. Я не эксперт. Ни в Хаскеле, ни в бэкенде. Здесь, как вы успели замет… twitter.com/i/web/status/9…
12:08@russianlagman @backendsecret А почему он должен отличаться? Мы ж не инопланетяне какие, чтобы все по своему делать.
Золотые слова! Нет, бриллиантовые!! twitter.com/qnikst/status/…
12:09Пятничное. Весёлая песня про языки и вот этот вот всё: youtu.be/cdX8r3ZSzN4
14:30@kreshikhin @backendsecret @ChShersh @cblp_su похоже тут коней и людей в миксер засунули и пушками приправили...14:46
@qnikst @backendsecret @ChShersh @cblp_su Ок, понял ребята.У вас тут секта походу, не буду в вашу гей-компанию со… twitter.com/i/web/status/9…
Да, так проще всего выйти "победителем" из дискуссии. twitter.com/kreshikhin/sta…
14:50@kreshikhin @backendsecret @ChShersh @cblp_su ФП это про способ конструирования программ, вот не уверен, что я смог… twitter.com/i/web/status/9…15:16
@jbaruch @dcromster @PIlIGRIM @backendsecret @bobuk А что, именно от Haskell нужна передышка, а от Java/C++/PHP/Nod… twitter.com/i/web/status/9…17:51
@Yurrist @backendsecret В виде методических рекомендаций то есть.
Это когда рекомендуют некоторые методы для решен… twitter.com/i/web/status/9…
1. fpcomplete.com/blog/2016/11/e… - рекомендации по исключениям.
19:27@skv_nskv @backendsecret Много кто сделал много чего. Мой личный вклад тоже доступен онлайн:19:45
reddit.com/r/haskell/comm…
Вот простейшее решение на Haskell.
Одна идея - один тип. 2 версии + 2 представления = 4 способа создать IP-адрес.… twitter.com/i/web/status/9…
21:49Использовать это будем так:
main = print $ IPv4Bytes 127 0 0 1
или так:
main = print $ IPv6String "::1"
Нам не… twitter.com/i/web/status/9…
21:49Благодаря `deriving Show` мы сразу получаем возможность отображать IP-адрес в виде стандартной строки (например, при печати адреса в лог).
21:49А благодаря `deriving Eq` и `deriving Ord` мы можем сравнивать адреса друг с другом, а также использовать их, напри… twitter.com/i/web/status/9…
21:49Разумеется, друзья, этот пример сугубо искусственный. В реальном проекте мы с вами конечно возьмём какую-то готовую… twitter.com/i/web/status/9…
21:49@backendsecret Что за дичь я прочел? Какая разница что тащить с билд-сервера на прод? Jar или exe. Уже второй месяц… twitter.com/i/web/status/9…
Разница хотя бы в том, что на прод-серваке в этом случае не нужно иметь ни компилятор, ни интерпретатор, ни Хаскель… twitter.com/i/web/status/9…
21:56Ну что ж, друзья, по моим часам (в Армении GMT+4) уже за полночь, а это значит, что рабочая неделя закончилась. А п… twitter.com/i/web/status/9…
23:16История про то, как видеотрансляция приземления Чарльза Симони, автора венгерской нотации, ставшего пятым космическ… twitter.com/i/web/status/9…
23:16Ну и кстати, мы ищем разрабов ams-ix.net/about/careers-…11:48
@backendsecret а ретвитни про поиск .net в Питере. spb.hh.ru/vacancy/241659… Свой реально используемый продукт, прост… twitter.com/i/web/status/9…12:27
@vkozulya @backendsecret Быть токсичным мудаком неотъеблимое право любого разработчика. Главное им не злоупотреблять.13:04
Вопрос к @dcromster, @vvn33 и всем читателям @backendsecret. Какие коллективные твиттер аккаунты на английском вы знаете? Они существуют?14:30
@alan_ko @dcromster @vvn33 @backendsecret и вообще по хэштегу #rocur14:41
А теперь вопрос, что лучше твиттер лекции @5HT или @backendsecret ? :-)
Ну как же так? twitter.com/5HT/status/979…
16:34Продолжая тему расшаривания ресурсов:
Может знаете такой сервис чтобы расшаривать файловое место за денюжку?
@backendsecret @Arhelmus filecoin?17:12
@backendsecret @alan_ko @dcromster @vvn33 Вполне существуют. Примеры не IT, но вполне действующие: @SmallholderIRL и @SmallholdersUK :)17:12
MaidSafe habrahabr.ru/post/237193/
17:15А есть кто на Rust пишет?
18:24Итак, возвращаюсь к вещанию. На повестке: японское IT, митапы, и волонтерство для студентов.
4:54Начну пожалуй с волонтерства. Сразу возникает вопрос: зачем мне это надо? Действительно, у большинства (да и у меня… twitter.com/i/web/status/9…
4:57Однако большие проф. конференции – это совсем другой зверь. Для сравнения – я работал на ACM SIGGRAPH в качестве во… twitter.com/i/web/status/9…
5:06Это очень много организации, но в то же время и очень много финансирования. У нас помимо фич вроде нетворкинга и бе… twitter.com/i/web/status/9…
5:34– Менторство и резюме ревью: можно было забронировать интервью с профессионалом из вашей области работы по поводу б… twitter.com/i/web/status/9…
5:34– Ланчи и другие ивенты с различными компаниями. Например на североамериканской конф. делали ланчи с Pixar, Dreamwo… twitter.com/i/web/status/9…
5:34В общем, суть была в том чтобы заинтересовать и мотивировать талантливых студентов в работе в индустрии, создать ил… twitter.com/i/web/status/9…
5:34И как ни странно оно работает, многие из ведущих исследователей и инженеров в прошлом были волонтерами. Да и что та… twitter.com/i/web/status/9…
5:34И да, это все хорошо смотрится в резюме, особенно если у вас как у студента еще нет обширного опыта работы в разных… twitter.com/i/web/status/9…
5:36Если вам интересно поучаствовать, то скоро откроют регистрацию на конференцию в Токио sa2018.siggraph.org/en/volunteers
Я та… twitter.com/i/web/status/9…
5:38или писать вот сюда @SIGGRAPHAsiaSV 🙌
5:39К слову о волонтерстве, в прошлом году за мою работу мне дали грант на поездку на премию Алана Тьюринга в Сан Франц… twitter.com/i/web/status/9…
6:15(где-то здесь реклама про "на этом месте могли быть вы")
6:17Самое интенсивное что я делал с алгоритмами за последние пару лет – это сделал фото с Дональдом Кнутом (на том же ивенте)
6:19Даже сохранилось видео где я докапываюсь до Кнута с тупыми вопросами :) youtu.be/ACsQ4ixtqTc?t=…
9:34# Воскресенье 152 твита
Всю эту неделю по просьбе уважаемого @dcromster с вами был @dsimonov. Всем удачи!
19:04Кстати, информационное объявление всем любителям IT-археологии:
В славном городе Муром. что во Владимирской же обла… twitter.com/i/web/status/9…
Фанатам FreeBSD (а, есть еще такие?:)) могу рекомендовать сайт нашего админа: lissyara.su
Все еще живой… twitter.com/i/web/status/9…
Ну и напоследок задам такой тред. Мы смогли сильно оптимизировать скорость работы нашего проекта, просто избавившис… twitter.com/i/web/status/9…
16:41@backendsecret У нас в Харькове не так давно открылся: facebook.com/sncmuseum/17:49
Насколько знаю, начался из частной коллекции.
Ну чего, пора расставаться. Это была очень крутая неделя! Много новых знакомств, новый опыт и новые знания) Лично м… twitter.com/i/web/status/9…
20:25@backendsecret приходите к нам на митап 15 февраля. все расскажем про elixir. elixir-lang.moscow
С удовольствием но
Надо лететь 4 часа и у вас холодно :) twitter.com/elixir_lang_mo…
Решил сделать ревизию в AWS.
life hack: awless => csv=> excel полезное сочетание
нашел что если поменять все остав… twitter.com/i/web/status/9…
Напоследок немного нетехнического.
К сожалению, нередко мне приходится видеть новые проекты, написанные совсем без… twitter.com/i/web/status/9…
15:21Практически любой *новый* проект должен быть максимально простым (MVP), чтобы быстрее реагировать на изменения.
П… twitter.com/i/web/status/9…
15:21А меняется всё вокруг: требования, окружение, тренды, настроение людей. Свои ошибки надо исправлять быстро.
Тут пр… twitter.com/i/web/status/9…
15:21Это также касается и тестов: селективное покрытие повышает качество продукта (а иногда даже ускоряет разработку). Н… twitter.com/i/web/status/9…
15:21Конечно, многим хочется щупать модные технологии. Обёртки всегда вкусные.
Новые проекты, казалось бы, это хороший… twitter.com/i/web/status/9…
15:21Бизнес не любит лишние риски, но склонен доверять нам, айтишникам, в принятии технических решений (особенно не-IT б… twitter.com/i/web/status/9…
15:21Как тогда знакомиться с технологиями, благодаря которым вы сможете делать свою работу лучше (быстрее/качественнее/с… twitter.com/i/web/status/9…
15:212. Общайтесь! Есть уютные локальные чатики, митапы, конференции, твиттер, менторинг. Люди, как правило, с удовольст… twitter.com/i/web/status/9…
15:213. *хотел написать про pet-проджекты, но почему-то передумал*
Ну а кроме шуток: если есть желание и возможность де… twitter.com/i/web/status/9…
15:21А если в команде нет опыта запуска похожих (технически) проектов – то постарайтесь найти человека, у которого он ес… twitter.com/i/web/status/9…
15:21Прекрасно понимаю, что маленьким командам найти себе такого человека бывает крайне сложно (из-за денег или недостат… twitter.com/i/web/status/9…
15:21Пора прощаться. С вами был @KostyaEsmukov
Надеюсь, что хоть кому-то мой скромный опыт оказался полезен.
Спасибо, с вами круто!
А если вам это всё показалось интересным и вы бы хотели работать с нами над добровольцыроссии.рф – напишите мне в DM: @KostyaEsmukov
17:58@backendsecret The Effective Engineer. Edmond Lau14:01
Ну вот. Подошла к концу моя неделя в @backendsecret
Надеюсь мы все теперь знаем немного больше о DevOps, о том ка… twitter.com/i/web/status/9…
22:36@backendsecret Когда кого-то любишь - бывает жарко 😏22:37
С вами был я, Всеволод @ctrlok Поляков из neuromation.io
Подписывайтесь на меня в твиттере, заходите в сла… twitter.com/i/web/status/9…
Сегодня я пол дня провел в самолете и ничего хорошего не написал. Зато ударно поработал над проектом, т.к. в самоле… twitter.com/i/web/status/9…
23:28И на этом пожалуй стоит попрощаться. С вами был @Lazin, всем спасибо за внимание, вы хорошее комьюнити :)
23:32Всем привет! Меня зовут Володя я из сектантского поселка программистов :) Занимаюсь разработкой для IoT и SmartAgro… twitter.com/i/web/status/9…
9:07Начнем с IoT:
Почти все IoT платформы используют протокол MQTT для передачи телеметрии с шлюза на платформу, котору… twitter.com/i/web/status/9…
Для MQTT необходим брокер на стороне сервера, к которому с одной стороны подключаются шлюзы, а с другой ваши сервис… twitter.com/i/web/status/9…
9:38Для нас крайне необходимо чтоб MQTT брокер умер работать в кластере, т.к. мы строим отказоустойчивую архитектуру и… twitter.com/i/web/status/9…
10:45Пользуясь случаем хочется сказать о том как сильно я горжусь нашим хоккеем) Пацаны ваще ребята!
Извините...
В IoT проектах достаточно часто используют WebSocket. Если у вас стоит задача обработать огромное кол-во соединений… twitter.com/i/web/status/9…
12:01Что касается серверной архитектуры IoT платформы, у нас это: OpenStack → Kubernetes → Docker
Ceph — как файловое хр… twitter.com/i/web/status/9…
Еще одна полезная ссылка, пригодится тем кто хочет понять петтерны проектирования в целом, а в частности на Golang… twitter.com/i/web/status/9…
12:48Вчера Женя писал о альтернативном CI интерфейсе для git Tig. Я же хочу порекомендовать отличный GUI клиент для #git… twitter.com/i/web/status/9…
13:01Кстати все ли разработчиков на #golang знают, что единственный нормальный драйвер mgo для MongoDB больше не поддерж… twitter.com/i/web/status/9…
18:24А вы любите sed/awk?
16:21@backendsecret только тонкость в том, что студенты в среднем пытаются работать уже после 2-3 курса. к концу обучени… twitter.com/i/web/status/9…
Работа во время учёбы — это плохо, эти ребята обкрадывают себя в будущем, но это их выбор. Все учебные планы рассчи… twitter.com/i/web/status/9…
16:41Но вуз не может ориентироваться на тех, кому «поздно что-либо узнавать» на старших курсах. В принципе, нормальная с… twitter.com/i/web/status/9…
16:46В реплаях много критики того, что я пишу про обучение программистов, причём с той мотивацией, что, мол, видали мы э… twitter.com/i/web/status/9…
16:49Я знаю очень мало вузов, которые бы так работали (собственно, вообще не знаю). Обычно у них много физики и ещё боль… twitter.com/i/web/status/9…
16:53Ну посудите сами, вчерашний выпускник сразу получает зарплату завкафедрой, через два-три года у него вдвое больше.… twitter.com/i/web/status/9…
16:56Они предпочитают посылать в вузы своих сотрудников, которые гораздо менее профессиональны в преподавании. Собственн… twitter.com/i/web/status/9…
16:57В статистике @backendsecret backendsecret.ru/stats/ нужно ввести дифференциацию: твиттер-140 и твиттер-280. Уверен,… twitter.com/i/web/status/9…
17:07@backendsecret В ИТМО эти проблемы неплохо решают, но только на одной кафедре youtu.be/1PBTVAv2P_0
Прекрасный Анатолий Абрамович Шалыто в том числе о том, как раскулачивать ИТ-компании. twitter.com/dvbobrov/statu…
17:30@backendsecret @dvbobrov Я сейчас скажу непопулярную вещь, но выход - дорогое платное образование без участия госуд… twitter.com/i/web/status/9…
Такое вот непопулярное мнение, с которым я, между прочим, полностью согласен. При этом ясно, что при попытке у нас… twitter.com/i/web/status/9…
17:58@backendsecret Категорически несогласен. Но систему образования менять надо. Во-первых нельзя привязывать финансиро… twitter.com/i/web/status/9…
Да-да-да, давайте побольше контролировать качество! Удвоим количество сотрудников Рособрнадзора! Заставим преподава… twitter.com/i/web/status/9…
18:08У проблемы финансирования образования нет идеального решения. Во всех странах свои сложности. Вы знаете, например,… twitter.com/i/web/status/9…
18:14При этом в США (где учиться дорого) очень развита конкуренция между студентами, они также зачастую требуют максиму… twitter.com/i/web/status/9…
18:16Про США я ещё слышал такие истории: студент из маленького городка, сумевший поступить в сильный (и дорогой!) вуз, п… twitter.com/i/web/status/9…
18:19Впрочем, можете считать меня русофобом, но у нас, если менять систему образования, будет хуже! Потому что не в системе образования дело.
18:21Сейчас пойду приму валерьянки и через 15 минут обратно, обсуждать гендерные вопросы.
18:26Передо мной список студентов первого курса направления «Фундаментальная информатика и информационные технологии», и… twitter.com/i/web/status/9…
18:46Например, о стереотипах у родителей: «ну какое программирование для девочек, иди лучше в психологи». Или о стереоти… twitter.com/i/web/status/9…
18:49А может, у девочек просто хуже баллы ЕГЭ по информатике? Не прошли, так сказать, по конкурсу? Не знаю, у меня нет т… twitter.com/i/web/status/9…
18:51У меня есть ощущение, что в первые годы существования нашего направления девочек было немного больше, скажем, проце… twitter.com/i/web/status/9…
18:52Однако вот вам другой факт. Недавно я считал академический рейтинг студентов второго курса, необходимый для распред… twitter.com/i/web/status/9…
18:55В первой десятке четыре девочки (при этом всего на втором курсе девочек 25%). Разумеется, это вообще ничего не озна… twitter.com/i/web/status/9…
18:59Идём дальше. В этом году нам предстоит десятый выпуск бакалавриата (первый был в 2009) и я попытался составить собс… twitter.com/i/web/status/9…
19:03Я начал преподавать программирование осенью 2000 года, за это время через меня прошли сотни детей, мальчиков и дево… twitter.com/i/web/status/9…
19:10Вопросы есть?
19:12Я, может, и пришёл в @backendsecret ради этого твита капсом. Ужасно раздражает уверенность в собственном превосходс… twitter.com/i/web/status/9…
19:16@backendsecret В 27-30 родит и закончит карьеру, когда захочет вернуться - увидит, что ит мир уже ускакал вперёд. И… twitter.com/i/web/status/9…
Между прочим, в ИТ гораздо проще быть в курсе развития технологий, даже находясь в декретном отпуске. Я знаю пример… twitter.com/i/web/status/9…
19:19@backendsecret Не кажется ли Вам, что успешность девушек в учёбе на "неженских" специальностях происходит от того,… twitter.com/i/web/status/9…
Нет, мне так не кажется. Во-первых, в детской компьютерной школе #ВКШ (sunschool.mmcs.sfedu.ru) мы всегда говорим,… twitter.com/i/web/status/9…
19:22Во-вторых, даже к моменту поступления в вузы идейных не так много, в школах-то с информатикой всё не очень, откуда… twitter.com/i/web/status/9…
19:24@backendsecret Мой опыт показывает что девушки могут успешно учиться и быть выдающимися, но засчет зубрежа, а на нем далеко не уедешь...
Дай бог каждому быть выдающимся, пусть даже за счёт зубрежа. Ерунда это, конечно же. twitter.com/igor_maslik/st…
19:27@backendsecret Хорошо если так, но лично у меня были перед глазами обратные примеры
Как насчёт примеров спившихся программистов-мужчин, умерших в районе сорока? twitter.com/aarexer/status…
19:29@backendsecret Я всего лишь указал на то что вывод из имеющихся данных не может быть корректным. Более того, данные… twitter.com/i/web/status/9…
Знаете, до 40-х годов была такая профессия, называлась «computer», вычислитель, то есть. Считалась чисто женской, м… twitter.com/i/web/status/9…
19:48А как только легче считать стало, так их место тут же мужчины заняли! Какие бы выводы отсюда сделать, даже не знаю…
19:49@backendsecret Когда я собиралась поступать на сп, мама отговаривала меня. Приводила аргументы, что не будет личной… twitter.com/i/web/status/9…19:51
@backendsecret Я одного не пойму, что этим вы пытаетесь достичь? Мы что-ли девушек не пускаем в это ит ебучее? Я ни… twitter.com/i/web/status/9…
Всё ради лайков! Вы только посмотрите, сколько их! Если серьёзно, я хочу, чтобы менялись стереотипы. Я хочу, чтобы… twitter.com/i/web/status/9…
19:56@backendsecret Это еще Форд заметил, что женщины лучше и точнее выполняют монотонную и однообразную работу. /На это… twitter.com/i/web/status/9…
Всё так. А уголь из шахт в XIX и начале XX века лучше всего дети лет десяти вывозили. Им же это как игра, на тележе… twitter.com/i/web/status/9…
20:01@backendsecret Проблема тут только в одном, в логике работодателя, что женщина может уйти в декрет, а мужчина - нет… twitter.com/i/web/status/9…
Часто приходится об этом слышать. Во-первых, долгие декреты — это чисто отечественная ситуация, проблема же найма д… twitter.com/i/web/status/9…
20:09@backendsecret Считал статистику по своей компании недавно. Девушки уходят в декрет. Зато мужики чаще увольняются.… twitter.com/i/web/status/9…20:16
Ура! Я стал чемпионом @backendsecret по общему числу лайков! Обошёл Бугаенко!
20:20@backendsecret Минус вас, как ведущего @backendsecret лично для меня в том, что не покидает чувство, что вы с небол… twitter.com/i/web/status/9…
Это неправда, у меня вообще нет ничего такого. Возможно, мой стиль поведения в твиттере так воспринимается. Прошу п… twitter.com/i/web/status/9…
20:30@backendsecret Виталий Николаевич, раз уж вы устроили гендерное воскресенье, я задам вам такой вопрос: нравится ли… twitter.com/i/web/status/9…
Я не знаю. Не очень верю в государственное регулирование чего угодно, я верю только в общественный договор. twitter.com/JMetelitsa/sta…
21:10Ребята и девчата! Есть свободная неделя 12/03-18/03 в @backendsecret. Есть желающие?22:05
надеюсь, что через несколько лет я пойму, что созрел в техническом плане для @backendsecret. тогда под конец недели… twitter.com/i/web/status/9…22:10
ЛИТЕРАТУРА
1) Get Programming with Haskell (manning.com/books/get-prog…) — для желающих войти в ориентированный на прак… twitter.com/i/web/status/9…
11) Мой твиттер: @_bravit
12) Мой второй твиттер (eng): @VBragilevsky
ПОСЛЕСЛОВИЕ
Для меня как человека, занимающегося подготовкой программистов очень важно быть в курсе того, что проис… twitter.com/i/web/status/9…
Эта неделя здесь, в @backendsecret, была для меня в этом плане очень полезной, очень продуктивной. Крайне вам за не… twitter.com/i/web/status/9…
22:59@backendsecret Выгорание очень интересная и важная тема. Выгораю примерно каждые 2-3 месяца, надо научиться отвлека… twitter.com/i/web/status/9…
Оох выгорание это больная тема, особенно с джунами, у которых рвение зашкаливает, но бывает оно в любом возрасте и… twitter.com/i/web/status/9…
17:21Всем приходиться объяснять, что выгорание -- это НЕ блажь или каприз, а серьёзный диагноз, могущий оставить програм… twitter.com/i/web/status/9…
17:22Самый частый кейс -- это когда народ работает через силу, искренне считая, что так он принесёт пользу коллективу/пр… twitter.com/i/web/status/9…
17:23Как и со многими другими болезнями, выгорание в 1000 раз проще предотвращать, чем лечить. Если чувствуете, что вот-… twitter.com/i/web/status/9…
18:05(особенно когда продакшин упал или ещё какой стресс)
Мы в команде придумали следующую штуку, которая работает прост… twitter.com/i/web/status/9…
@backendsecret Все так. Я конечно не джуниор, но и 20 лет опыта тоже нет еще. Причем когда джуниором был работал не… twitter.com/i/web/status/9…18:05
@backendsecret если после работы вместо отдыха пилишь свой пет-проджект - это тоже способствует выгоранию? И если д… twitter.com/i/web/status/9…
А эт смотря что за пет-проект. Одно дела когда ты с любовью пилишь что-то новое и по-настоящему отдыхаешь душой. А… twitter.com/i/web/status/9…
21:35@backendsecret имеется в виду выгорание от овертаймов или стандартные 8 часов тоже могут к нему привести?
Во-первых, "стандартные 8 часов" для программиста это в любом случае бред сивой кобылы, а во-вторых выгорание наяри… twitter.com/i/web/status/9…
21:37@backendsecret а еще лучше sabbatical хотя бы на несколько месяцев раз в 7-8 лет, но такое, к сожалению, мало где принято.
Охх, мне кажется, что работодателю, чтобы дойти до идеи оплачиваемых творческих отпусков нужно познать какой-то Вел… twitter.com/i/web/status/9…
21:39и поэтому если чувствуешь, что вот-вот надорвёшься, лучше передать мейнтененс выбранному тобой человеку пока ты ещё… twitter.com/i/web/status/9…
21:46@backendsecret нет, когда один сижу в свободное от работы время. Пилю опенсорс. Для себя. Но вот, как мне кажется,… twitter.com/i/web/status/9…
Вот если ты чувствуешь, что с пет-проектом тоже выгораешь -- это 100% знак. И тебе ещё повезло, обычно выгорают как… twitter.com/i/web/status/9…
22:06@backendsecret золотые слова, серьёзно. компании которые заставляют программистов сидеть по 8 часов в офисе с открытой ide на компе must die
Слушайте, а ещё такие есть? Вот только по-честному, из первых рук, а не через три-звезды-колено-подруга-рассказала?… twitter.com/i/web/status/9…
22:08Ребята! Ищу Java и JS девелоперов в почту Эстонии! Это та, у которой роботы по городу почту развозят.
От вас нужен… twitter.com/i/web/status/9…
(от куратора) Поможем с трактором! twitter.com/Swither/status…
22:47Напоследок, друзья, поделюсь ссылками на некоторые Haskell-библиотеки, которые, на мой взгляд, достойны внимания бэ… twitter.com/i/web/status/9…
16:46hackage.haskell.org/package/cassava - работа с CSV
hackage.haskell.org/package/aeson - работа с JSON
hackage.haskell.org/package/yaml - работа с Y… twitter.com/i/web/status/9…
hackage.haskell.org/package/time - работа со временем
hackage.haskell.org/package/stm - работа с Software Transactional Memory… twitter.com/i/web/status/9…
hackage.haskell.org/package/servan… - работа с API на уровне типов, серверная часть
hackage.haskell.org/package/servan… - работа с API на у… twitter.com/i/web/status/9…
hackage.haskell.org/package/http-c… - низкоуровневый интерфейс для HTTP-клиентов
hackage.haskell.org/package/amazon… - работа с AWS (семейс… twitter.com/i/web/status/9…
hackage.haskell.org/package/cborg - работа с CBOR (Concise Binary Object Representation)
hackage.haskell.org/package/cereal - бинарная с… twitter.com/i/web/status/9…
hackage.haskell.org/package/QuickC… - автоматическое тестирование (с помощью arbitrary-значений)
hackage.haskell.org/package/HUnit - юнит… twitter.com/i/web/status/9…
hackage.haskell.org/package/random - работа с простыми случайными значениями
hackage.haskell.org/package/random… - работа со случайными зн… twitter.com/i/web/status/9…
hackage.haskell.org/package/direct… - кроссплатформенная работа с файловой системой
hackage.haskell.org/package/filepa… - кроссплатформенна… twitter.com/i/web/status/9…
hackage.haskell.org/package/text - Юникод-текст
hackage.haskell.org/package/bytest… - байтовые строки
hackage.haskell.org/package/contai… - контейне… twitter.com/i/web/status/9…
hackage.haskell.org/package/acid-s… - ACID-гарантии (Atomicity, Consistency, Isolation, Durability) для сериализуемых структур… twitter.com/i/web/status/9…
16:46Друзья! Время моего дежурства в @backendsecret подходит к концу. Ещё раз благодарю всех за внимание, за участие, за… twitter.com/i/web/status/9…
21:33Кому интересно - напоминаю мой аккаунт: @dshevchenko_biz. Если вдруг я не успел ответить на какие-то ваши вопросы -… twitter.com/i/web/status/9…
21:33Кстати, вот наши русскоязычные чаты по Хаскелю:
21:33@alezyyy @backendsecret буду рад помочь/направить/рассказать чего интересного12:15
@chikiro_twi @backendsecret Учитывая количество "технологий" помноженное на разные взгляды интервьюеров, современно… twitter.com/i/web/status/9…
true twitter.com/vgermaniu/stat…
12:15@backendsecret на Coursera назначили ментором на курс алгоритмов Стэнфорда. Но мне все время некогда12:15
@bog3m @elephmoon @backendsecret может вы и мне ментора найдёте?) я вроде не очень глупый12:15
@backendsecret алертнул менторство12:16
борюсь с желанием ворваться, рассказать как не убить дитя своей опекой и тучу пр… twitter.com/i/web/status/9…
@vstavai @backendsecret @elephmoon это от общего опыта и Ваших знаний зависит12:17
как по мне, пакет начинающего nodejs'… twitter.com/i/web/status/9…
@backendsecret Пишу внутреннюю документацию. Считается?12:17
@backendsecret взял зелёную девочку devops стажёром. учу уму разуму.16:27
@backendsecret Учу Питон. Имею математическое образование и хорошие мозги, учусь быстро, объяснять два раза не прид… twitter.com/i/web/status/9…18:30
@backendsecret ищу ментора18:58
Люблю математику. Сейчас изучаю Java (преподают в универе, + осваиваю фреймворк спринг)… twitter.com/i/web/status/9…
Вечер воскресенья... Всем спасибо! Надеюсь отдохнули от монад :) С вами был куратор (не модератор!;) @dcromster. Ес… twitter.com/i/web/status/9…
20:24Сегодня вроде как последний день моего вещания, поэтому постараюсь пробежаться по топикам которые хотел-таки расска… twitter.com/i/web/status/9…
8:54@backendsecret Не могли бы вы поделиться ссылками на ресурсы, где можно мониторить IT вакансии?
tokyodev.com
jobs.gaijinpot.com
rakuten.careers/we_think_big/
Так же можно предметно искать на Linkedin и… twitter.com/i/web/status/9…
IT работа в Японии вкратце:
* Нужен диплом
* Нужен язык
* Низкие зарплаты
* Сомнительная рабочая культура
Плюсы:
*… twitter.com/i/web/status/9…
tokyodev.com
jobs.gaijinpot.com
rakuten.careers/we_think_big/
Так же можно предметно искать на Linkedin и… twitter.com/i/web/status/9…
Популярные направления: берут практически на все, если вы спец в узкой области. Навскидку часто видел объявления по… twitter.com/i/web/status/9…
9:02Организация митапов в Японии вкратце:
* Как правило организовывать нужно в Токио
* Найти бесплатные площадки тяжело… twitter.com/i/web/status/9…
Для митапов и площадок так же можно посмотреть тут doorkeeper.jp
По тематике есть практически все что ин… twitter.com/i/web/status/9…
9:05AR/VR - XR штуки:
* XR вещи это новый блокчейн, с приходом ARKit сервисы будут расти как грибы в ближайшие нескольк… twitter.com/i/web/status/9…
Из интересных топиков советую обратить внимание на:
* Empathic / affective computing – интерфейсы которые распознаю… twitter.com/i/web/status/9…
Для введения можно почитать VR book amazon.com/VR-Book-Human-…
А так же советую читать все от MIT Media Lab, RoadToVR… twitter.com/i/web/status/9…
9:13Студентам – участвуйте в конференциях, научных и инженерных сообществах, создавайте свои митапы, подкасты, читайте… twitter.com/i/web/status/9…
9:22Как мне говорили профессионалы из того же Disney, EA, и Microsoft – для студента главное чтобы твое резюме показыва… twitter.com/i/web/status/9…
9:22Кстати еще открыты заявки для удаленного обзора резюме для студентов s3.siggraph.org/programs/s3r3/
9:23Про клавиатуры, если вы хотите сделать собственный набор кейкапов, то вам сюда:
keychatter.com/2015/10/10/how…… twitter.com/i/web/status/9…
9:26Для фоточек с кастомными клавиатурами, обсуждениями, и гайдами сюда:
reddit.com/r/mechanicalke…
или вот сюда
geekhack.org
А, и еще можно браться за WebXR вещи, они будут на каждом углу уже совсем скоро. Про это есть шимейл-рассылка… twitter.com/i/web/status/9…
9:38@backendsecret Про диплом я не понял, ч везде читал что там принято нанимать «работника в компанию» а не «специалис… twitter.com/i/web/status/9…
Ну вот да, я недавно ретвитил что с одной стороны вроде принимают только с дипломом, с другой – нет.
Как я понимаю… twitter.com/i/web/status/9…
10:34@backendsecret Как в Японии можно пожить на низкую зарплату вообще?!
Ну разница в ценах. Допустим у вас стартовая зарплата в $3k
Еда: $400-600
Квартира: либо спонсируется компанией, л… twitter.com/i/web/status/9…
На медобслуживание есть либо нац страховка для всех либо соц страховка от компании. Средний прием стоит $10-20 с ле… twitter.com/i/web/status/9…
10:57так-то я и сам бы не прочь иметь американскую зарплату, но жить в Токио, да :)
10:58Предвещая вопрос что хорошего в Токио: город чистый, эффективный, безопасный. Покатавшись по разным местам пока что… twitter.com/i/web/status/9…
11:02@backendsecret довольно дешево по сравнению с тель-авивом, особенно аренда
Возможно другая жилплощадь twitter.com/netoneko/statu…
11:03Если вам не чужда работа с DIY hardware, физикой и математикой, можно так же погуглить на тему Optical See-Through… twitter.com/i/web/status/9…
11:40Пользуясь случаем хочу задать вопрос вам:
Существует ли вообще русскоязычное AR/VR сообщество? Если да, то где?
11:53Недавно как раз искал на эту тему, но нашел только VR Journal и телеграм-чатик где сидят бизнесмены и мужик с прост… twitter.com/i/web/status/9…
11:53И еще вопрос:
Есть ли в вашей компании R&D отдел? И если есть, то планируете ли вы его расширять? Насколько есть с… twitter.com/i/web/status/9…
11:55И вот еще один:
Насколько часто в вашей практике вы встречали маразмы с HR и кондинговыми интервью как описано зде… twitter.com/i/web/status/9…
11:58@backendsecret Дали решить головоломку по типу всем известной шахматной доски и доминошек, но форма фигур была друг… twitter.com/i/web/status/9…13:59
Уже скоро покидаю этот аккаунт, поэтому еще раз напишу где меня можно найти:
@parhelion318 – мемасы, спам, клавиат… twitter.com/i/web/status/9…
15:54И да, спасибо что были со мной во время моей первой рабочей недели на новой работе!
(и сорри что я распугал некот… twitter.com/i/web/status/9…
15:56И если вы в Токио то приходите на мой митап, ну или стучитесь к нам в русскоязычный японский чат на телеграмме… twitter.com/i/web/status/9…
16:31# Суббота 215 твитов
Я всегда за помощь проэктам Open source. Это как волотерская деительность приятно помогать миру
Плюс много поучится самомо
Было время когда я каждые выходные искал проекты интересные и там где можно было сделать что то маленькое. Баг почи… twitter.com/i/web/status/9…
0:04как понять что человек пишет много кода и любит это?
просто посмотреть в гитхабе(если есть) pic.twitter.com/8VLXhAUsXC
@backendsecret Смотря в чем проблема, если человек новый на проекте, он просто не знает какие есть бизнес процессы,… twitter.com/i/web/status/9…
Новый проэкт или новый человек это понятно что будет спрашивать. Но когда человек уже работает пол года в компании… twitter.com/i/web/status/9…
7:24Были товарищи которые проходили все технические этапы потом приходи в конце на разговор в HR и там им из всего что… twitter.com/i/web/status/9…
Я смотрю тут много любителей хлопей. Вопрос вам, если в компании всего один вид хлопей который вам не нравится это… twitter.com/i/web/status/9…
7:28Чушь! Получив «задачю», лучше пару раз проконсультироваться с более опытными коллегами, чем, шастая в инете, выйти… twitter.com/i/web/status/9…
Если человек новый то вопросы конечно терпимо, а представь у тебя в компании 20 людей все миниму пол года в компани… twitter.com/i/web/status/9…
7:30Все вопросы с 11:30 до 12:00, во время обеда, в чайной и после 16:00 до ухода. Каждый выясненый вопрос дописывается… twitter.com/i/web/status/9…
Такой вариант полезен если в вики потом смотреть перед следущей вопросом. При такой практике вопросы пропадут быстр… twitter.com/i/web/status/9…
7:36@backendsecret Чувак, пожалуйста, скажи, что ты иностранец или тебе 7. Ну как можно писать так убого, ещё и с таким… twitter.com/i/web/status/9…
Иностранец twitter.com/ladyzhenski/st…
12:35@backendsecret ну для нормального человека хлопья важнее, чем продукт и компания, ведь они все равно чужие, а хлопь… twitter.com/i/web/status/9…
Ну наверно тут надо сказать что если ты работаешь в стартапе то тебе дают опции, то акции будущей компании. Так что… twitter.com/i/web/status/9…
12:46Вообще на мой взгляд прикольные места работы это когда тебе говорят приходи к нам писать open source за деньги. Мне… twitter.com/i/web/status/9…
13:18Что для вас такое serverless?
14:27Возмем пример с AWS lambda или ее роственики.Вроде звучит хорошо модно, не надо не чего настраивать поднимать серве… twitter.com/i/web/status/9…
15:02Теперь начнем со всяких НО
15:04Цена между EC2 машина с кодом и Lambda где то на 10K rpm сходится одинаного, но с кубернетисов это не сходится там… twitter.com/i/web/status/9…
15:07Там где у нас несколько сотей тысячь запросов в минут lambda дорого даже если мы держим машин больше.
15:08Вопрос другой который я не проверял как оно работает с базами RDS/redis в плане подключений? Оно всегда заного конектит на каждый запрос?
15:09Еще есть вопрос времини старта
если у нас микросервисы который говорят между собой по http и один запрос от клиента… twitter.com/i/web/status/9…
Не говоря еще что маленький Abuse или DDos или баг которые вызывает кучу запросов может выйти в большую сумму в счета.
15:14Хотя если сильно хочется использовать func архетиктуру и есть много запросом можно это поднимать так же в Kubeless.… twitter.com/i/web/status/9…
15:17AWS Fargate звучит хорошо
Даешь свои image и они из запускают. Тут в принцепе не чего менять не надо и код трогать… twitter.com/i/web/status/9…
Открытие недели: канал @backendsecret. Шикарнейший :)15:25
Про языки програмирования только на не называет имена языков чтоб не разводить тут войнушку.
Если смотреть на посл… twitter.com/i/web/status/9…
Модель когда всем хватало скриптовых языков в один тред на сервера как то уже не помогает когда у тебя скорость про… twitter.com/i/web/status/9…
16:09Брать одно тредную модель работы и делать из нее много процессорную, можно НО надо много памяти, нету общии памяти… twitter.com/i/web/status/9…
16:11Старые языки компилированые языки работают быстро и можно даже много тредно НО
они обычно много словны
долго собир… twitter.com/i/web/status/9…
так что если взглянем на новые языки програмирования для сервера за последние 7-10 лет то есть кое что общие у всех… twitter.com/i/web/status/9…
16:173. Умеет использовать весь CPU одним процессом
16:196. Программистов много стало так что работают командами и люди меняются часто так что код должен быть понятным всем… twitter.com/i/web/status/9…
16:21Go, Rust, Kotlin, Elixir - вот новые языки за после 7-10 лет которые зашли в прод и отвечают частими новым требован… twitter.com/i/web/status/9…
16:32Юникод в ссылках. Если вы ещё ни разу не выводили в прод IDN домены или юникод пути/слаги, то вот, что вас ожидает… twitter.com/i/web/status/9…
17:44URI (RFC3986) vs IRI (RFC3987).
URI не могут содержать юникод и ограничены символами типа a-z0-9:@% и т.п.
IRI рас… twitter.com/i/web/status/9…
То, что вы видите в адресной строке хрома (читабельное и на русском) – это IRI.
То, что попадает в буфер обмена, к… twitter.com/i/web/status/9…
По спеке HTTP 1.1 (RFC7230) везде юзаются только URI (для h/2 аналогично).
IDN host преобразовывается в ascii по п… twitter.com/i/web/status/9…
17:441. Некоторые клиенты (как минимум whatsapp и vk при подгрузке сниппетов) отправляют не percent-encoded segments, а… twitter.com/i/web/status/9…
17:44Nodejs интерпретирует этот UTF8 как latin1 и в таком виде отдаёт аппу. Роутер ангуляра у нас от такого сходил с ума… twitter.com/i/web/status/9…
17:442. IE/Edge в CORS шлют IDN домен в корявом представлении юникода вместо punycode. В ответ они не принимают ничего к… twitter.com/i/web/status/9…
17:44У себя вы это ещё можете подпереть *, но если ваш фронт ходит на другие сайты (oauth через JS SDK), то там 99% что… twitter.com/i/web/status/9…
17:443. Даже в 2018 ещё не все внешние сервисы способны работать с IDN. Например, mailgun: stackoverflow.com/q/46877391
17:444. Очень желательно добавить в интерфейс кнопку/поле для копирования в буфер обмена IRI, иначе юзеры будут шарить э… twitter.com/i/web/status/9…
17:445. В HTML в <a href= надо указывать URI. Почтовые клиенты к этому особенно чувствительны: IRI в href вообще за ссылку не считают.
17:44Ко всему этому безобразию добавлю, что если вы принимаете от юзеров ссылки (website юзера, например) и показываете… twitter.com/i/web/status/9…
17:44@backendsecret Вот такое мнение выражает Карнеги: pic.twitter.com/NKVRsG07D510:53
Одно из правил инженера: любая полная чушь делалась от безысходности и не просто так — узнай почему. twitter.com/backendsecret/…10:53
Обычно на выходных говорят о релокации. Можем поговорить о релокации в Украину :)
10:55Достаточно много людей едет из ближнего зарубежья, впрочем у меня был опыт и перевоза парня из Нидерландов (на этом… twitter.com/i/web/status/9…
11:01Причины почему стоит переехать – возможно самая сильная IT тусовка в СНГ, скорее всего потому что внутреннего рынка… twitter.com/i/web/status/9…
11:04По опыту общения с ребятами из стран ближнего зарубежья – зарплаты в IT в Украине выше, а стоимость жизни – ниже. Выгода со всех сторон.
11:06@backendsecret Это всё не так интересно, как получение разрешения на работу, паспортные столы и прочий бюрократический треш.
Вроде его упростили. ain.ua/2018/01/31/flp…
К тому же обычно работодатель берет эти все вопросы на себя. twitter.com/musuk/status/9…
11:49@backendsecret На прошлом месте работы был чувак, который хотел в Украину из США переехать. На текущем месте есть л… twitter.com/i/web/status/9…12:25
Попробовал себя недавно в роли фронтендера github.com/akumuli/akumul… До этого никогда не писал на typescirpt.
На дру… twitter.com/i/web/status/9…
11:43Очень долго возился с Grunt.js файлом, потом мне посоветовали забить и взять готовый шаблон для graphana плагина. Н… twitter.com/i/web/status/9…
11:48Тулинг просто отличный. В VSCode просто ставится плагин и начинает работать подсветка/автодополнение/навигация по п… twitter.com/i/web/status/9…
11:51Самое главное разочарование в фронтенде, это верстка. Там нет ничего сложного, но люди до сих пор пишут руками все… twitter.com/i/web/status/9…
11:53На самом деле, я считаю что каждый backend разработчик, должен хоть немного уметь обращаться со всеми этими fronten… twitter.com/i/web/status/9…
11:55@backendsecret более того, у бэкэндера нет выбора, он обязан понимать, что происходит на фронте. На время разработк… twitter.com/i/web/status/9…
На самом деле, можно работать над какой-нибудь подсистемой, с которой фронтенд напрямую не взаимодействует. Но част… twitter.com/i/web/status/9…
12:00Привет! Меня зовут Женя. В разработку я пришёл через тестирование и автоматизацию. Работаю Rails разработчиком. Про… twitter.com/i/web/status/9…
9:10Иногда бывают страницы или требуется создать сущности, которые объединяют много других сущностей. Часто это страниц… twitter.com/i/web/status/9…
9:11В Rails (и думаю в любом другом фреймворке с ORM) создаёте модель, которая и не знает что это SQL view и работаете… twitter.com/i/web/status/9…
9:11Используете ли вы ещё jQuery? В моём приложении Rails отвечает и за front (не как API). Я как разработчик без сильн… twitter.com/i/web/status/9…
10:58Правда для сложных страниц с календарями/расписанием всё-таки приходится писать React компоненты.
10:58Новую функциональность начинаю с плана БД. Для этого использую сервис draw.io. Обозначаю все таблиц… twitter.com/i/web/status/9…
12:01И, конечно, вам пригодится github.com/thoughtbot/sce…, если решите использовать SQL views в своём Rails проекте
12:19Есть ли у вас в команде тестировщики? У меня их нет. Приходится тестировать самому и менеджмент иногда смотрит что… twitter.com/i/web/status/9…
14:42Сравнение скорости ответа современных веб-фреймворком github.com/tbrand/which_i…. Ruby совсем не в топе. Хотя к 3.0 мо… twitter.com/i/web/status/9…
15:45Я люблю feature тесты. Они дают настоящую уверенность что продукт работает в отличии от тестов на модели/контроллер… twitter.com/i/web/status/9…
17:09Если вы используете Ruby, то советую попробовать github.com/cheezy/page-ob…. Хороший синтаксис и подход. В Capybara до… twitter.com/i/web/status/9…
17:09В разное время использовал разные git клиенты. git в терминале не нашёл удобным. Долгое время фаворитом был SourceT… twitter.com/i/web/status/9…
19:42@backendsecret Спорно. Сложно объяснить про уважение, оно должно быть по умолчанию, да. Но обучение – это априори «… twitter.com/i/web/status/9…
Вот это «учитель выше ученика» я категорически не приемлю. Такое, может, работало в античности и в Средние века, но… twitter.com/i/web/status/9…
8:28Мне одному кажется что после Егорки @backendsecret уверенно пошел по наклонной
Сейчас запилим опрос! twitter.com/abausk/status/…
15:17Пошёл ли @backendsecret после Егорки по наклонной?
15:19И вот яркая иллюстрация этой наклонной twitter.com/backendsecret/…
Сегодня вечером про математику в подготовке программистов скажу, а то тут явные проблемы наблюдаются: одна точка не… twitter.com/i/web/status/9…
15:37Твиттер-лекция о принципах подготовки программистов в университетах начнётся в 19:00 MSK.
16:50Итак, как учить программистов в университете? Напоминаю, что вуз не может и не должен учить фронтендеров или бэкенд… twitter.com/i/web/status/9…
19:03Я буду говорить преимущественно о бакалавриате, причём применительно к отечественной системе образования. Поэтому у… twitter.com/i/web/status/9…
19:05Есть удобный способ расчётов при проектировании учебных планов — кредиты. За 4 года студент должен набрать 240 кред… twitter.com/i/web/status/9…
19:09Оставшиеся 180 кредитов распределяются при составлении учебного плана. Один кредит можно условно представлять как о… twitter.com/i/web/status/9…
19:12В наиболее продвинутых мировых вузах считается, что за семестр можно изучить 4, максимум 5 предметов. В большинстве… twitter.com/i/web/status/9…
19:14Лично я считаю, что наиболее эффективной является схема занятий по четвертям: два-три курса в каждой четверти с отч… twitter.com/i/web/status/9…
19:17Итак, у нас есть 180 кредитов — это примерно 30-35 дисциплин. Я бы их делил так:
60 — математика и теоретическая и… twitter.com/i/web/status/9…
В рамках базовых программистских курсов нужно получить навыки алгоритмизации, изучить 2-3 языка программирования, р… twitter.com/i/web/status/9…
19:31Базовые курсы об устройстве компьютерных систем должны включать в себя изучение архитектуры компьютеров, операционн… twitter.com/i/web/status/9…
19:34Под классическими сложными CS-курсами я понимаю такие вещи как компьютерную графику, интеллектуальные системы, разр… twitter.com/i/web/status/9…
19:36Есть известный тезис: «Тот, кто изучает актуальные технологии на первом курсе, выходит с четвёртого с багажом устар… twitter.com/i/web/status/9…
19:40Остаётся 30 кредитов на актуальные технологии, тут можно изучать всё подряд: веб-технологии и мобильную разработку,… twitter.com/i/web/status/9…
19:44Теперь про 60 кредитов, отведённых мною на математику и теоретическую информатику. Я напоминаю, что программистам м… twitter.com/i/web/status/9…
19:48Это та же компьютерная графика, машинное обучение, криптография, разнообразная работа с устройствами (цифровая обра… twitter.com/i/web/status/9…
19:50Можно было бы об этих областях забыть и отдать 60 кредитов на актуальные технологии, например, углубиться в веб-раз… twitter.com/i/web/status/9…
19:53Поэтому пусть лучше будет математика, так вернее: матанализ и алгебра, очень много дискретной математики (вот прямо… twitter.com/i/web/status/9…
19:55Добавим сюда ядерный материал теоретической информатики в виде теории автоматов, формальных языков, вычислимости и… twitter.com/i/web/status/9…
19:59Нам скажут: обо всём понемногу и ни о чём глубоко. Да, так и есть, но в этом и состоит идея базового образования: б… twitter.com/i/web/status/9…
20:02Можно, к примеру, сразу пойти работать и за месяц-другой, а то и быстрее, освоить технологию, применяемую в конкрет… twitter.com/i/web/status/9…
20:03А можно пойти в хорошую магистратуру, они есть разные: есть тоже широкопрофильные, а есть и узкоспециализированные… twitter.com/i/web/status/9…
20:06Где-то хорошо научат писать распределённые приложения (это сложно, не так ли — точно не уровень бакалавриата) или а… twitter.com/i/web/status/9…
20:08@backendsecret Это не очень хорошо согласуется с моделью, где много курсов по выбору. Может оказаться то густо, то… twitter.com/i/web/status/9…
Курсы по выбору это безусловно хорошо. Впрочем, слишком уж их много, пожалуй, не должно быть, мне кажется. 30 креди… twitter.com/i/web/status/9…
20:13@backendsecret И вот выходит такой специалист на первое место работы, а ему:
Технологий очень много, как заранее узнать, на какой позиции будешь работать? Чем придётся заниматься через тридцат… twitter.com/i/web/status/9…
20:18@backendsecret Надо учить инженеров. Программистов учить бессмысленно имо. Они потом ничего не могут как правило
Про инженеров. Советское образование в инженерной сфере поддерживало узкую специализацию и выпускало тысячи инженер… twitter.com/i/web/status/9…
20:22Переход на двухуровневую модель бакалавриата и магистратуры стал спасением от этого кошмара, когда выпускались спец… twitter.com/i/web/status/9…
20:24Когда рабочее место вроде бы есть, но работник такой не нужен. Зарплата есть, но маленькая. В современном капиталис… twitter.com/i/web/status/9…
20:26@backendsecret А как же "требуется молодой специалист с большим опытом работы"?
Да, бывают, к сожалению, идиоты работодатели. Впрочем, мне кажется, сейчас с этим уже проще: есть много адекватных… twitter.com/i/web/status/9…
20:31@backendsecret как вам программа github.com/ossu/computer-… ?
Интересная штука. Я, правда, не очень верю в самообучение в таких объёмах — не представляю, какой мотивацией и сило… twitter.com/i/web/status/9…
20:37Далеко не всегда открытые курсы, даже от ведущих университов, качественные. Многие курсы создают иллюзию знания, он… twitter.com/i/web/status/9…
20:39@CodeIsLie @olehkuchuk @backendsecret В конце концов в 2к18 можно пойти и взять курс у какого угодно преподавателя,… twitter.com/i/web/status/9…
Можно! Я очень рад за людей, которые в состоянии эту стратегию обучения реализовать. Желаю им всяческого успеха и д… twitter.com/i/web/status/9…
20:53@backendsecret Кроме знаний по CS думаю важно получить уже в университете soft skills: решать
задачу в паре или гру… twitter.com/i/web/status/9…
Да, это очень правильное мнение. Тут могут отлично работать непрофильные дисциплины и разного рода проектная деятел… twitter.com/i/web/status/9…
21:01@backendsecret @goshan__4ik Иваново. У нас есть вуз, выпускающих чистых программистов. Но многие вынуждены уезжать
А есть тут ИТ-бизнесмены? Я, конечно, не знаю подробностей рынка, но вы-то можете изучить вопрос. Областной центр,… twitter.com/i/web/status/9…
21:04@backendsecret И чем в таком разрезе помогает абсолютно оторванное от реальности университетское образование? Выпус… twitter.com/i/web/status/9…
«Абсолютно оторванное от реальности университетское образование. Никаких практических навыков. Дохрена теории» — Во… twitter.com/i/web/status/9…
21:51@backendsecret А вообще переход на личности просто прекрасен. Так держать! Можно рассказать еще о каких-нибудь моих… twitter.com/i/web/status/9…
Я, разумеется, не прав. Прошу прощения. twitter.com/AstarothAst/st…
22:06А хотите развлечься? Есть такая штука, профессиональные стандарты. Вот, например, кто такой программист: profstandart.rosmintrud.ru/obshchiy-infor….
22:24А вот моё любимое, системный программист с трудовой функцией разработчика компиляторов: profstandart.rosmintrud.ru/obshchiy-infor…
22:25Фронтендеров и бэкендеров там почему-то нет. Видимо, это не профессия.
22:28Ладно, на сегодня всё. Завтра гендерные вопросы, ну и отвечу на вопросы, если появятся. И попрощаемся!
22:31@backendsecret я не наезжаю, ща перечитал прозвучало грубо
да, на столько неадекватных языков как пхп и жс я нигде… twitter.com/i/web/status/9…
ок, верю, но... а точно ли с прямыми руками, но на PHP нельзя ничего годного сделать? Вон FB справляется вроде, не?… twitter.com/i/web/status/9…
13:06@backendsecret Нужен настоящий спец по PHP в @backendsecret что б осветить тему и развеять или подтвердить городские легендьі13:25
@backendsecret Сделать нормально(даже не хорошо) и поддерживать на пхп в разы дороже чем даже на java13:25
Ладно, обещал же поднять темы, о которых мало говорят. В нашей индустрии это прежде всего душевные проблемы или men… twitter.com/i/web/status/9…
13:37но вот вопрос ментальных проблем до сих пор в командах ни за пивом ни на ретроспективах обычно не обсуждается.
13:38Хотя ретроспективы были именно предназначены, чтобы работать сначала со страхами, а потом и со всеми эмоциями прогр… twitter.com/i/web/status/9…
13:39В итоге с такими проблемами, как выгорание, синдром самозванца и т.п. программист остаётся один на один, нет ни тра… twitter.com/i/web/status/9…
13:40Взять, к примеру, Синдром Самозванца -- это тенденция к невоспринятию своих объективных успехов. Я сам таким страдаю уже лет 10.
13:41СС -- это когда каких бы вершин ты не достигал, тебе всё время кажется, что ты плохой программист, что карьера у те… twitter.com/i/web/status/9…
13:42И нет, это не эффект Данинга-Крюгера, Синдром Самозванца может проявиться на любой стадии владения предметом.
13:42Поначалу это даёт даже буст к мотивации и заставляет двигаться дальше, но в какой-то момент это начинает уже прямо… twitter.com/i/web/status/9…
13:42Последней каплей для меня было выступление на RubyConf. Мне, как рубисту, казалось, что самые крутые рубисты делают… twitter.com/i/web/status/9…
13:43И вот я этого добился, сделал доклад на RubyConf. Люди с СС, читающие это, уже догадываются что произошло дальше :-… twitter.com/i/web/status/9…
13:43Смотря на доклад со стороны, я вижу, что он очень неплох. Да, не супер ни разу, но для первого раза прям хорошо пол… twitter.com/i/web/status/9…
13:48@backendsecret 1. Опасно на работе говорить о проблемах. Могут и накуй послать.
Вот! Пункт №1, у людей _страх_ говорить о mental issues, это непринято, это страшно, это опасно, "нуегонафиг ещё ув… twitter.com/i/web/status/9…
13:49@backendsecret на самом деле все ненастоящие и притворяются))
Да да, именно так прежде всего успокаивают себя люди, которые уже знают, что это называется Синдром Самозванца :-)
13:50@backendsecret Как кстати понять синдром у тебя или ты действительно ничего не знаешь?
Окей, хорошая новость: СС не обязательно отражает реальность, быть может ты хорош. Плохая новость: СС не обязательн… twitter.com/i/web/status/9…
13:57@backendsecret Как я тебя понимаю...13:57
@backendsecret я такие тонкие нюансы обсуждаю с коллегой, которого хорошо знаю уже несколько лет еще по предыдущему месту работы
Shame. Это должна быть нормальная тема для бесед в пабе, в офисе и на конференциях. А не только с теми, кому ты мож… twitter.com/i/web/status/9…
13:59@dcromster @backendsecret Давай проще скажем - всем на это покуй.
Выгорание -- отдельная тема, ещё обсудим, но страх всё равно никуда не девается, в индустрии тупо не выработался да… twitter.com/i/web/status/9…
14:00@backendsecret тебя упрекают что ты не настоящий программист?
Нет конечно, это внутреннее ощущение, которые остаётся даже если вокруг толпа скандирует твоё имя.
14:01@backendsecret *гладит по голове* не плакай, ты не один! Меня зовут Миша, и я самозванец...14:02
В общем, после этой последней капли я начал изучать вопрос, с огромным удивлением (как и все) обнаружил, что я так… twitter.com/i/web/status/9…
14:03@backendsecret да не важно, если ты делаешь продукт это главный показатель.
К сожалению, нет. Внутреннее ощущуние точит изнутри и отравляет жизнь. Не удивлюсь, если узнаю, что многие джуниоры… twitter.com/i/web/status/9…
14:04попросился к знакомым ребятам на ютуб-канал (своего-то у меня нет, я ж самозванец :-) ), чтобы начать поднимать эту… twitter.com/i/web/status/9…
14:05@backendsecret Так даже хуже, временами. Кажется, что обманываешь ещё большее количество людей :)14:09
@backendsecret И СС забрали с собой.14:30
Уважаемые джуниоры: Если у вас СС уже, не уходите из профессии. У нас круто и печеньки
@backendsecret Кстати про пиво. У вас в Англии же есть практика, когда в рабочее время пьют пиво? Или это все мифы?
О да, как же я прифигел, когда по приезду меня повели на обед и там начали бухать прям средь бела дня :-) Не до опь… twitter.com/i/web/status/9…
14:37@backendsecret А ещё бывает, что недобросовестный работодатель ещё сильнее раздувает СС в сотрудниках, чтобы помен… twitter.com/i/web/status/9…
Да да! В видосе про СС я эту тему как раз поднимаю, недобросовестные работодатели абьюзят ментальные проблемы своих… twitter.com/i/web/status/9…
15:28@backendsecret Есть вопрос, как реально определить, что твоё отношение к своим профессиональным качествам неадекват… twitter.com/i/web/status/9…
Хороший вопрос. И очень нелёгкий. Мне кажется, как и в случае самопереоценкой, только через обратную связь с окружа… twitter.com/i/web/status/9…
15:32@backendsecret 1. Реальная оценка своих сил - очень ценное качество работника
Ну да, вы правы, но что теперь на, застрелиться чтоли? Да, если у тебя СС и ты это знаешь, то умение смотреть на св… twitter.com/i/web/status/9…
16:37@backendsecret Мне кажется тут нет дихотомии. Можно быть хуевым спецом и иметь сс. Но одно дело когда ты осознаешь… twitter.com/i/web/status/9…
Об чём и речь, наличие СС ни разу не сигнализирует о проблемах в твоей карьере, но и на объективные успехи СС не ре… twitter.com/i/web/status/9…
16:39@backendsecret Дичайше плюсую. Сам тиме своей постоянно говорю это. Работаем же мы ни с "программистами", ни даже с… twitter.com/i/web/status/9…19:25
Итак, история. В 2007 году в космос собрался очередной миллионер, Чарльз Симони. И его приземление (на полигоне в К… twitter.com/i/web/status/9…
0:21С технической точки зрения задумка была в следующем. Специализированный джип, со спутниковой антенной на крыше, дол… twitter.com/i/web/status/9…
0:21А после этого они должны были сделать следующее: используя спутниковую антенну, навести её на нужный геостационарны… twitter.com/i/web/status/9…
0:21Сказано - сделано. В качестве упомянутого джипа выбрали гражданский Hummer. Заключили договор с компанией, занимавш… twitter.com/i/web/status/9…
0:21Станция связи, которую планировали поставить на крышу джипа, представляла собой автоматическую тарелку диаметром 1.… twitter.com/i/web/status/9…
0:21Далее в блок вводятся координаты и идентификатор нужного спутника (или, как это ещё называется, борта). Спутник гео… twitter.com/i/web/status/9…
0:21Далее нажимается одна кнопка - и антенна автоматически открывается, поворачивается в правильном направлении, точно… twitter.com/i/web/status/9…
0:21А из-за того, что в контроллере был электронный компас, азимутальный угол поворота антенны не зависел от положения… twitter.com/i/web/status/9…
0:21Иными словами, персоналу джипа там, на полигоне, нужно было просто включить питание антенны, нажать на кнопку Пуск,… twitter.com/i/web/status/9…
0:21В день Икс машина отправилась в путь. Найдя капсулу и убедившись, что с космонавтами всё хорошо, мужики включили пи… twitter.com/i/web/status/9…
0:21Останавливается там, пытается найти нужный спутник, разумеется, не находит его (потому что каждый геостационарный б… twitter.com/i/web/status/9…
0:21Понимаете, да? То есть антенне нужно было повернуться, условно, на 86 градусов влево, а она ушла на 86 градусов впр… twitter.com/i/web/status/9…
0:21Мужики в панике. Там же в ЦУП ждут, делегация, пресса. Они нажимают кнопку Сложить, антенна послушно сложилась. Пер… twitter.com/i/web/status/9…
0:21В общем, не пашет. К счастью, мужики примерно знали ту точку небосвода, где расположен нужный спутник. Развернули д… twitter.com/i/web/status/9…
0:21В итоге, используя глаза, компас, координаты и, по всей видимости, весь набор русских матерных слов, мужики, после… twitter.com/i/web/status/9…
0:21Потом, конечно, начали ругаться и разбираться. Возмущение можно было понять: представители компании-разработчика кл… twitter.com/i/web/status/9…
0:21Начали копать глубже. И выяснили, что причиной сбоя стала ошибка в программе внутри контроллера. Одна-единственная… twitter.com/i/web/status/9…
0:21Да, друзья, из-за моей глупой ошибки понервничали и те мужики на полигоне, и другие мужики в ЦУПе. А ошибка была де… twitter.com/i/web/status/9…
0:21Но ведь у нас-то всё действительно работало! Почему же там не заработало? А всё просто. Тогда, в 2007 году, я ещё н… twitter.com/i/web/status/9…
0:21И потому версии прошивки контроллера хранились у меня на рабочем столе, в отдельных папках. В папках, Карл! И назыв… twitter.com/i/web/status/9…
0:21Как меня тогда не уволили - не знаю. Но не уволили, простили. Поэтому, друзья, системы контроля версий - это хорошо.
0:21Так, коллеги, а время-то у нас уже пол-третьего! Пойду-ка я отдыхать, а то детки завтра рано прибегут, родителей будить... :-) До завтра.
1:27Друзья! Выходные у меня обычно уделяются семье, а потому за компьютером бываю редко. Поэтому прошу считать мою неде… twitter.com/i/web/status/9…
8:17Прошу прощения, если мой тон был резким, или выводы слишком скоропалительными, или ответы слишком слабыми.
8:17И выражаю громадную благодарностью @qnikst, @ChShersh и @cblp_su за помощь в дискуссиях. Я знаю, что любой из вас п… twitter.com/i/web/status/9…
8:17Впрочем, ещё что-нибудь напишу, но уже так, урывками.
8:19Немного ссылок.
8:261. conf.researchr.org/home/icfp-2018 - ICFP сего года (крупнейшая ФП-конфа в мире).
8:351. @haskellbook - Haskell programming from first principles.
8:411. github.com/denisshevchenk… - компании, использующие ФП, малый список.
8:441. functional.works-hub.com - место, где искать ФП-вакансии.
8:49Минутка спорта, друзья: youtube.com/watch?v=p5obID…
9:48@qnikst @dcromster @backendsecret @ChShersh @cblp_su Надоели хаскелисты, хочется про докер и рельсы почитать наконец!12:29
@backendsecret а когда новый выпуск бананов и линз будет?
Подкаст давно умер. Мы поняли, что подкастом должен кто-то заниматься, плотно и постоянно. Никто из нас не был гото… twitter.com/i/web/status/9…
12:53А вы заниметесь менторством? Если да, то расскажите каким.
11:00@backendsecret Однажды во мне в лс постучался джун с просьбой поменторить. Вроде, нормально пообщались пару часов,… twitter.com/i/web/status/9…11:18
@backendsecret Другу подкидываю всякие материалы по программированию. Помогаю, чем могу.11:18
@backendsecret Хороший опыт, впрочем, тоже есть. Обучаю периодически людей с непрофильным образованием алгоритмам и структурам данных.11:18
@backendsecret Есть знакомые, которые работают в одиночку в фирмах и кроме, как у меня не у кого спросить экспертизу.11:19
@backendsecret Я думаю все же надо помогать всем, кто плохо разбирается в теме, так как однажды ты сам напоришся на… twitter.com/i/web/status/9…
👍🏻 twitter.com/glitterOfHyad/…
11:26@backendsecret А в этом твите можно ментора найти?11:35
@backendsecret Руковожу дипломниками.11:35
@backendsecret Преподаю и стараюсь писать статьи в гитхаб, надеюсь соберу в бесплатный курс хороший11:39
@backendsecret Интересуют технологии бекенда. Не хочу становиться формошлёпом. Учусь типо на программиста. Нужен че… twitter.com/i/web/status/9…
Поможем Александру? twitter.com/elephmoon/stat…
11:48@elephmoon @backendsecret А можно и мне тогда?11:56
Точнее я хотел бы чтобы кто-то смог оценить уровень моих знаний, ука… twitter.com/i/web/status/9…
@elephmoon @backendsecret +1, тоже интиресно было бы ментора найти, работаю в основном с PHP / Laravel есть небольш… twitter.com/i/web/status/9…12:38
@backendsecret Python , algorithms, mmds12:55
@backendsecret @elephmoon Это будет очно в Харькове в офисе компании.13:02
Пока точных дат старта нет, но старт +- через… twitter.com/i/web/status/9…
@backendsecret @elephmoon Вот детали курса:13:22
Go с нуля, много практики, с углублением в конкурентность, возможно, ко… twitter.com/i/web/status/9…
@backendsecret Помогаю менее опытным прокачивать навыки разработки отказоустойчивых решений, тех. дизайна решений,… twitter.com/i/web/status/9…15:04
@backendsecret Преподаю веб-разработку компьютерным лингвистам в ВШЭ несколько лет, планирую создать онлайн-курс на… twitter.com/i/web/status/9…15:04
@backendsecret А зачем менторить вообще надо?15:04
Лучший ментор - книги и гугл, всё нужное есть в открытом доступе.
@backendsecret @blazernere Именно так, или наземными ж.д. Раздвинуть шоры, я вижу как джуны часто пытаются решать п… twitter.com/i/web/status/9…15:31
@blazernere @backendsecret Слишком много ненужного вокруг. В этом и смысл, чтобы отсеять нужное от ненужного. Зачем… twitter.com/i/web/status/9…15:31
@backendsecret Да, помогал знакомым и знакомым знакомых.15:35В целом - интересный опыт.
@backendsecret Маленькой компании трудно соревноваться на рынке труда с крупными игроками. Поэтому беру новичков с… twitter.com/i/web/status/9…16:59
@backendsecret Python, C#/.NET Core, Erlang, Typescript, OCaml20:27
@backendsecret Ищу ментора, интересует python, Django, database, бэкэнд, Java.20:27
@backendsecret как хобби:20:27
@elephmoon @backendsecret могу подсобить с самоопределением. как раз свободный вечер выдался, если интересно, то жд… twitter.com/i/web/status/9…20:28
@backendsecret Когда учился в универе бесплатно преподавал первокурсникам C++, помню долго делал слайды в поверпоинте, жаль не сохранились20:34
@elephmoon @backendsecret раз уж такая песня пошла, то мой мейн - это JavaScript(TS, CS, YoptaScript:D), тут любые… twitter.com/i/web/status/9…20:40
@elephmoon @backendsecret но действительно буду рад пообщаться по фронту20:44
тут мои Angular(4/5), Backbone.js, Vue.js,… twitter.com/i/web/status/9…
@blazernere @badzelenkoff @backendsecret Менторство для дятлов, если человек не может сам разобраться, то есть комм… twitter.com/i/web/status/9…21:09
@elephmoon @backendsecret ну и кому интересен фронтенд в финансовой сфере(обменники, банки, площадки) или кто уже р… twitter.com/i/web/status/9…21:10
@backendsecret Ищу ментора, который объяснит как правильно проходить собеседования.
Ох, тут скорее психолог нужен, чтобы потом психотерапевт не понадобился. twitter.com/chikiro_twi/st…
21:39@flud3r @backendsecret @blazernere @badzelenkoff Видел таких менторов, которым не то что менторить, их к комплюхтор… twitter.com/i/web/status/9…21:54
@backendsecret менторство это полезно, но только когда человек понимает что хочет и готов к этому стремиться... в и… twitter.com/i/web/status/9…21:55
@backendsecret Вдруг и я найду себе старшего товарища, nodejs, vuejs. В идеале поделал бы таски для практики. Под присмотром, разумеется)22:08
@chikiro_twi @backendsecret вроде вполне есть книжки типа programming interviews exposed где в начале именно про пр… twitter.com/i/web/status/9…22:08
@skkap @backendsecret @zel_enb В Токио совсем без японского попасть очень реально. Больших компаний и стартапов с и… twitter.com/i/web/status/9…4:15
@limmopony @backendsecret Насколько я знаю, для получения визы есть список сертификатов, который принимается вместо… twitter.com/i/web/status/9…4:15
# Ссылки
github.com
- https://github.com/tobiassvn/sidetiq
- https://github.com/alecthomas/go_serialization_benchmarks
- https://github.com/moby/moby/issues/30321
- https://github.com/docker-library/official-images/issues/3835
- https://github.com/jdauphant/awesome-ansible
- https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion
- https://github.com/containous/traefik/blob/master/docs/user-guide/kv-config.md#store-configuration-in-key-value-store
- https://github.com/containous/traefik/issues
- https://github.com/amureki/django_faq
- https://github.com/isaacs/server-destroy
- http://github.com/akumuli/Akumuli
- https://github.com/RoaringBitmap/CRoaring/blob/master/amalgamation.sh
- https://github.com/aptible/supercronic
- https://github.com/RaftLib/RaftLib
- https://github.com/akumuli/akumuli-datasource
- https://github.com/thoughtbot/scenic
- https://github.com/tbrand/which_is_the_fastest
- https://github.com/cheezy/page-object/
- https://github.com/denisshevchenko/breadu.info
- https://github.com/discourse/discourse
- https://github.com/hmemcpy/milewski-ctfp-pdf
- https://github.com/commercialhaskell/stack/
- https://github.com/Gabriel439/post-rfc/blob/master/sotu.md
- https://github.com/qnikst/irc-simple
- https://github.com/denisshevchenko/haskell-in-production
youtu.be
- https://youtu.be/lx5WQjXLlq8?t=19m5s
- https://youtu.be/cdX8r3ZSzN4
- https://youtu.be/rnRQmN5Hb90
- https://youtu.be/IdFIht3A2To
- https://youtu.be/ACsQ4ixtqTc?t=8m15s
medium.com
- https://medium.com/@_bravit
- https://medium.com/@_bravit/christopher-allen-and-julie-moronuki-haskell-programming-from-first-principles-2015-8df5d7fda9c1
- https://medium.com/@daniel.vartanov/%D0%B0-%D1%82%D0%BE%D1%87%D0%BD%D0%BE-%D0%BB%D0%B8-%D0%BD%D0%B0%D0%BC-%D0%BD%D1%83%D0%B6%D0%B5%D0%BD-%D0%B1%D0%BB%D0%BE%D0%BA%D1%87%D0%B5%D0%B9%D0%BD-%D0%B4%D0%BE%D0%BA%D0%BB%D0%B0%D0%B4-%D0%BD%D0%B0-%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B8-%D1%82%D0%B0%D0%B7%D0%B0-%D0%BA%D0%BE%D0%BE%D0%BC-11-%D0%B4%D0%B5%D0%BA%D0%B0%D0%B1%D1%80%D1%8F-2017-6b37d9c2d24f
- https://medium.com/@bluevisionlabs/introducing-blue-vision-ar-cloud-5b9ef21364c9
- https://medium.com/@TweetEdMiller/building-the-ar-cloud-part-one-72a7c5cd9697
- https://medium.com/super-ventures-blog/ar-and-blockchain-a-match-made-in-the-ar-cloud-7b10c52faddb
- https://medium.com/@xevix/gaijin-engineer-in-tokyo-aaa9be8919b2
- https://medium.com/@jaynepal/mext-scholarship-my-experience-and-suggestions-ffa6cb671902
hackage.haskell.org
- https://hackage.haskell.org/package/servant
- https://hackage.haskell.org/package/smallcheck
- https://hackage.haskell.org/package/QuickCheck
- https://hackage.haskell.org/package/distributed-process
- https://hackage.haskell.org/package/async
- https://hackage.haskell.org/package/stm
- https://hackage.haskell.org/package/gauge
- https://hackage.haskell.org/package/criterion
- http://hackage.haskell.org/package/dejafu
- https://hackage.haskell.org/package/optparse-applicative
- https://hackage.haskell.org/package/hflags
- https://hackage.haskell.org/packages/
- http://hackage.haskell.org/package/warp
- http://hackage.haskell.org/package/servant
- http://hackage.haskell.org/package/scotty
- https://hackage.haskell.org/package/rocksdb-haskell
- https://hackage.haskell.org/package/mongoDB
- https://hackage.haskell.org/package/acid-state
- https://hackage.haskell.org/packages/#cat:Database
- https://hackage.haskell.org/package/cassava
- https://hackage.haskell.org/package/aeson
- https://hackage.haskell.org/package/yaml
- https://hackage.haskell.org/package/time
- https://hackage.haskell.org/package/servant-server
- https://hackage.haskell.org/package/servant-client
- https://hackage.haskell.org/package/http-client
- https://hackage.haskell.org/package/amazonka
- https://hackage.haskell.org/package/cborg
- https://hackage.haskell.org/package/cereal
- https://hackage.haskell.org/package/HUnit
- https://hackage.haskell.org/package/random
- https://hackage.haskell.org/package/random-fu
- https://hackage.haskell.org/package/directory
- https://hackage.haskell.org/package/filepath
- https://hackage.haskell.org/package/text
- https://hackage.haskell.org/package/bytestring
- https://hackage.haskell.org/package/containers
- https://hackage.haskell.org/package/xeno
- https://hackage.haskell.org/package/xml-conduit-parse
www.youtube.com
- https://www.youtube.com/watch?v=uKfKtXYLG78
- https://www.youtube.com/watch?v=gpifdHvtr0k&list=PLvPsfYrGz3wsX3Z5KuuEVYhijDxhKCDDD
- https://www.youtube.com/watch?v=a0RYbqpsL9Q&list=PLvPsfYrGz3wv9uEWdDOuCll0vV9zLFfws
- https://www.youtube.com/watch?v=ybSBCVhVWs8
- https://www.youtube.com/watch?v=mlTO510zO78
- https://www.youtube.com/watch?v=B19WKsmhhaY
- https://www.youtube.com/watch?v=p5obIDcThsA
- https://www.youtube.com/watch?v=xiwD6BSfiv4
- https://www.youtube.com/watch?v=tXwVg2S9wuY
- https://www.youtube.com/watch?v=oCbhEOxZGXA
- https://www.youtube.com/watch?v=yT_lDUNfNxA
- https://www.youtube.com/watch?v=QOiyyRZHe3k
- https://www.youtube.com/watch?v=cTSBqT4Jt2o
is.gd
- https://is.gd/4qRRRy
- https://is.gd/W9CVQb
- https://is.gd/4ysopT
- https://is.gd/QVDOYy
- https://is.gd/eo92jJ
- https://is.gd/u4HLgN
- https://is.gd/EZOtha
- https://is.gd/GIsjyx
other
- https://www.bnj.com/blog/cowboy-coding-pink-sombrero/
- http://megamozg.ru/post/1736/
- http://local.joelonsoftware.com/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BC%D0%BE%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8
- http://i.imgur.com/3297BXb.gifv
- https://www.facebook.com/profile.php?id=100009590258357
- https://www.facebook.com/sncmuseum/
- https://www.facebook.com/elena.grashenkova
- http://www.lissyara.su/
- https://www.host-food.ru/about/hardware/our.hosting.servers/
- https://engineering.gett.com/
- http://turnoff.us/
- https://xn--90acesaqsbbbreoa5e3dp.xn--p1ai/
- http://gitlab.com/
- https://docs.gitlab.com/omnibus/docker/README.html
- https://docs.gitlab.com/ee/ci/multi_project_pipeline_graphs.html
- https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#build-cache
- https://blog.docker.com/2017/09/docker-official-images-now-multi-platform/
- https://docs.ansible.com/ansible/latest/playbooks_best_practices.html
- http://docs.ansible.com/ansible/latest/playbooks_vault.html#single-encrypted-variable
- https://gilt.readthedocs.io/en/latest/
- https://traefik.io/
- https://www.keycdn.com/support/ocsp-stapling/
- https://enable-cors.org/server_nginx.html
- http://uptimerobot.com/
- https://gist.github.com/KostyaEsmukov/1d49b04eaed1b8de3c8d378943fc1647
- https://gist.github.com/denisshevchenko/e9412ff0b84fb3cb0946e099a95df6fa
- https://gist.github.com/blazern/4ca22e170f1311e8e8fd28396d609d0a#gistcomment-2386177
- https://gist.github.com/sigrlami/769f5e6674adbd399f00
- http://setup.py/
- https://www.python.org/dev/peps/pep-0479
- https://docs.djangoproject.com/en/dev/internals/release-process/#release-cadence
- https://nodejs.org/api/cluster.html#cluster_cluster
- https://stackoverflow.com/q/46877391
- https://m.youtube.com/watch?v=Wy4ySt1FPv0
- https://m.youtube.com/watch?v=1gI_HGDgG7c
- http://docs.grafana.org/guides/whats-new-in-v5
- http://neuromation.io/
- https://arxiv.org/abs/1509.05393
- http://lesswrong.ru/
- http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
- https://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces
- https://www.iq-tests.eu/iq-test-Practical-validity-800.html
- https://link.springer.com/article/10.1007/BF01065972
- https://ain.ua/2018/01/31/flp-dlya-inostrancev
- http://packagecloud.io/
- http://libzzz.so/
- https://skarnet.org/software/skalibs/libstddjb/tai.html
- https://habrahabr.ru/post/345974/
- https://habrahabr.ru/post/237193/
- https://habrahabr.ru/post/128545/
- https://docs.google.com/document/d/1yLsN1j8xxnm_b0oN6rFSgWOnCHP-OlJC5pBKZQwTAPc/pub
- https://mobile.twitter.com/vasilenkos/status/963744116197687296
- http://bit.ly/1srvAcw
- http://www.norvig.com/21-days.html
- http://akumuli.org/akumuli/2017/03/10/benchmark2/
- https://akumuli.org/
- https://en.wikipedia.org/wiki/Work_stealing
- https://itnext.io/monitoring-on-kubernetes-custom-metrics-c068165f82d3
- http://poselok-programmistov.ru/
- https://www.yaplakal.com/forum2/st/150/topic1729488.html
- https://www.instagram.com/p/BSQIGATBM5o/?taken-by=it_poselok
- https://www.instagram.com/_bravit/
- https://ru.wikipedia.org/wiki/%D0%94%D1%80%D0%B5%D0%B2%D0%B0%D1%80%D1%85-%D0%9F%D1%80%D0%BE%D1%81%D0%B2%D0%B5%D1%82%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B9
- http://blog.poselok-programmistov.ru/posts/23-n-stereotipov-o-poselke-chast-1
- http://blog.poselok-programmistov.ru/posts/21-railsclub-2017
- http://www.confidentruby.com/
- https://www.tripadvisor.ru/Hotel_Review-g2389216-d13327591-Reviews-Victoria_Village-Slobodskoy_Kirov_Oblast_Volga_District.html
- http://codewars.com/
- https://pikabu.ru/story/anekdot_pro_slukhi_379653
- https://nodered.org/
- http://draw.io/
- http://backendsecret.ru/stats/
- http://backendsecret.ru/
- https://www.manning.com/books/get-programming-with-haskell
- https://www.haskell.org/hoogle/
- https://www.haskell.org/cabal/
- https://prime.haskell.org/wiki/Committee
- https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0
- https://wiki.haskell.org/Introduction#Quicksort_in_Haskell
- http://lisper.ru/pcl/
- https://www.reddit.com/r/haskell/comments/6bxk1v/why_monads_always_get_compared_to_burritos/
- https://www.reddit.com/r/haskell/comments/6ck72h/functional_design_and_architecture/
- http://plc.sfedu.ru/
- https://cs.brynmawr.edu/~rae/
- http://newstar.rinet.ru/~goga/tapl/
- http://newstar.rinet.ru/~goga/sicp/
- https://yandexdataschool.ru/about
- https://vk.com/docs-90475720
- https://vk.com/sidenisru?w=wall-145527688_110%2Fa2d24b2342574020a6
- https://www.ozon.ru/context/detail/id/142250123/
- http://profstandart.rosmintrud.ru/obshchiy-informatsionnyy-blok/natsionalnyy-reestr-professionalnykh-standartov/reestr-professionalnykh-standartov/index.php?ELEMENT_ID=56414
- http://profstandart.rosmintrud.ru/obshchiy-informatsionnyy-blok/natsionalnyy-reestr-professionalnykh-standartov/reestr-trudovyh-funkcij/index.php?ELEMENT_ID=50370&CODE=50370
- https://www.piter.com/collection/klassika-computer-science/product/arhitektura-kompyutera-6-e-izd
- http://sunschool.mmcs.sfedu.ru/
- http://fprog.ru/
- https://thegrid.io/
- https://www.ohaskell.guide/recursion.html
- https://haskellstack.org/
- https://ruhaskell.org/posts/utils/2015/07/13/from-cabal-to-stack.html
- https://ruhaskell.org/posts/utils/2015/11/25/nix-idea.html
- https://ruhaskell.org/posts/theory/2015/01/20/the-what-are-monads-fallacy.html
- https://www.stackage.org/lts-10.9
- https://pragprog.com/book/swdddf/domain-modeling-made-functional
- https://www.slideshare.net/ScottWlaschin/fp-patterns-buildstufflt
- https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell
- https://hackernoon.com/4-steps-to-a-better-imports-list-in-haskell-43a3d868273c
- http://fpconf.ru/
- https://fby.by/
- https://conf.researchr.org/home/icfp-2018
- https://zurihac.info/
- https://www.apress.com/gp/book/9781430262503
- https://functional.works-hub.com/
- https://functionaljobs.com/
- https://bananasandlenses.net/
- http://www.haskellcast.com/
- https://gitter.im/ruHaskell/forall
- https://coub.com/view/13ka5l
- http://compscicenter.ru/
- http://lektorium.tv/
- https://www.innogames.com/ru/innogames-rabota/detail/job/linux-system-administrator-system-engineer/
- http://xapix.io/
- https://t.me/jobs_abroad
- https://wheely.workable.com/jobs/670161
- https://spb.hh.ru/vacancy/25125230
- https://spb.hh.ru/vacancy/24165997
- https://m.hh.ru/vacancies?employer_id=1034343
- https://hh.ru/vacancy/24352499
- https://www.linkedin.com/jobs/view/590821926
- https://boinc.berkeley.edu/projects.php
- https://www.mersenne.org/download/
- http://retailcrm.ru/
- https://www.tweag.io/posts/2018-03-29-we-are-hiring-swe.html
- https://ams-ix.net/about/careers--2
- https://ufa.hh.ru/employer/1736538
- http://gay.ru/
- https://storj.io/share.html
- https://virtualrealitypop.com/who-is-seeding-the-ar-cloud-fb4f923cfd98
- http://telegra.ph/Trost-kontroller-mozhet-otkryt-dlya-slabovidyashchih-put-v-virtualnyj-mir-03-06
- https://www.jref.com/forum/studying-in-japan.181/
- https://www.siggraph.org/discover/news/and-oscar-goes-to-mark-elendt
- http://b.mini/
- http://winkeyless.kr/product/b-mini-x2-pcb/
- http://www.tomshardware.co.uk/helix-ortholinear-mechanical-keyboard-kit,news-58019.html
- http://wiki.geekhack.org/index.php?title=Bro_Caps#BroCaps_Variants
- https://techkeys.us/products/synth
- https://sa2018.siggraph.org/en/volunteers
- https://www.tokyodev.com/
- https://jobs.gaijinpot.com/
- https://rakuten.careers/we_think_big/
- https://www.doorkeeper.jp/
- https://www.amazon.com/VR-Book-Human-Centered-Virtual-Reality-ebook/dp/B01JV1LAZW
- https://s3.siggraph.org/programs/s3r3/
- https://www.keychatter.com/2015/10/10/how-to-create-a-keycap-set-for-a-group-buy/
- http://reddit.com/r/mechanicalkeyboards
- https://geekhack.org/
- http://drimsim.com/