PIlIGRIM

21 ноября 2016, Москва, Россия

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

Привет! На этой неделе с вами Пинхас Равинский, backend developer at Intento.
Пишу в основном на Python, занимаюсь всем около API и данных.

11:26

Мой твиттер @PIlIGRIM

11:27

За наделю хочу обсудить: стиль кода, языки, IDE и около, документирование, обучение падаванов, контейнеры, сон, pet-projects и прочее.

11:32

Начнём со стиля кода: вообще важно ли это для вас?

11:35

А вот голосовалка: важен ли для вас стиль кода?

11:39
@backendsecret Важно. Это надо было голосовалку делать... Я вот непойму, ну почему в питоне победили пробелы? Табы же лучше! :)

Что-то одно должно было победить) twitter.com/Dronmdf/status…

11:43
@Dronmdf @backendsecret табы везде разные
11:44
@followalgerd @backendsecret Ну и что? Табы везде разные, но табы в двух соседних строках всегда равны!
11:59
@Dronmdf @followalgerd @backendsecret в этом и проблема. Открываешь код в гитхабе, а там отступ другой
11:59
@aelaau @Dronmdf @backendsecret при этом в текстовом редакторе/IDE можно на таб забиндить 4 пробела и это будет отображатся везде одинаково
11:59
@Dronmdf @aelaau @backendsecret вот когда все перестанут настраивать таб и установят его значение в 4 пробела, тогда и перейдем (:
12:05
@followalgerd @aelaau @backendsecret Таб - 8 символов! Для чего вы так хотите прижать код к левому краю, не хватает 79 символов по ширине?:)
12:05

Вижу стиль таки важен. А какие причины бывают у вас не придерживаться стиля?

12:07

Какие причины бывают у вас не придерживаться стиля?

12:08
@aelaau @followalgerd @backendsecret За пять вложенных блоков руки стоит поотрывать, а не отступы уменьшать.
12:12
@backendsecret Не понимаю первый вариант, есть же линтеры и даже автоисправлятели.
12:25

Лично у меня в саблайме есть анаконда, которая пинает меня за малейшее отклонение от pep8.

12:27

И вот, видим, что около трети читателей временами не придерживаются стиля.

12:28

Когда видите код, написанный без соблюдения стиля, какие мысли возникают?

12:29
@backendsecret самостоятельно я этим не занимаюсь. к примеру для python - autopep8, для C/C++ - близкий к linux kernel конфиг clang-format.
12:36
Вспомнил случай когда тестировали 512 битное шифрование. Исходные инты в хексе имеют 128 символов длиной, как же стиль? @backendsecret

… sometimes style guide recommendations just aren't applicable. When in doubt, use your best judgment… twitter.com/i/web/status/8…

12:45
@backendsecret почему нет пункта "прогоню через линтер"?

У опроса максимум 4 варианта можно сделать. twitter.com/imdefined/stat…

12:46
@backendsecret но это не значит что из-за одной строчки всему файлу можно херить стиль. Можно попробовать группировать такие вещи
13:00

Небольшой понедельничный sync. Теперь я снова с вами.

14:28

После обеда поговорим об организации кода в репозитории.

14:31

Кто как организует код в репозитории? Вдохновляетесь чем-то вроде 12factor.net/codebase ?

15:10

Тема организации кода в репозитории интересна?

17:09

Тогда про репозитории продолжаем :)

17:36

Мой подход: организация кода сильно зависит от размера команды.

17:37
@backendsecret а должна зависеть от размера проекта. ;-)

Например? twitter.com/v_twibli/statu…

18:01
@backendsecret чем больше проект тем больше он делится на компоненты, модули, итд.
18:04
@backendsecret Мне кажется, что у каждого разработчика должна быть репка, в которой он главный — решает что мержить а что нет, деплоит её...
20:23
@backendsecret ...и потом получает пиздюлей, если не работает. Развивает чувство ответственности.
20:23

Интересный подход.

20:23

# Вторник 40 твитов

Сегодня поговорим о языках. Кто на чём пишет? Как пришли к языку?

10:46

Например, я изначально стал изучать Python для обработки данных, и только позже занялся вебом.

10:47
@backendsecret numpy есть только на питоне, вот так и пришел. Кстати, мы ищем питонщика! Django, celery, mongo все такое
11:30
@backendsecret почему не Perl?

numpy, scipy, синтаксис удобный для чтения twitter.com/dcromster/stat…

11:30

На sclala никого?)

11:32
@backendsecret на скале сколько угодно. Нас здесь сотни.
11:45

Тогда, господа скалисты, что вас на скалу привело? Ожидания оправдываются?

11:46
@backendsecret еще pandas и Scikit-learn мощь

Тогда про ещё не слышно было twitter.com/sanin_ivan/sta…

11:55
@backendsecret попробовал PHP, понял, что нужен универсальный язык для настольных и сетевых приложений. Пришёл к C#.
11:56
@backendsecret c/c++, #perl, #java, #haskell, #erlang, #elixirlang.
#elixirlang для веба. На с/c++ #gsoap для сервера на #haskell
11:56
@backendsecret относительно пологая кривая обучения и высокая выразительность. Конечно же оправдываются.
11:56
@backendsecret Java - пока 1й язык. Была менеджером, стала учить Java чтобы лучше понимать разработчиков. Через год сама стала разработчиком
11:58
@backendsecret скорее нет чем да: практически нереально сформировать эффективную команду, у всех слишком разный уровень и разные вкусы.
12:01
@backendsecret на понимание ФП-концепций и системы типов в скале требуется года два, если учиться постоянно. Путь этот проходят единицы.
12:06
@QwestUA @backendsecret кто мешает использовать scala как улучшенную java? Это ИМНО хорошо описано здесь:
medium.com/@kvnwbbr/trans…
12:26
@cadet354 @backendsecret @kvnwbbr но мы то с вами знаем, что хороший джавист умеет писать джаву на любом языке :)
12:26
@backendsecret за деньги начинал на C++/Qt, потом на чистый C перешёл. Для скриптинга перешёл с bash на python-3.5
12:26
@backendsecret система типов изначально, все оправдывается, команду собрать тяжелее, зато если соберется то все ок.
12:51

А что у вас с цветовыми схемами в ide/редакторе? Какие? Почему?

12:52
@backendsecret solarized light. Знайте, люди, каждый раз, когда вы используете темную тему, в мире одна панда умирает
14:59
@backendsecret всё тёмное. В идее перешёл с Darcula на Material Dark, очень нравится.
14:59
@backendsecret #sublimetext2, solarized-light/dark в зависимости от времени. Просто приятно для глаз.
14:59
@backendsecret стандартная Dracula, потому что тёмная тема не давит на глаза
15:00
@backendsecret dracula. И для вима и для всего прочего.
15:00
@backendsecret обычно темная, но когда часто alt-tab на какое-то светлое окно, то меняю на светлую, иначе для глаз просто ад :\
15:00

Хотим обсудить документирование?

15:02

Потому как лично меня эта тема волнует очень: считаю лучшим подходом document first.

15:03
@backendsecret а оно существует?

существует, цветёт и пахнет! twitter.com/aelaau/status/…

15:05
@backendsecret Как бороться с тем что документация протухает на следующий день после написания? Самая точная документация только на Си

Прежде кода всегда писать доки: заодно и продумаешь лучше. twitter.com/alexanius/stat…

15:50
@backendsecret Я предпочитаю docummentation less. Лучшая докумментация та, которой нет.

А как потом через полгода разобраться? twitter.com/Dronmdf/status…

15:51
@backendsecret А как через полгода разбираться с докумментацией?
Возможно какой-то минимум актуальной докумментации необходим.
16:10
@backendsecret я вот задумываюсь о том. чтобы сделать гит-хук _для себя_ который реджектит коммиты с новыми папками не содержащими README.md
16:10
@backendsecret Есть ли инструменты для облегчения document first разработки?

Не знаю таких. Самоконтроль и всё. twitter.com/GolubevVictor/…

16:13
@backendsecret посвящаем время от времени (раз в полгода где-то) отдельный недельный спринт документированию.
16:33
@backendsecret @GolubevVictor пишу доку после того как все готово. Минимум в коде. Потом в процессе править код и доки не так уж сложно.
16:49
@backendsecret @GolubevVictor эх молодежь, классиков не знает ru.m.wikipedia.org/wiki/Грамотное…
17:29

Вот часто говорят: хайлоад, хайлоад… Что это такое? Где он начинается?

19:56
@backendsecret когда дешевле докупить сервером, чем менять архитектуру - это НЕ хайлоад
21:17
@backendsecret по аналогии с бигдатой - пока она влезает в память, которую можно купить за деньги, это не она :)
21:17

# Среда 12 твитов

Привет! Сегодня поговорим про обучение падаванов.

11:08

Чему учить стоит? Сколько времени на это нужно? Что главное, чтобы падаван умел? Как учить?

11:09
@backendsecret всему учить стоит. А вообще смотря про какое обучение речь. ВУЗ? На предприятии?

Частным образом, типа курсов. twitter.com/alexanius/stat…

11:54
@backendsecret Учить учиться - это маст хев
12:18
@backendsecret если частным, то тому за что заплатили. Желательно при этом самому быть в теме

Ну у меня цель сделать из них готовых к работе джунов. Хочу лучше понимать, что для джуна важно, а что нет. twitter.com/alexanius/stat…

12:23
@backendsecret важно чтобы мозг был правильно поставлен. А конкретные знания - необходимый минимум для работы на должности
12:40
@backendsecret фундаментальным вещам нужно учить: математика (анализ, теорвер, комб-ка, статистика) и CS (алгоритмы, распред. системы и пр)
13:26
@backendsecret с другой стороны, как говорит @bobuk, "маляры" тоже нужны. Как минимум до тех пор, пока их не заменит AI ;)
13:26
@backendsecret на @coursera есть очень годная специализация по алгоритмам от ВШЭ, есть шикарная специализация по Scala
15:29
@backendsecret для совсем начала - язык, алгоритмы и структуры данных. Затем веб или боты - легко результат получить
17:15

Провокационный вопрос: зачем использовать MongoDB, если есть Postgres?

17:16
@backendsecret чтобы выбраться за 30k upsert/s.
18:14

# Четверг 17 твитов

@backendsecret встречный провокационный вопрос: зачем использовать Postgres, если есть MongoDB, особенно если не нужны транзакции?
8:47
@QwestUA @backendsecret шаг первый - убедитесь, что вам действительно не нужны транзакции ;)
8:47
@QwestUA @backendsecret и после того как вы поняли что нужны - сделайте правильный выбор
11:23
@backendsecret Я конечно человек далекий от БД, но в своем хобби проекте думаю - а нафига у меня django c postgres, если есть sqlite?
11:51
@Dronmdf @backendsecret с миграциями данных в скулайте больно
11:51
@komzpa @backendsecret Не расширяется чтоль? И точно. Ну спасибо, буду иметь ввиду. Django это обходит, но потенциально могут быть фейлы.
11:51
@komzpa @Dronmdf @backendsecret вот да, 2.5 года назад очень сильно на этом наелся, пытался юзать Flask + SQLAlchemy + Sqlite и возрыдал.
12:04
@backendsecret зачем использовать Postgres и MongoDB, если есть rethink
12:23
@guavaby @backendsecret если "был" rethink. Они ж закрылись недавно, не выдержав несовершенства мира.
13:03

Контейнерами пользуетесь? Какими?

15:16

Что о докере можете сказать?

15:16
@backendsecret не могу вспомнить другой технологии, вызывающей столько срача, на протяжении нескольких лет.
15:32
@backendsecret офигенно нравится, но решает только типовые задачи. Если у тебя не по шаблону, то лучше через виртуалки по классике
16:46
@v_lebed @backendsecret что кстати из ботов интересного можно сделать?

Много чего: inten.to/messengers/bot… twitter.com/Valeusk/status…

21:45

Вот под ночь: сон сильно влияет на вашу продуктивность? Сколько спать нужно, чтобы быть продуктивным?

22:23

Мне вот нужно не меньше 6 часов, чтобы быть стабильно продуктивным.

22:24

Сколько вам нужно часов сна?

22:48

# Пятница 8 твитов

@backendsecret 6 в будни, 12 на выходных! :3
9:47
@Valeusk @backendsecret ботом можно, например, мониторить сеть и опрашивать состояние устройств.
Для мобильности очень подходит.
9:48
@Valeusk @backendsecret только бот это только интерфейс, а работа отдельными прогами выполняется.
9:48
@QwestUA @backendsecret могу вспомнить ещё одну технологию, вызывающую столько срача на протяжении нескольких лет: Go
9:48
@v_lebed @backendsecret если использовать разные api туда по логике любые данные передавать можно
9:58
@backendsecret кто эти супер-люди которым хватает по 6-7 часов?

Я, например) twitter.com/mr_The/status/…

12:48
@mr_The @backendsecret мне хватает. последние лет пять сплю по 5-6 часов, раз в месяц отсыпаюсь - часов 9.
14:24

Пятница, близится закат. До встречи в субботу вечером.

14:25

# Суббота 5 твитов

@aktuba @backendsecret мне бы такую привычку - сам сплю по 10 часов, и на выходных по 12, меньше - совсем не высыпаюсь. Поделишься секретом?

Встаю в одно и то де время. Даже в воскресенье. twitter.com/cybran111/stat…

18:56

Добрый вечер!

19:12

Выходные — самое время для pet-projects. У кого какие pet-projects, в каком режиме ими занимаетесь?

19:13
@backendsecret pet project - записываю подкасты
19:47
@backendsecret @cybran111 все проще :)
Родите ребёнка
20:55

# Воскресенье 5 твитов

Выходные — самое время для pet-projects. У кого какие pet-projects, в каком режиме ими занимаетесь?
14:03
@backendsecret пилю либу для работы с геометрией. 2-3 часа в день, иногда перерывы. Не хватает усидчивости
15:15
@backendsecret Я сам себе pet-project. Но часто не хватает времени.
17:56
@backendsecret нет и печалюсь от этого :(
21:38

На прошедшей неделе с вами был Пинхас Равинский @PIlIGRIM . Хорошей недели!

21:39

other