Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
Забыл рассказать про еще один вывод на который натолкнул меня пример с счетчиком в многопоточной среде.

Ранее мы разобрались в том что на уровне железа у нас есть определенные гарантии и мы когда пишем код знаем какое поведение с точки зрения работы с памятью ожидать (или наоборот) от программы на x86 или например ARM процессоре.

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

Как с этим жить? Мой опыт говорит:
- Не использовать Concurrency без четкого понимания зачем.
- Если используешь то минимизировать общее состояние.
- Общее состояние которое осталось покрыть блокировками.

На этом завершаю разбор языка Python с точки зрения Concurrency, следующим языком будет либо Ruby либо Java😊

Если вам хочется больше примеров кода и практики то прикрепляю хорошие ссылки:
- Практический гайд по процессам и потокам (и не только) в Python - бенчмаркаю и делаю выводы о производительности процессов, потоков и корутин.
- Python behind the scenes #13: the GIL and its effects on Python multithreading - офигенный пост в рамках не менее офигенного цикла статей. Горячо рекомендую если не видели.

———

А если интересно как я изучал Python то здесь всё:
🐍 Как я изучал Python. Step 1 - Изучение языка.
🐍 Как я изучал Python. Step 2 - Инструменты и библиотеки.
🐍 Как я изучал Python. Step 3 - Concurrency
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
🐍 Как я изучал Python. Step 1 - Изучение языка.

Цикл постов посвящённый языкам программирования с которыми я работал в production близится к концу. Ранее я подробно рассказал о том как изучал Ruby и Go.
Пришло время Python - языка в который я перекатывался из Ruby и на котором до сих пор прохожу алгоритмические собеседования. В этом посте расскажу о погружении в базу и фундамент языка.

1️⃣ Full Speed Python: a book for self-learners

Великолепная бесплатная методичка с упражнениями. Читается за пару часов, не нудно, с обилием примеров. Мне особенно понравилось как автор красиво провел линию повествования от итераторов коллекций до генераторов и asyncio. Супер доходчиво и понятно.


2️⃣ Python Koans - Learn Python through TDD

Еще один ресурс для тех кому лень читать огромные книги и хочется учиться на практике. Нужно лишь склонировать репозиторий и исправлять код пока все тесты не станут зелеными. Комбо: Git + Python + Tests


3️⃣ Comprehensive Python Cheatsheet

Очень подробная бесплатная шпаргалка по различным конструкциям языка


4️⃣ WTF Python - сборник примеров "магии" и особенностей языка

На этом мой минимальный набор окончен. Пишите в комментарии, каким был ваш путь в изучении Python?)

В следующих постах расскажу про тулинг и экосистему😊
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
🐍 Как я изучал Python. Step 2 - Инструменты и библиотеки.

После изучения основных конструкций языка я начал погружаться в тулинг, так как понимал по опыту с Ruby - сам язык это всего лишь часть картины, и программисту важно не только писать код но и пользоваться инструментами написанными другими.

🔹The Hitchhiker’s Guide to Python! (MUST HAVE)
Великолепная бесплатная книга обо всем. Начиная с того как правильно установить язык на свой компьютер заканчивая best practices по написанию качественного кода. Если вы начинающий питонист - переходите по ссылке и на многие вопросы найдете ответы😊

🔹Python Packaging User Guide
Оказывается в официальной доке Python есть целый цикл статей о том как правильно оборачивать свой код в пакеты для дальнейшего переиспользования. Если перед вами стоит задача на работе требующая переиспользования кода советую присмотриться чтобы сделать всё по красоте

🔹Pyenv - Simple Python version management
Невероятно полезная утилита для размещения нескольких версий Python на одной машине. Удобно если работаешь с несколькими проектами + для тестирования различных корнер кейсов. Мне эта утилита помогла обнаружить undefined behaviour в Python, о котором я писал на Хабре.

Code Quality Tools
🔹Black - The uncompromising Python code formatter
🔹WemakePythonStyleGuide - The strictest and most opinionated python linter ever!

Как видите список не то чтобы большой, все таки не так долго по времени удалось поработать с Python, наверняка многие современные тулы я упустил из виду😁

Расскажите в комментариях про полезные инструменты и библиотеки которые помогают вам в ежедневной работе🙃
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
🐍 Изучение Python. Часть #3. Concurrency

Продолжаю цикл постов о том как изучал Python. Сегодняшний лот - конкурентность(многопоточность / мультипроцессинг / асинхронщина).

Основы по этой теме я изучил в университете, а практиковался уже когда работал на Ruby (в Купибилете бэкэнд был написан поверх асинхронной библиотеки).
При изучении аналогичной темы в Python мне было достаточно лишь грамотно провести параллели между абстракциями. И помогли мне в этом великолепные бесплатные статьи с сайта superfastpython

https://superfastpython.com/learning-paths/

Будучи ментором заметил что у начинающих специалистов возникает довольно много вопросов по этой теме, несмотря на обилие ресурсов в сети.
И написал на Хабр супер короткую заметку Практический гайд по процессам и потокам (и не только) в Python. Теперь перед любыми консультациями скидываю её ученикам, и мы созванивались только при условии что даже она не смогла помочь.

Bonus: В прошлом году у меня была мысль сделать цикл постов в виде задачек и решать их вместе с вами. В итоге я придумал задачку на многопоточность и нашел неочевидное поведение Python. Так я получил полноценную учетку на хабре😁 И в дополнение от учеников получал отзывы, что мои статьи на хабре читали даже их интервьюеры☺️

Расскажите в комментариях о вашем опыте работы с Concurrency, мне будет очень интересно ознакомиться)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Пресидский залив (Nadia ズエバ)
БЮ-РО-КРА-ТИ-Я 👹
Я - человек, который отлично знаком с бюрократией благодаря открытию ИП в разных странах и, мягко говоря, не самой простой проверке для визы сша, из-за которой я теперь знаю основы налогообложения в десятке стран. И как фаундер early stage стартапа последний месяц я играю в игру разберись-как-засетапить-компанию-и-пройти-DD 🌚

Из хорошего: компания AestyAI Pte Ltd успешно зарегистрирована в Сингапуре, открыт мультивалютный банк аккаунт и выпущены карты. Из плохого: ACRA (сингапурские "госуслуги") лежат с конца декабря и получить какой-либо документ или провести операцию типа сабдивижена шэров там невозможно 👻 Тем не менее, для тех кто собирается сетапить компанию в Сингапуре я могу подсказать самую удачную связку по личному опыту и тому, что замечала у других:

💼 Регистрация компании - через Osome. Знакомые делали через Clara, Sleek (не доступен по рф паспорту) и отзывы плохие, в osome у меня пока очень хороший опыт, особенно радует что поддержка отвечает супер быстро.
💸 Регистрация банк аккаунта - через Aspire. Все удаленно. Пробовала сперва AirWallex, почти две недели водили по разным проверкам и в итоге отказали. Aspire открыли по внж ОАЭ за 3 дня сингапурский счет и еще за 5 - долларовый.
📖 Правительственным сервисам Сингапура ставлю -100/100 👿 Закладывайте минимум неделю на каждое минимальное одобрение со стороны правительства. А как можно было допустить чтобы ключевой сайт не работал несколько недель, я не понимаю 🫠

Поэтому пока ждем чтобы все снова заработало на ACRA наконец-то можем сосредоточиться на главном на все 💯- продолжить билдить продукт 🤗

Кстати, у Antler MENA начинается scouting season, так что если вы ждали знак чтобы попробовать себя в роли фаундера, то это он.

🤫 А если хотите, чтобы я дала вам рекомендацию (любая география), можете скинуть мне свой LinkedIn и идею того, что собираетесь билдить или уже билдите
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Artyom Matveev
Если человек вообще никогда не занимался ML, то наверное всё-таки стоит пройти какой-нибудь один курс по основам, нет? Иначе есть вероятность ограничиться пониманием на уровне fit-predict при решении подобной задачи на случайном датасете. Мне кажется наиболее актуальный и оптимальный путь рассказан в этом видео. Парень сам работает рисечером в Sakana AI.
Forwarded from Sergey
Я сейчас в Болте работаю, поэтому не могу вопросы пошарить =)

Но про заландо расскажу (я там до болта работал и сам тоже интервью проводил):
- мы пытались спрашивать то, что нужно было под позицию, если надо было человека под обучение сеток взять на последовательностях кликов, то про tfidf, word2vec, LSTM, трансформеры, как их обучать, приёмы по обучению (от простых бейзлайнов до соты)
- когда надо было заниматься бустингом во фроде, то там классика про метрики бинарной классификации, как выбирать порог отсечения в проде, про финансовый оценки FP, FN, как решать проблемы с sensored data (когда мы не знаем перформанс модели на забаненых юзерах, так как им не дали кредит и не наблюдаем их ground truth), по бустингу спрашивали про апроксимацию и препроцессинг для данных
Привет всем!👋

Представьте, вы на работе перепробовали все SOTA решения, но ожидаемый эффект от построенных моделей так и не был получен. Или вы работаете в RnD подразделении в конкретной области и хотите оставаться "в теме". Тогда сегодняшний пост для вас.

Сегодня я покажу два интересных инструмента для упрощения работы с научными статьями, опубликованными на arXiv.

▪️Papers With Code
Сайт, на котором можно убедиться что вы попробовали все SOTA решения и увидеть сравнение на benchmark датасетах. Разделен на различные постановки задач. Кроме того, можно найти датасет по душе для проверки подходов.

▪️arXiv compressor
Достаточно прикольный сайт, на котором выкладываются все статьи по CV/ML/AI с arXiv, сгруппированные по датам выхода.
В качестве бонуса - небольшая суммаризация статьи с использованием LLM (для более детального поиска).
Удобно, если, вы, например занимаетесь, наукой и боитесь "проспать" исследования.


▪️Connected papers
Сайт, который строит граф связности для статей arXiv.
Берете конкретную статью, забиваете на сайт и получаете граф, в котором в вершинах авторы статьи и год выпуска, связи учитывают кто ссылался/на что ссылался.
Отличный пример использования: Вы увидели новый подход, но статья, мягко говоря посредственная, куча ссылок на предыдущие работы и тд. Вбиваете на сайт, наливаете чай и получаете граф. И тут, буквально, все смежные работы перед глазами.

▪️Zeta Alpha
Еще один сильный ресурс. Тут более глубокий функционал, включающий в себя все фишки из предыдущих источников. Тут тебе и суммаризация, и граф построят и поиск статей с кодом, и фильтр по конкретному источнику (конференции, dev блоги компаний, Toward Data Science)

Сохраняйте, пригодится!
По традиции, 🔥, если понравилось!

#ds_лайфхаки@dzis_science
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 5 minutes of data
Apache Airflow® Best Practices: ETL & ELT Pipelines

44 страницы исчерпывающего руководства по одному из самых распространенных сценариев использования в data engineering на ведущем open-source оркестраторе!

Что вы узнаете из руководства:

📊 Сравнение ETL vs. ELT для вашей архитектурной стратегии - какой подход выбрать и почему.

💡 Лучшие практики написания DAG в Airflow - как создавать эффективные и поддерживаемые пайплайны.

⚡️ Ключевые функции для улучшения ваших ETL & ELT пайплайнов - поднимите свои процессы обработки данных на новый уровень.

Станьте экспертом в оркестрации данных с этим подробным руководством!

Скачать можно по ссылке

@data_whisperer