нужны ли алгоритмы программистам?
холиварный выпуск Moscow Python подкаста: Григорий Петров и Злата Обуховская накидывали на вентилятор, направленный на Асю Воронцову из Яндекса.
Тезис №1: знание алгоритмов нужны только тем, кто работает с высоконагруженными сервисами, где важна эффективности. Типа ядра Линукса или поисковика Яндекса. (важно отметить: даже в самом Яндексе не все работают с хайлоадом)
Тезис №2: внедрение алгоритмов в код ухудшает его читаемость. Это важно, т.к. код больше читается, чем пишется.
Тезис №3: времязатраты на написание эффективного кода не всегда окупается. Можно потратить две недели на код, который даёт всего 5% в сравнении с уже готовой библиотекой.
Тезис №4: профилировщик — лучший друг программиста. Это снимает большинство вопросов с эффективностью. Например, он подскажет, если вдруг код зайдёт в цикл.
Тезис №5: в больших компаниях спрашивают знание алгоритмов (и умение их писать на бумажке) не только ради самого знания, но и просто как ещё один фильтр, чтобы отсеять людей, которые уже приложили усилия и вызубрили редко используемую информацию.
#data_podcast в iTunes и overcast
#python
#algorithms
холиварный выпуск Moscow Python подкаста: Григорий Петров и Злата Обуховская накидывали на вентилятор, направленный на Асю Воронцову из Яндекса.
Тезис №1: знание алгоритмов нужны только тем, кто работает с высоконагруженными сервисами, где важна эффективности. Типа ядра Линукса или поисковика Яндекса. (важно отметить: даже в самом Яндексе не все работают с хайлоадом)
Тезис №2: внедрение алгоритмов в код ухудшает его читаемость. Это важно, т.к. код больше читается, чем пишется.
Тезис №3: времязатраты на написание эффективного кода не всегда окупается. Можно потратить две недели на код, который даёт всего 5% в сравнении с уже готовой библиотекой.
Тезис №4: профилировщик — лучший друг программиста. Это снимает большинство вопросов с эффективностью. Например, он подскажет, если вдруг код зайдёт в цикл.
Тезис №5: в больших компаниях спрашивают знание алгоритмов (и умение их писать на бумажке) не только ради самого знания, но и просто как ещё один фильтр, чтобы отсеять людей, которые уже приложили усилия и вызубрили редко используемую информацию.
#data_podcast в iTunes и overcast
#python
#algorithms
Apple Podcasts
«Moscow Python: подкаст о Python на русском»: «Moscow Python Podcast. Алгоритмы vs Профилировщик (level: All)» в Apple Podcasts
Шоу «Moscow Python: подкаст о Python на русском», выпуск «Moscow Python Podcast. Алгоритмы vs Профилировщик (level: All)» от 12 авг. 2020 г.
data будни
нужны ли алгоритмы программистам? холиварный выпуск Moscow Python подкаста: Григорий Петров и Злата Обуховская накидывали на вентилятор, направленный на Асю Воронцову из Яндекса. Тезис №1: знание алгоритмов нужны только тем, кто работает с высоконагруженными…
Software Craftsmanship — рецепт хорошего кода от Григория Петрова
(цитата из подкаста про алгоритмы)
вместо того, чтобы учиться писать на бумажке сортировку Ахо-Корасик,
Григорий предлагает учиться писать код, который потом будет легко читать и поддерживать.
Как можно улучшить свой код:
⁃ писать читаемый код
⁃ рассказывать историю через код
⁃ давать понятные имена идентификаторам
⁃ пользоваться гитом
⁃ включать профилировщик
⁃ настроить себе Continuous Integration
#software_engineering
#python
(цитата из подкаста про алгоритмы)
вместо того, чтобы учиться писать на бумажке сортировку Ахо-Корасик,
Григорий предлагает учиться писать код, который потом будет легко читать и поддерживать.
Как можно улучшить свой код:
⁃ писать читаемый код
⁃ рассказывать историю через код
⁃ давать понятные имена идентификаторам
⁃ пользоваться гитом
⁃ включать профилировщик
⁃ настроить себе Continuous Integration
#software_engineering
#python
Какие дата инженеры бывают и чего от них все хотят?
Запись доклада Николая Маркова с митапа DE or DIE
Кого могут называть дата инженером в разных компаниях:
⁃ ETL разработчика (pandas, PostgreSQL etc.)
⁃ «оператора» Hadoop на Java
⁃ архитектора хранилищ (Data Warehouse, Data Lake)
⁃ DevOps (Jenkins, Agile etc.)
Определение Николая:
«Data Engineer — это человек, который умеет правильно использовать компьютеры»
Наскриншотил несколько слайдов. Есть даже про игры)
https://youtu.be/GfBWzXxF5M8
#data_engineer #data_video
Запись доклада Николая Маркова с митапа DE or DIE
Кого могут называть дата инженером в разных компаниях:
⁃ ETL разработчика (pandas, PostgreSQL etc.)
⁃ «оператора» Hadoop на Java
⁃ архитектора хранилищ (Data Warehouse, Data Lake)
⁃ DevOps (Jenkins, Agile etc.)
Определение Николая:
«Data Engineer — это человек, который умеет правильно использовать компьютеры»
Наскриншотил несколько слайдов. Есть даже про игры)
https://youtu.be/GfBWzXxF5M8
#data_engineer #data_video
data будни
Какие дата инженеры бывают и чего от них все хотят? Запись доклада Николая Маркова с митапа DE or DIE Кого могут называть дата инженером в разных компаниях: ⁃ ETL разработчика (pandas, PostgreSQL etc.) ⁃ «оператора» Hadoop на Java ⁃ архитектора хранилищ…
был удивлён, когда увидел логотип Додо пиццы на техническом митапе. Задался вопросом и кроличья нора привела меня на интересный сайт dodo.dev
Так я узнал про Dodo Engineering.
Так я узнал про Dodo Engineering.
data будни
Какие дата инженеры бывают и чего от них все хотят? Запись доклада Николая Маркова с митапа DE or DIE Кого могут называть дата инженером в разных компаниях: ⁃ ETL разработчика (pandas, PostgreSQL etc.) ⁃ «оператора» Hadoop на Java ⁃ архитектора хранилищ…
Чо погамать?
отдельный слайд доклада Николая Маркова был посвещён играм для дата инженеров для прокачки системного мышления. Вот ссылки в Стим:
Factorio
https://store.steampowered.com/app/427520/Factorio/
TIS-100
https://store.steampowered.com/app/370360/TIS100/
MHRD
https://store.steampowered.com/app/576030/MHRD/
Human Resource Machine
https://store.steampowered.com/app/375820/Human_Resource_Machine/
Baba Is You
https://store.steampowered.com/app/736260/Baba_Is_You/
#data_engineering #games #friday
отдельный слайд доклада Николая Маркова был посвещён играм для дата инженеров для прокачки системного мышления. Вот ссылки в Стим:
Factorio
https://store.steampowered.com/app/427520/Factorio/
TIS-100
https://store.steampowered.com/app/370360/TIS100/
MHRD
https://store.steampowered.com/app/576030/MHRD/
Human Resource Machine
https://store.steampowered.com/app/375820/Human_Resource_Machine/
Baba Is You
https://store.steampowered.com/app/736260/Baba_Is_You/
#data_engineering #games #friday
Методы управления разработкой
В крупной компании команда несколько лет работала над продуктом. Когда его в итоге показали конечному заказчику, оказалось, что проект уже не нужен и его просто выбросили. Получается, много человек потратили много лет своей жизни впустую.
Так работает метод управления разработкой «водопад» (waterfall). Задачи идут последовательно одна за другой: два месяца на исследование, несколько лет на разработку, ещё сколько-то на внедрение. До самого конца заказчик ничего не видит — ему нужен только конечный результат.
Другой метод — аджайл. В Спотифай применяют как раз его: короткие итерации с ощутимым итогом после каждой — Spotify Model, развившееся в Spotify Rhythm.
из подкаста «Запуск завтра»
https://t.me/ctodaily/1157
#data_podcast
В крупной компании команда несколько лет работала над продуктом. Когда его в итоге показали конечному заказчику, оказалось, что проект уже не нужен и его просто выбросили. Получается, много человек потратили много лет своей жизни впустую.
Так работает метод управления разработкой «водопад» (waterfall). Задачи идут последовательно одна за другой: два месяца на исследование, несколько лет на разработку, ещё сколько-то на внедрение. До самого конца заказчик ничего не видит — ему нужен только конечный результат.
Другой метод — аджайл. В Спотифай применяют как раз его: короткие итерации с ощутимым итогом после каждой — Spotify Model, развившееся в Spotify Rhythm.
из подкаста «Запуск завтра»
https://t.me/ctodaily/1157
#data_podcast
Telegram
запуск завтра
Как управляют разработкой в самом популярном музыкальном сервисе в мире?
5 лет назад Spotify рассказали о своей системе управления разработкой, Spotify model. Сегодня о ней знает любой менеджер в IT, а многие положения из этой системы стали стандартами де…
5 лет назад Spotify рассказали о своей системе управления разработкой, Spotify model. Сегодня о ней знает любой менеджер в IT, а многие положения из этой системы стали стандартами де…
методы доступа к данным
задача: собрать данные из сервиса почтовых рассылок
вводные: вот личный кабинет, вот данные для доступа по API
сказано — сделано: написал скрипт, получил всех подписчиков и их данные. Ок.
Второй шаг — получить действия этих подписчиков (открытия, переходы по ссылкам, отписки).
С самими контактами всё просто: они подписываются не часто и только один раз; достаточно просто каждый день забирать из сервиса список новых.
А вот с активностями уже сложнее: тысячи подписывавшихся каждую неделю могут открыть, шернуть или отписаться. Получаются тысячи регулярных активностей.
Дальше — больше. Логика API не предусматривает отдельный фид для всех активностей: активности можно получить только по конкретному подписчику.
И вот я пыхчу и пишу скрипт с обходом всех айдишников, чтобы по каждому получить активности. Идёт не быстро, переодически упирается в какие-то ошибки, дописываю краевые условия для скрипта — код каждый раз усложняется. За день такого мурыжения я получаю 10к активностей.
В очередном помидорном перерыве пришла в голову идея спросить совета у старшего товарища. Он дал контакт в сервисе — пишу туда, объясняю ситуацию. Думаю, вдруг я просто не знаю как правильно использовать АПИ. Но там кивают, подтверждают что активности отдельно через АПИ не достать — так уж работает.
Угу. Понятно.
Но!
Могут прислать тупо выгрузку из своей базы по всем активностям. И потом каждый день присылать за прошлый. Вот вам доступ к папке на ФТП, там каждое утро будут появляться отчёты в .csv
Та-дам!
Итого: доступ в лоб «как сказали» — один день и 10К активностей. Проявил инициативу, зашёл сбоку — два часа и все активности с начала времён.
Зарубка себе на будущее:
1. задавать вопросы.
2. оценивать адекватность усилий к полученному результату.
3. делать паузы в работе (в них особенно удобно делать п.1 и п.2).
задача: собрать данные из сервиса почтовых рассылок
вводные: вот личный кабинет, вот данные для доступа по API
сказано — сделано: написал скрипт, получил всех подписчиков и их данные. Ок.
Второй шаг — получить действия этих подписчиков (открытия, переходы по ссылкам, отписки).
С самими контактами всё просто: они подписываются не часто и только один раз; достаточно просто каждый день забирать из сервиса список новых.
А вот с активностями уже сложнее: тысячи подписывавшихся каждую неделю могут открыть, шернуть или отписаться. Получаются тысячи регулярных активностей.
Дальше — больше. Логика API не предусматривает отдельный фид для всех активностей: активности можно получить только по конкретному подписчику.
И вот я пыхчу и пишу скрипт с обходом всех айдишников, чтобы по каждому получить активности. Идёт не быстро, переодически упирается в какие-то ошибки, дописываю краевые условия для скрипта — код каждый раз усложняется. За день такого мурыжения я получаю 10к активностей.
В очередном помидорном перерыве пришла в голову идея спросить совета у старшего товарища. Он дал контакт в сервисе — пишу туда, объясняю ситуацию. Думаю, вдруг я просто не знаю как правильно использовать АПИ. Но там кивают, подтверждают что активности отдельно через АПИ не достать — так уж работает.
Угу. Понятно.
Но!
Могут прислать тупо выгрузку из своей базы по всем активностям. И потом каждый день присылать за прошлый. Вот вам доступ к папке на ФТП, там каждое утро будут появляться отчёты в .csv
Та-дам!
Итого: доступ в лоб «как сказали» — один день и 10К активностей. Проявил инициативу, зашёл сбоку — два часа и все активности с начала времён.
Зарубка себе на будущее:
1. задавать вопросы.
2. оценивать адекватность усилий к полученному результату.
3. делать паузы в работе (в них особенно удобно делать п.1 и п.2).