PIlIGRIM

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

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

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

8:26

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

8:27

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

8:32

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

8:35

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

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

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

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

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

9:07

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

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

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

9:27

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

9:28

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

9:29
@backendsecret самостоятельно я этим не занимаюсь. к примеру для python - autopep8, для C/C++ - близкий к linux kernel конфиг clang-format.
9: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…

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

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

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

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

11:28

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

11:31

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

12:10

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

14:09

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

14:36

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

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

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

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

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

17:23

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

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

7:46

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

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

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

8:30

На sclala никого?)

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

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

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

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

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

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

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

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

12:02

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8:08

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

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

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

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

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

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

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

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

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

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

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

12:16

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

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

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

18:45

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

19:23

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

19:24

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

19:48

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

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

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

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

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

11:25

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

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

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

15:56

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

16:12

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

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

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

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

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

18:39

other