А как у вас обстоит дело с поиском багов?
Признавайтесь, вы же только и делаете, что используете `print`ы😀
Признавайтесь, вы же только и делаете, что используете `print`ы😀
😁3
This media is not supported in your browser
VIEW IN TELEGRAM
Какую штуку нашел😎
Пакет ipython-sql
SQL внутри Jupyter. Magic
Подготовил для вас google colab, в нем автоматически подготавливается БД (ну а вдруг её у вас нет😉) и показаны примеры работы с расширением.
Расширение имеет право на жизнь, но есть минусы:
- нет подсветки синтаксиса SQL (да, к хорошему привыкаешь быстро)
- нашлись ошибки (расширение падает с ошибкой при использовании оконных функций)
Попробуйте посмотреть🤨
#python #sql #jupyter
Пакет ipython-sql
SQL внутри Jupyter. Magic
%%sql позволяет писать SQL-запросы прямо в ячейке Jupyter и получать результат в виде pd.DataFrame, всё как мы любим❤️Подготовил для вас google colab, в нем автоматически подготавливается БД (ну а вдруг её у вас нет😉) и показаны примеры работы с расширением.
Расширение имеет право на жизнь, но есть минусы:
- нет подсветки синтаксиса SQL (да, к хорошему привыкаешь быстро)
- нашлись ошибки (расширение падает с ошибкой при использовании оконных функций)
Попробуйте посмотреть🤨
#python #sql #jupyter
👍5
Пиу-пиу, сегодня по SQLite💡
Иногда создается впечатление, что её считают недосубд😥
Да, у нее есть особенности, основные:
- нет многопользовательского управления (всё на плечах файловой системы)
- нет многопользовательского доступа (читать могут несколько, а вот писать только 1 процесс)
- у нее нет сервера, поэтому производительность настроить не получится (какая есть), но если нужно повысить производительность приложений читающих напрямую с диска, то лучше использовать SQLite.
- ключевая особенность - это встраиваемая бд
🚫Все limitations (https://runebook.dev/ru/docs/sqlite/limits) по-русски
Она точно вам подойдет, если вы хотите:
- поработать с данными самостоятельно, но не хочется плодить CSV\JSON
- хотите почувствовать себя Data Engineer и реализовывать модели данных\pipelines и тд
- создать petproject используя Flask\Django или другой web-framework
Если заглянуть в доку, то обнаружим что весьма крупные компании пользуются этой крошкой:
-🗳 DropBox - на клиентской стороне
- 📱Во всех Android смартфонах используется SQLite
- 🐍она включена в стандартную библиотеку нашего любимого Python
Полный список тут
(https://www.sqlite.org/famous.html) И напоследок список ресурсов, ознакомьтесь ближе с этой маленькой, но такой БОЛЬШОЙ субд:
- Интервью (https://habr.com/ru/company/macloud/blog/566396/) с создателем SQLite
- Цикл (https://habr.com/ru/post/149356/) статей
- Это вам не игрушка
(https://habr.com/ru/post/547448/)
- Антон Жиянов создал обучающий курс (https://antonz.ru/sqlite-course/)(а еще он существенно расширил возможности SQLite, его telegram (https://news.1rj.ru/str/sqliter) канал)
Иногда создается впечатление, что её считают недосубд😥
Да, у нее есть особенности, основные:
- нет многопользовательского управления (всё на плечах файловой системы)
- нет многопользовательского доступа (читать могут несколько, а вот писать только 1 процесс)
- у нее нет сервера, поэтому производительность настроить не получится (какая есть), но если нужно повысить производительность приложений читающих напрямую с диска, то лучше использовать SQLite.
- ключевая особенность - это встраиваемая бд
🚫Все limitations (https://runebook.dev/ru/docs/sqlite/limits) по-русски
Она точно вам подойдет, если вы хотите:
- поработать с данными самостоятельно, но не хочется плодить CSV\JSON
- хотите почувствовать себя Data Engineer и реализовывать модели данных\pipelines и тд
- создать petproject используя Flask\Django или другой web-framework
Если заглянуть в доку, то обнаружим что весьма крупные компании пользуются этой крошкой:
-🗳 DropBox - на клиентской стороне
- 📱Во всех Android смартфонах используется SQLite
- 🐍она включена в стандартную библиотеку нашего любимого Python
Полный список тут
(https://www.sqlite.org/famous.html) И напоследок список ресурсов, ознакомьтесь ближе с этой маленькой, но такой БОЛЬШОЙ субд:
- Интервью (https://habr.com/ru/company/macloud/blog/566396/) с создателем SQLite
- Цикл (https://habr.com/ru/post/149356/) статей
- Это вам не игрушка
(https://habr.com/ru/post/547448/)
- Антон Жиянов создал обучающий курс (https://antonz.ru/sqlite-course/)(а еще он существенно расширил возможности SQLite, его telegram (https://news.1rj.ru/str/sqliter) канал)
👍2
А вы используете линтеры?✏️
Линтер - программа, которая сделает ваш код как у синьора-помидора🍅
Если на пальцах, для Python - линтер проверит соблюдение правил PEP8 (вы же помните, что они есть или пишите спагетти-код🍝) и выдаст рекомендации по улучшению, ну или сам поправит.
Вводная про линтеры
К чему это всё, прочел статью Груг, против сложности, автор которой потрудился и проверил весь Python-код в статьях на хабре - рекомендую к прочтению, можно найти много практических советов😉
Из полезного:
- у автора есть сервис по авторевью кода (там навороченный линтер, как мелкий брюзга проверить ваш код)
- по результатам есть описание типовых ошибок
- если не хотите ждать авторевью (оно занимает до 24 часов), устанавливаете
......................
Помните в посте выше про
немного кода, я собрал его в py-файл и отправил на проверку, результат по ссылке или кратко:
- отсутствуют аннотации типов (да, еще не добрался до их применения)
- ненужный код
- лишнее создание объектов
Оценка - 2️⃣.7️⃣8️⃣% при общей в по всем ревью 8.5% - отличный результат🥇
В общем готовьте код правильно!
Линтер - программа, которая сделает ваш код как у синьора-помидора🍅
Если на пальцах, для Python - линтер проверит соблюдение правил PEP8 (вы же помните, что они есть или пишите спагетти-код🍝) и выдаст рекомендации по улучшению, ну или сам поправит.
Вводная про линтеры
К чему это всё, прочел статью Груг, против сложности, автор которой потрудился и проверил весь Python-код в статьях на хабре - рекомендую к прочтению, можно найти много практических советов😉
Из полезного:
- у автора есть сервис по авторевью кода (там навороченный линтер, как мелкий брюзга проверить ваш код)
- по результатам есть описание типовых ошибок
- если не хотите ждать авторевью (оно занимает до 24 часов), устанавливаете
flake8, качаете авторский .flake8 и начинаете улучшать свой код......................
Помните в посте выше про
ipython-sql мы писалинемного кода, я собрал его в py-файл и отправил на проверку, результат по ссылке или кратко:
- отсутствуют аннотации типов (да, еще не добрался до их применения)
- ненужный код
- лишнее создание объектов
Оценка - 2️⃣.7️⃣8️⃣% при общей в по всем ревью 8.5% - отличный результат🥇
В общем готовьте код правильно!
Журнал «Код» программирование без снобизма
Линтер: что это такое и зачем нужно — Журнал «Код»
Линтер — это программа, которая автоматизирует всю эту возню и сама «причёсывает» код по определённым правилам. Даёшь ей чумазый и неуклюжий код, она чистит на уровне каких-то простых правил.
👍2
🎙Хей-хей, сегодня небольшой квиз
И не говорите, что вы не любите порешать интересные задачки на Python или SQL🤩
Не часто в описании вакансии встретишь намеки на тестовое, а тут на днях обнаружил такое:
Устроим небольшой SQL challenge💪
В комменты добавлю видео где найти этот датасет 🎥
Буду ждать ваших решений, если возникнут проблемы, смело пишите в комменты, разберемся🙃
Итого в решении должно быть:
- запрос 1 (топ 3 машины)
- запрос 2 (сравнение величины чаевых за месяц с предыдущим в процентах)
- будет круто если график изменения чаевых реализуете в виде дашборд 📈 (варианты: Tableau Public, Google Data Studio, Yandex DataLens, Redash) и поделитесь ссылкой
➖➖➖➖➖➖➖➖➖➖
Ну, что погнали😉
#sql #dashboard #challenge
И не говорите, что вы не любите порешать интересные задачки на Python или SQL🤩
Не часто в описании вакансии встретишь намеки на тестовое, а тут на днях обнаружил такое:
Напишите запрос, который найдет три машины, получившие наибольшее кол-во чаевых в апреле 2022 года.
Выведите, как изменялась эта сумма в последующие месяцы в процентах по сравнению с предыдущим в таблице со столбцами:
- taxi_id
- year_month
- tips_sum
- tips_changes
В качестве источника используйте bigquery-public-data.chicago_taxi_tripsУстроим небольшой SQL challenge💪
В комменты добавлю видео где найти этот датасет 🎥
Буду ждать ваших решений, если возникнут проблемы, смело пишите в комменты, разберемся🙃
Итого в решении должно быть:
- запрос 1 (топ 3 машины)
- запрос 2 (сравнение величины чаевых за месяц с предыдущим в процентах)
- будет круто если график изменения чаевых реализуете в виде дашборд 📈 (варианты: Tableau Public, Google Data Studio, Yandex DataLens, Redash) и поделитесь ссылкой
➖➖➖➖➖➖➖➖➖➖
Ну, что погнали😉
#sql #dashboard #challenge
👍2🐳1
☝️Как говорил известный герой Случайности не случайны
Начав новый рабочий ML проект, через пару дней наткнулся на стартующий курс от ODS - ML System Design Course.
Естественно вписался, думал, послушаю лекции, узнаю чего нового, а тут активностей накидали:
- 🎥 Видео лекции
- 📝 За время курса (до середины января 2023) необходимо подготовить доклад\tutorial (в идеале статья habr\medium) на выбранную тему (например, Airflow или DVC)
- 📆 все студенты собираются в команды и будут пилит pet-project. К окончанию курса, должно быть работающее MVP
- 📚 куча дополнительных материалов, только успевай читать
Первая лекция прошла - она была обо всем по-немногу (что будет в курсе, чего не будет). Тк участвую в достаточном кол-ве ML проектов, то меня привлек слайд про управление ML проектами (рисунок будет в комментариях).
Приглянулся двухфазный подход к ML проектам:
- 🕔 Discovery (фиксированное время). За отведенное время выполняем research по данным, генерим гипотезы, проверяем, формулируем и тд. Так сказать готовим почву для второго этапа
- 🚰 Delivery (фиксированные задачи). Задачи выявленные в ходе research здесь обретают форму и результаты.
Кажется, так просто и понятно, но объяснить заказчику необходимость Discovery бывает очень трудно, тк ему кажется, что всё это как бы прилагается и задача (которую он придумал) точно решается.
Начав новый рабочий ML проект, через пару дней наткнулся на стартующий курс от ODS - ML System Design Course.
Естественно вписался, думал, послушаю лекции, узнаю чего нового, а тут активностей накидали:
- 🎥 Видео лекции
- 📝 За время курса (до середины января 2023) необходимо подготовить доклад\tutorial (в идеале статья habr\medium) на выбранную тему (например, Airflow или DVC)
- 📆 все студенты собираются в команды и будут пилит pet-project. К окончанию курса, должно быть работающее MVP
- 📚 куча дополнительных материалов, только успевай читать
Первая лекция прошла - она была обо всем по-немногу (что будет в курсе, чего не будет). Тк участвую в достаточном кол-ве ML проектов, то меня привлек слайд про управление ML проектами (рисунок будет в комментариях).
Приглянулся двухфазный подход к ML проектам:
- 🕔 Discovery (фиксированное время). За отведенное время выполняем research по данным, генерим гипотезы, проверяем, формулируем и тд. Так сказать готовим почву для второго этапа
- 🚰 Delivery (фиксированные задачи). Задачи выявленные в ходе research здесь обретают форму и результаты.
Кажется, так просто и понятно, но объяснить заказчику необходимость Discovery бывает очень трудно, тк ему кажется, что всё это как бы прилагается и задача (которую он придумал) точно решается.
👍2
Пятница плавно подошла к своему вечеру😎
Люблю когда всё ОК....
Люблю когда всё ОК....
👌2🍾1
Навеяно просмотром фильма Человек, который изменил всё 📺
Хороший однако фильм и посвящен отчасти нашим data-делам.
В общем рекомендую к просмотру, ну и знать статистику тоже рекомендую😉
#mem
Хороший однако фильм и посвящен отчасти нашим data-делам.
В общем рекомендую к просмотру, ну и знать статистику тоже рекомендую😉
#mem
👍3😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Кажется, я нашел, на что еще можно смотреть бесконечно😍
Вот что бывает, когда есть умелые руки и современные технологии:
- Python
- raspberry pi
- шепотка DeepLearning (хотя там может просто библиотека OpenCV)
🐔🐔🐔
https://pikabu.ru/story/turel_protiv_kur_9528819?utm_source=linkshare&utm_medium=sharing
#video #почтимем
Вот что бывает, когда есть умелые руки и современные технологии:
- Python
- raspberry pi
- шепотка DeepLearning (хотя там может просто библиотека OpenCV)
🐔🐔🐔
https://pikabu.ru/story/turel_protiv_kur_9528819?utm_source=linkshare&utm_medium=sharing
#video #почтимем
Пикабу
Турель против кур
Пост пикабушника numbra в сообществе Видеохостинг на Пикабу
Черный лебедь🦢
Недавно со мной произошла поучительная история.
Обсуждая рабочие задачи, коснулись изменения одного из параметров: пока коллеги продолжили обсуждение (оно строилось вокруг гипотезы - параметр измеряется редко, до единиц раз в неделю).
Чтобы обсуждение не ушло далеко, я решил бегло просмотреть данные и понять так ли это. Немного контекста: данные находятся в контуре заказчика, до которого надо пройти небольшие круги ада с VPN + RDS —> то есть не самый приятный и удобный способ посмотреть данные.
Данные просмотрены 👀, говорю коллегам: Параметр изменяется реже 1 раза в неделю, дискуссия прерывается, конфа заканчиватся.
Но сомнения от быстрого просмотра не дали мне покоя, пошел писать SQL для подсчета кол-ва изменений по недельно. Результат ☝️ на картинке: При крайне низкой вероятности 1 изменения в неделю я показаательно попал в эту цифру (это несомненно успешный успех)🙃
.
.
💡 Не делайте поспешных выводов из анализа на скорую руку
Недавно со мной произошла поучительная история.
Обсуждая рабочие задачи, коснулись изменения одного из параметров: пока коллеги продолжили обсуждение (оно строилось вокруг гипотезы - параметр измеряется редко, до единиц раз в неделю).
Чтобы обсуждение не ушло далеко, я решил бегло просмотреть данные и понять так ли это. Немного контекста: данные находятся в контуре заказчика, до которого надо пройти небольшие круги ада с VPN + RDS —> то есть не самый приятный и удобный способ посмотреть данные.
Данные просмотрены 👀, говорю коллегам: Параметр изменяется реже 1 раза в неделю, дискуссия прерывается, конфа заканчиватся.
Но сомнения от быстрого просмотра не дали мне покоя, пошел писать SQL для подсчета кол-ва изменений по недельно. Результат ☝️ на картинке: При крайне низкой вероятности 1 изменения в неделю я показаательно попал в эту цифру (это несомненно успешный успех)🙃
.
.
💡 Не делайте поспешных выводов из анализа на скорую руку
😁2
Неделя черных лебедей🦢
Последний месяц активно использую классный тул - SQLpad (ну почти "ай") для первичного анализа\проверки гипотез.
В кратце - ребята из Авито поняв, что известные клиенты нещадно плодят запросы к метаданным СУБД и приводят к деградации производительности, написали свой клиент - почитать тут.
Чем приглянулся мне: возможностью строить графики 📈 - набор не супер широкий, но для комфортного изучения данных более чем достаточно (иногда вам придется извернутся на SQL, но это отдельная история).
Лебединая песня: в конфиге нет отметки о том, что PostgreSQL поддерживается (текст на черном фоне), поэтому и живу с SQLite. Сегодня в очередной раз гулял по документации и увидел то, что в верхней рамке - а слона-то я и не заметил 🤨
Остаётся только проверить👀
Всем внимательности и мира🌎
Последний месяц активно использую классный тул - SQLpad (ну почти "ай") для первичного анализа\проверки гипотез.
В кратце - ребята из Авито поняв, что известные клиенты нещадно плодят запросы к метаданным СУБД и приводят к деградации производительности, написали свой клиент - почитать тут.
Чем приглянулся мне: возможностью строить графики 📈 - набор не супер широкий, но для комфортного изучения данных более чем достаточно (иногда вам придется извернутся на SQL, но это отдельная история).
Лебединая песня: в конфиге нет отметки о том, что PostgreSQL поддерживается (текст на черном фоне), поэтому и живу с SQLite. Сегодня в очередной раз гулял по документации и увидел то, что в верхней рамке - а слона-то я и не заметил 🤨
Остаётся только проверить👀
Всем внимательности и мира🌎
👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
☝️Привет, любителям SQL
Все знают, что ключевые слова (SELECT\FROM\HAVING\....) следует писать в UPPER CASE.
Самому запросу ни тепло ни холодно (лучше от этого он работать не станет), но человеческому глазу приятно и коллеги скажут спасибо. И вот вы в очередной раз исправляете все ключевые слова в трехэтажном запроса....😞
Нет, так делать не стоит. Облегчить себе жизнь можно просто настроив IDE. Я использую DBeaver: заходим в настройки, пара кликов мыши и вуаля -> смотрим в видео 🎥
А в целом вопрос форматирования SQL запросов всегда актуален, для этого рекомендую статью 📒
А вы форматируете, SQL?
Все знают, что ключевые слова (SELECT\FROM\HAVING\....) следует писать в UPPER CASE.
Самому запросу ни тепло ни холодно (лучше от этого он работать не станет), но человеческому глазу приятно и коллеги скажут спасибо. И вот вы в очередной раз исправляете все ключевые слова в трехэтажном запроса....😞
Нет, так делать не стоит. Облегчить себе жизнь можно просто настроив IDE. Я использую DBeaver: заходим в настройки, пара кликов мыши и вуаля -> смотрим в видео 🎥
А в целом вопрос форматирования SQL запросов всегда актуален, для этого рекомендую статью 📒
А вы форматируете, SQL?
👍5
А вот и мерч👕
По осени цыплят считают, а я принял участие в курсе ML System Design от сообщества ods.
Чуть позже расскажу, что было и чем всё закончилось, а пока красивая футболка.
По осени цыплят считают, а я принял участие в курсе ML System Design от сообщества ods.
Чуть позже расскажу, что было и чем всё закончилось, а пока красивая футболка.
👏4
ODS - ML System Design
.
Курс, посвященный проектированию ML систем с точки зрения софта, железа и бизнеса. Говоря проще: как жить дальше после получения обученной модельки.
.
Общее взаимодействие такое:
📍Участники выбирают какую-либо тему (например, бот рекомендаций игр, распознавание SQL, сервис сравнения цен и др)
📍Объединяются в команды
📍Слушают лекции, читают презентации и допматериал
📍🪚 Пилят свой проект в соответствии с полученными знаниями
🪣 Пытаются всеми правдами и неправдами дотащить проект допрода защиты
📍По пути могут разбираются в одной из выбранных тем (отличный прицип научился сам - научи других)
📍Презентуют проект
.
Восторженные крики, радость, мерч и вот это вот всё в конце😎
.
🍩Из приятных бонусов:
- поработать в команде
- получить новые знания\упорядочить старые
- собрать систему вместе
- получить отличный Design Doc
.
🏆Итог: 8 место среди всех проектов, сумевших дойти до конца (~40), отличная футболка и общее понимание устройства ML системы.
#ods #mlsystemdesign #part1
.
Курс, посвященный проектированию ML систем с точки зрения софта, железа и бизнеса. Говоря проще: как жить дальше после получения обученной модельки.
.
Общее взаимодействие такое:
📍Участники выбирают какую-либо тему (например, бот рекомендаций игр, распознавание SQL, сервис сравнения цен и др)
📍Объединяются в команды
📍Слушают лекции, читают презентации и допматериал
📍🪚 Пилят свой проект в соответствии с полученными знаниями
🪣 Пытаются всеми правдами и неправдами дотащить проект до
📍По пути могут разбираются в одной из выбранных тем (отличный прицип научился сам - научи других)
📍Презентуют проект
.
Восторженные крики, радость, мерч и вот это вот всё в конце😎
.
🍩Из приятных бонусов:
- поработать в команде
- получить новые знания\упорядочить старые
- собрать систему вместе
- получить отличный Design Doc
.
🏆Итог: 8 место среди всех проектов, сумевших дойти до конца (~40), отличная футболка и общее понимание устройства ML системы.
#ods #mlsystemdesign #part1
👍3🔥1
ODS - ML System Design 2️⃣
.
Чем занималась команда
.
Громкое название проекта - Voice Teacher - аудио анализ вашей речи с указанием слов филлеров, их процента и возможностью улучшения речи.
.
Удалось реализовать
- прием аудисообщений
- анализ на существование слов-филлеров
- отправка результата пользователю
.
Архитектура
- микросервисы:
- моделька - FastAPI
- база - FastAPI
- бот
- развернуто на YCloud
Для всего используется старый добрый Python🤟
.
Организация совместной работы
1. Кодовая база -
2. Общие идеи, тикеты, рисунки -
3. Документы -
4. Общение\обсуждение - чат Телеграмм, Zoom для онлайн обсуждений
.
#ods #mlsystemdesign #part2
.
Чем занималась команда
.
Громкое название проекта - Voice Teacher - аудио анализ вашей речи с указанием слов филлеров, их процента и возможностью улучшения речи.
.
Удалось реализовать
- прием аудисообщений
- анализ на существование слов-филлеров
- отправка результата пользователю
.
Архитектура
- микросервисы:
- моделька - FastAPI
- база - FastAPI
- бот
- развернуто на YCloud
Для всего используется старый добрый Python🤟
.
Организация совместной работы
1. Кодовая база -
github. Описаны правила создания веток (например, все исследовательские ветки именовались по шаблону exp-author_name-N)2. Общие идеи, тикеты, рисунки -
miro3. Документы -
Google Docs4. Общение\обсуждение - чат Телеграмм, Zoom для онлайн обсуждений
.
#ods #mlsystemdesign #part2
🔥1