Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 12, 2019 07:54:40

ksimmi
Зарегистрирован: 2019-09-12
Сообщения: 13
Репутация: +  0  -
Профиль  

Как принято в современном Python? Так, чтобы стильно и молодежно.

Всем привет!

Пишу в “Python для экспертов”, хотя экспертом в Python не являюсь. Писал еще в 2007-2008 годах на нем месяцев 9. Затем в 2013-м учавствовал в небольшом проекте меньше года. Довелось даже попреподавать его студентам, но это так…

Дело в том, что меня пригласили быть тимлидом в новый перспективный проект с микросервисной архитектурой, настолько новый, что в нем еще ни строчки кода нет. Опыт в создании таковых проетов с нуля у меня есть. Мой прошлый проект таковым и был: ядро системы состоящее из больше чем сорока программ на Ruby, вокруг этого всего балаган других микросервисных “независиых” систем на php, python, С# и прочем.

Инвестор пришел со своей “сильной” командой python-разработчков и хочет, чтобы это все началось именно как python-проект. Ребята вроде толковые, только на мой взгляд в проектах такого масштаба не варились и ничего кроме Django не знают и не хотят. Не хочу ничего плохого сказать про Django, но она не подойдет, тут я просто давлю на всех авторитетом, даже объяснить ничего не пытаюсь. Да, микросервисы общаются друг с другом по HTTP, но у них нет и не будет никакой клиентской части. Почти уверен, что мы свой протокол вообще придумаем, как это было у меня раньше. Т.е. никая джанга из мира питона, никакие рельсы из мира руби и прочие фреймворки не подойдут. Может где-то будет Flask или мой любимый Pyramid, но не факт, я их упомянул, просто потому что из мира Python я больше ни с чем достойным не работал.

Времени до старта проекта достаточно много и я хочу начать готовиться уже сейчас. Моя просьба ко всем читающим общем смысле такая “Как принято вести разработку на Python сейчас, в 2019-м году?”. В частности мои вопросы такие:
1 Лучшие практики Python в микросервисах;
2 Есть что-то типа dry-rb.org (набор крутых современных Ruby-библиотек, позволяющих облегчить построение архитектурны) в Python-сообществе?
3 Любые другие советы, лучшие современные практики.

Спасибо всем большое.

P.S. Я понимаю, что даже если сам осилю все те вопросы, которые задал, у меня скорее всего не получится сильно изменить команду и они будут заниматься той разработкой которой привыкли, но я все же буду пытаться влиять

P.P.S. Форум и сайт живые? На сайте последний пост за 2016-й. Я примерно тогда последний раз сюда заходил. Подскажите, пожалуйста любой другой живой Python-форум, можно на английском языке.

Офлайн

#2 Сен. 12, 2019 09:19:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

ksimmi
Форум и сайт живые?
Может вам не стоит быть тимлидом если вам нужна посторонняя помощь чтобы отличить форум с ежедневной активностью от форума не активного с 16 года?

ksimmi
Как принято вести разработку на Python сейчас, в 2019-м году?
Сильно попахивает дилетантизмом. Также как и всегда, и также как и на любом другом языке. Надеюсь вы не ищете волшебной пули и волшебной технологии?
ksimmi
Лучшие практики Python в микросервисах;
Не подскажу, думаю тут есть люди которые это лучше знают.
ksimmi
Есть что-то типа dry-rb.org
Все не пролистал, но похоже что практически все входит в ядро языка или стандартные библиотеки.
ksimmi
Любые другие советы, лучшие современные практики.
Конкретно опишите проект тогда получите конкретные советы.



Офлайн

#3 Сен. 12, 2019 10:47:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

ksimmi
Писал еще в 2007-2008 годах на нем месяцев 9.
На втором питоне писал? Это значит, нужно третий изучать.

ksimmi
Довелось даже попреподавать его студентам
А смысл? От нечего делать что ли?

ksimmi
Мой прошлый проект таковым и был: ядро системы состоящее из больше чем сорока программ на Ruby
Ну, показал бы ядро. Интересно посмотреть.

ksimmi
у меня скорее всего не получится сильно изменить команду и они будут заниматься той разработкой которой привыкли
Да как-то не верится в эту “команду”. Проект с нуля, при этом “тимлид” ничего не знает. Одновременно с этим в “команде” есть более опытные питонисты/джангисты, но при этом среди них не выбирается тимлид. То есть “инвестор” хочет сразу затормозить проект, ещё даже не начав его. Что-то не складывается как-то логика.



Офлайн

#4 Сен. 12, 2019 12:33:09

ksimmi
Зарегистрирован: 2019-09-12
Сообщения: 13
Репутация: +  0  -
Профиль  

Как принято в современном Python? Так, чтобы стильно и молодежно.

doza_and, py.user.next
При всем уважении, я тут не для обсуждения своей компетенции и вашей веры в меня. Как вы могли заметить, у меня даже конкретного вопроса нет, соответственно от отвечающих я ожидаю не набор конкретных “волшебных пуль”, а “пищи для размышлений”.

Ну например, когда-то я нормально (по своему собственному мнению) писал на Ruby, был доволен своим продуктом. Затем появился добрый человек на конфе и просто рассказал про упомянутый мной же dry-rb, с хорошим обоснованием. Для меня тогда Ruby-разработка изменилась.

Вот, чего-то такого я и жду от отвечающих. Все, что угодно - я конкретней не скажу. Мне просто нужны “добрые советы” и рекомендации по стеку. Меня интересует именно уровень языка, ни докеры, ни БД, ни микросервисная архитектура - только лишь сам Python. Я в Python-тусовке не варился. Я готов ознакомиться с огромным количеством материала. Было бы, что читать.

Задача решаемая мной, ИМХО, не важна, потому что у меня нет конкретных трудностей. Я знаю как и что будет реализовано, особенно если абстрагироваться от языка. Мне, извините за такое высокомерие, все-равно на чем писать. Я знаю как это все сделать со своими низкими нвыками Python-разработчика. Но я хочу нарастить свою компетенцию именно, как Python-разработчика. Все потому, что я хочу сделать приложение, которое будет легко поддерживать.

Я не верю, что задал какой-то неправильный или глупый вопрос. Возможно я просто не понят. Потому что на такие вопросы часто бывает трудно отвечать потому что отвечающему кажется, что его ответ очевиден. На какую ORM стоит смотреть? какой фреймворк? какие библиотеки? на чем лучше всего писать тесты?… Обычный ответ “тот иснтрумент в котором разбираешься - тот и используй”, дело в том, что в Python у меня еще нет инструментов в которых я разбираюсь. Ну и я не хотел например бы разрабатывать какой-нибудь автомобиль с паровым двигателем в 2019-м, когда я мог бы селать электрокар.

Спасибо всем за внимание.

Отредактировано ksimmi (Сен. 12, 2019 12:36:15)

Офлайн

#5 Сен. 12, 2019 12:56:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

ksimmi
Возможно я просто не понят.

Именно, вы не поняты. Начало непонимания вы закладываете вот сдесь:
ksimmi
экспертом в Python не являюсь
ksimmi
пригласили быть тимлидом в новый перспективный проект

Каждому понятно, что никаким тимлидом вы быть не можете. Вот у нас тут на форуме пару недель назад начал проявлять активность некий гражданин, который путается в ифах и элсах, но при этом нацелен писать систему искуственного интеллекта. Какие ему можно дать рекомендации, как вы думаете?

ksimmi
Затем появился добрый человек на конфе и просто рассказал про упомянутый мной же dry-rb, с хорошим обоснованием. Для меня тогда Ruby-разработка изменилась. Вот, чего-то такого я и жду от отвечающих.

Вы хотите, чтобы специально для вас здесь и сейчас кто-нибудь устроил конференцию?

ksimmi
Задача решаемая мной, ИМХО, не важна, потому что у меня нет конкретных трудностей.

Дайте мне какие-нибудь советы! Любые! Я тимлид перспективного проекта!

ksimmi
Я не верю, что задал какой-то неправильный или глупый вопрос.
Вы вообще никакого вопроса не задали. Вам, как вы выражаетесь, просто нужны “добрые советы” и рекомендации по стеку. Совет - берите в руки учебник и читайте, только таким образом вы приобретете какие-нибудь знания. А в тимлиды своего проекта пригласите человека, который сам способен раздавать добрые советы, потому что опыт приобретается трудом, потом, ошибками и факапами, а не добрыми советами. Вы собираетесь брать на себя ответственность за судьбу “перспективного проекта” на основании добрых советов на форуме? Или основываясь на своем богатом опыте - 9 месяцев джуном десять лет назад?

ksimmi
тут я просто давлю на всех авторитетом, даже объяснить ничего не пытаюсь.
Ох..еть!!!




Офлайн

#6 Сен. 12, 2019 14:11:50

ksimmi
Зарегистрирован: 2019-09-12
Сообщения: 13
Репутация: +  0  -
Профиль  

Как принято в современном Python? Так, чтобы стильно и молодежно.

Ладно, моя ошибка просить форум о помощи. Как давно я не был на форумах… Давно забытое чувство мокания самого себя в говны .

Народ, вопрос снимается, буду искать ответы не на форумах. Всем, проявившим внимание к моим постам - спасибо огромное.

Но хочу высказаться, хотя и понимаю, что всем пофиг. Тем не менее я был удивлен моим текущим диалогом с форумом.

В целом смешно. Я не могу быть тимлидом? Просто потому что я не знаю Python? Уму не постижимо! Во-первых, я его знаю, просто у меня язык не поворачивается назвать себя экспертом, т.к. сложных вещей не делал. Во-вторых, для того, чтобы быть тимлидом вообще не нужно знать конкретный язык на старте проекта. Я в этом убедился, когда работал со своим замечаетльным бывшим коллегой и ментором, который как-раз и был нашим тимлидом пришедшим к нам с другого стека.

Не знаю, что за ограниченность и придирки к словам. Я могу быть тимлидом, просто потому что я УЖЕ тимлид, давно и не в первом проекте, а то, что я язык знаю плохо (и то только по своей субъективной оценке) - не приграда. Я постарался написать свой вопрос максимально нейтрально, хотел сказать, что я с одной стороны опытный специалист и передо мной нет стратегических трудностей, а с другой - у меня большие пробелы в стеке и соответственно проблемы тактические. Все отписавшиеся же только и пытаются в той или иной форме высказать, что у меня ничего не получится.

У меня не было задачи убедить форум, в том, что я достоин быть тимлидом, да я и не убеждал, я прочитал свой пост - там такого нет. У меня была убежденность, что мне просто помогут или проигнорят. Ну не понравилось то, что я пишу - зачем отвечать? Никакая полемика мне не интересна.

Я бы мог написать нечто такое:
Я умею разговаривать на языке заказчика и доность цели и ценности задач до команды. Умею направлять затрудняющихся коллег в нужное русло. Умею планировать и соблюдать сроки. Умею отвечать за несоблюдение сроков и прочие косяки. Люблю и умею написать образец кода “как делать нужно” и предоставить его в качестве примера коллегам. Вот ради последнего пункта я и создавал текущий топик, я просто хотел большей уверенности. Команда, которую мне хотят подсунуть вообще лохи не решавшие серьезных задач, они даже тести никогда не писали, НИКАКИЕ! Ни модульные, ни интеграционные! CI никогда не смотрели!

Вот, если бы я так написал (а это правда), я бы понял стеб над собой или стеба надо мной было бы еще больше, также как и сомнений, что с такой командой я что-то смогу!
Я же просто упомянул, что я какой-то опытный тимлид, у меня какая-то python-команда и то, что я плохо знаю Python.

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

Повторюсь, что не верю, что задал неправильный или смешной вопрос. Python развивающийся язык, один из самых популярных. Я уверен, что здесь и сейчас есть мастхев, который форумчане могли бы мне посоветововать и этот мастхев у каждого свой, например pyenv вместо virtualenv.

P.S. Извините за многобукв, я иногда люблю так графоманить , в осноновном в тикетах ;-p .


Отредактировано ksimmi (Сен. 12, 2019 14:22:29)

Офлайн

#7 Сен. 12, 2019 14:35:20

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

> Как принято в современном Python? Так, чтобы стильно и молодежно

“Стильно и молодёжно” это когда ты ходишь с ойфоном, но выглядешь как бомж. В программировании нужно руководствоваться другими принципами.

> Как принято вести разработку на Python сейчас, в 2019-м году?

В сети полно видео с конференций типа “Piter Py”, “PyCon Russia” и подобных. Вот их посмотрите, там любят на подобные темы трепаться.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Сен. 12, 2019 14:45:37)

Офлайн

#8 Сен. 12, 2019 14:38:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

ksimmi
Ладно, моя ошибка просить форум о помощи. Как давно я не был на форумах… Давно забытое чувство мокания самого себя в говны

Ну дык! “дайте мне какие угодно советы” это не просьба о помощи, это “я чего то хочу, а кого не знаю”. Не хотите, чтобы макали в говны, задавайте вопрос так, чтобы это выглядело профессионально, а не по школотронски.

Вот как бы я примерно на вашем месте сформулировал:
Начинаем новый проект в такой-то области, планируется примерно такая-то нагрузка на сеть, такая-то на БД, решать будем такой-то командой. Питон выбран как основной язык бэкенда по таким-то соображениям. Сейчас выбрали микросервисную архитектуру потому-то и потому-то, но есть вот такие-то сомнения. Данные будем хранить вот в такой СУБД по таким-то причинам. Сейчас пытаемся сформировать основной стек технологий. Можете посоветовать какое-нибудь связующее программное обеспечение, требования такие-то, ограничения такие-то, будет плюсом то-то. Кроме того, не вполне определились с выбором реализации той-то технологии, потому что рынок предлагает то-то, то-то и то-то, и есть вот такие плюсы и минусы. На мой взгляд, нам бы подошло вот это, но говорят что … Кстати, что вы думаете об то-то и то-то, выглядит перспективно. И еще вопрос, как бы вы решили вот это, раньше не приходилось сталкиваться, может есть готовое решение?

А вы-то чего наговорили? Кому ваш поток сознания нужен?



Офлайн

#9 Сен. 12, 2019 20:09:20

ksimmi
Зарегистрирован: 2019-09-12
Сообщения: 13
Репутация: +  0  -
Профиль  

Как принято в современном Python? Так, чтобы стильно и молодежно.

FishHook
Я вас понимаю, вы привели пример вопроса, в котором у задающего конкретики больше, а сама проблема относительно проекта. Я как раз хотел сформулировать относительно проблемы во мне. Я не был в Python с 2013-го года. Давайте еще пример приведу того, что я хотел.

Пример 1: В 2013-м я попал в Python-проект проект на 3-м питоне проект был с нуля. Был опытный руководитель, который вел себя примерно так:

Django? Вы серьезно? 2013-й на дворе, мы выбрали 3-й питон, а не 2-й. Забудьте вы об этом концентрате прошлого. Да, они недавно выпустили релиз который поддерживает 3-й питон. Но зачем выбирать ее? Мы можем взять, что-то что сразу было создано под 3-й, например Pyramid. Давайте будем современными!

Пример 2: В 2015-м я почти принял решение поучаствовать в другом Python-проекте, но передумал. Так там тоже было нечто подобное от кого-то из той команды.
virtualenv? Я, конечно, ничего плохого против него не имею, но он же неудобный, 2015-й на дворе. Сейчас есть удобнейший pyenv… Для управления зависимостями используйте pundler

Под вопросом “Как принято в современном Python? Так, чтобы стильно и молодежно” я как раз и имел в виду нечто подобное. Я подумал, что раз я встречал таких людей в живую и практически случайно, то целенаправлено задав вопрос на форуме я уж точно получу ответ, но ни тут то было.

Просто мои ожидания и реальность разительно несоотнеслись такое бывает.

Rodegast ваш ответ ближе всего к тому, что я ждал. Спасибо.
.

Офлайн

#10 Сен. 12, 2019 20:39:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как принято в современном Python? Так, чтобы стильно и молодежно.

ksimmi

Django? Вы серьезно? 2013-й на дворе, мы выбрали 3-й питон, а не 2-й. Забудьте вы об этом концентрате прошлого. Да, они недавно выпустили релиз который поддерживает 3-й питон. Но зачем выбирать ее? Мы можем взять, что-то что сразу было создано под 3-й, например Pyramid. Давайте будем современными!

Вы серьезно? Вот это вот основной критерий выбора инструмента? “Давайте будем современными”!
Вас не интересует набор батареек, порог вхождения, размер комьюнити, техподдержка, документация, вы не сравнили производительность, не поинтересовались наличием кадров на рынке труда, не провели никаких исследований на совместимость с остальными вашими инструментами, вообще никаких про и контра.

Дай бог каждому такого техлида.

ksimmi
на форуме я уж точно получу ответ, но ни тут то было
Потому что нет никакого универсального ответа и быть не может. Знаете, почему нас окружает разнообразие выборов? Почему у меня макбук, а у моего коллеги сони, почему я ношу короткую прическу, а коллега длинную, почему я пью пиво, а коллега кока-колу? Потому что у всего есть плюсы и минусы, нет универсального решения “как лучше”.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version