# Понедельник 34 твита
Привет! На этой неделе с вами Пинхас Равинский, backend developer at Intento.
Пишу в основном на Python, занимаюсь всем около API и данных.
За наделю хочу обсудить: стиль кода, языки, 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.11:56
#elixirlang для веба. На с/c++ #gsoap для сервера на #haskell
@backendsecret относительно пологая кривая обучения и высокая выразительность. Конечно же оправдываются.11:56
@backendsecret Java - пока 1й язык. Была менеджером, стала учить Java чтобы лучше понимать разработчиков. Через год сама стала разработчиком11:58
@backendsecret скорее нет чем да: практически нереально сформировать эффективную команду, у всех слишком разный уровень и разные вкусы.12:01
@backendsecret на понимание ФП-концепций и системы типов в скале требуется года два, если учиться постоянно. Путь этот проходят единицы.12:06
@QwestUA @backendsecret кто мешает использовать scala как улучшенную java? Это ИМНО хорошо описано здесь:12:26
medium.com/@kvnwbbr/trans…
@cadet354 @backendsecret @kvnwbbr но мы то с вами знаем, что хороший джавист умеет писать джаву на любом языке :)12:26
@backendsecret за деньги начинал на C++/Qt, потом на чистый C перешёл. Для скриптинга перешёл с bash на python-3.512: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/alexanius/stat…
15:50@backendsecret Я предпочитаю docummentation less. Лучшая докумментация та, которой нет.
А как потом через полгода разобраться? twitter.com/Dronmdf/status…
15:51@backendsecret А как через полгода разбираться с докумментацией?16:10
Возможно какой-то минимум актуальной докумментации необходим.
@backendsecret я вот задумываюсь о том. чтобы сделать гит-хук _для себя_ который реджектит коммиты с новыми папками не содержащими README.md16:10
@backendsecret Есть ли инструменты для облегчения document first разработки?
Не знаю таких. Самоконтроль и всё. twitter.com/GolubevVictor/…
16:13@backendsecret javadoc?16:33
@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 есть очень годная специализация по алгоритмам от ВШЭ, есть шикарная специализация по Scala15: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, если есть rethink12: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 на выходных! :39:47
@Valeusk @backendsecret ботом можно, например, мониторить сеть и опрашивать состояние устройств.9:48
Для мобильности очень подходит.
@Valeusk @backendsecret только бот это только интерфейс, а работа отдельными прогами выполняется.9:48
@QwestUA @backendsecret могу вспомнить ещё одну технологию, вызывающую столько срача на протяжении нескольких лет: Go9: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