Forwarded from Zen of Python
На реддите обсуждают кто какую библиотеку использует для отрисовки графиков в Python.
Сделал краткую выжимку и подборку библиотек:
🔘 Matplotlib — базовый стандарт;
🔘 Bokeh — интерактивные графики и дашборды в браузере;
🔘 Plotly.py — интерактивные 2D/3D‑графики и отчёты;
🔘 Seaborn — красивые статистические графики поверх Matplotlib;
🔘 PyQtGraph — быстрые интерактивные графики и GUI на Qt, хорошо подходит для real‑time;
🔘 Plotnine — ggplot2‑подобный, декларативный стиль построения графиков;
🔘 HoloViews — «данные сначала», декларативные интерактивные визуализации;
🔘 hvPlot — интерактивный .hvplot() для pandas/dask/xarray.
На картинке — сравнение по количеству звёзд на GitHub.
В самом треде для интерактивных графиков с зумом/hover/tooltip чаще всего советуют Plotly и Bokeh, а Matplotlib — если хватает статических картинок.
@zen_of_python
Сделал краткую выжимку и подборку библиотек:
На картинке — сравнение по количеству звёзд на GitHub.
В самом треде для интерактивных графиков с зумом/hover/tooltip чаще всего советуют Plotly и Bokeh, а Matplotlib — если хватает статических картинок.
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Не злоупотребляйте операторами нулевого слияния
И в JS, и в TS коде часто можно встретить такие конструкции:
Такой способ позволяет быть уверенным, что значение user.name никогда не будет равно null или undefined. Вроде круто — такая короткая запись и проблема исчезла.
На самом деле это не решение, а создание нескольких потенциальных проблем и, как считает автор этой статьи, признак грязного кода. По его мнению оставлять пустую строку вместо «пустых» значений ничем не лучше, ведь есть вероятность, что в какой-то момент пользователь увидит пустую строку вместо необходимого значения, а вы даже ошибку не обнаружите, потому что с точки зрения кода всё отлично.
Какие ещё опасности скрываются и как их избежать можно узнать по ссылке.
#веб #javascript #typescript
И в JS, и в TS коде часто можно встретить такие конструкции:
user?.name ?? ""
Такой способ позволяет быть уверенным, что значение user.name никогда не будет равно null или undefined. Вроде круто — такая короткая запись и проблема исчезла.
На самом деле это не решение, а создание нескольких потенциальных проблем и, как считает автор этой статьи, признак грязного кода. По его мнению оставлять пустую строку вместо «пустых» значений ничем не лучше, ведь есть вероятность, что в какой-то момент пользователь увидит пустую строку вместо необходимого значения, а вы даже ошибку не обнаружите, потому что с точки зрения кода всё отлично.
Какие ещё опасности скрываются и как их избежать можно узнать по ссылке.
#веб #javascript #typescript
❤🔥3✍1
В мире куча вариантов сортировки данных, но вы слышали о сортировке имени Сталина?
Нет, правда! Есть даже Милосердная сортировка Сталина. И это доработанная версия обычной сортировки Сталина.
Обычная сортировка Сталина итеративно идёт по массиву и удаляет все не упорядоченные элементы. А в милосердной сортировке применён рекурсивный метод. И здесь элементы, расположенные по-порядку, сохраняются, а остальные рекурсивно перебираются, пока не будет отсортировано всё.
Измерения показывают, что такой метод быстрее, чем быстрая сортировка и сортировка слиянием.
Более подробно о своём проекте и исследовании рассказал автор на GitHub. Там и про различные бенчмарки, и про сложности с реализацией, и возможные улучшения. Материал интересный и полезный, так что не поленитесь перейти по ссылке и почитать.
#ненормальноепрограммирование #сортировка
Нет, правда! Есть даже Милосердная сортировка Сталина. И это доработанная версия обычной сортировки Сталина.
Обычная сортировка Сталина итеративно идёт по массиву и удаляет все не упорядоченные элементы. А в милосердной сортировке применён рекурсивный метод. И здесь элементы, расположенные по-порядку, сохраняются, а остальные рекурсивно перебираются, пока не будет отсортировано всё.
Измерения показывают, что такой метод быстрее, чем быстрая сортировка и сортировка слиянием.
Более подробно о своём проекте и исследовании рассказал автор на GitHub. Там и про различные бенчмарки, и про сложности с реализацией, и возможные улучшения. Материал интересный и полезный, так что не поленитесь перейти по ссылке и почитать.
#ненормальноепрограммирование #сортировка
❤4
Forwarded from Метод утёнка
Статья для тех, кто хочет понять, как современный ML двигает онлайн‑рекламу в больших продуктах вроде VK, без формул и академичности: https://tprg.ru/Nf8A
Разбирают, как пользователей и контент превращают в векторы, как поверх потоковых данных строят профили и как единая платформа Discovery кормит моделями рекомендации, рекламу и антифрод. Полезно почитать, чтобы увидеть, как «ML в проде» выглядит не на учебном датасете, а в реальной системе с миллионами событий в секунду.
@your_tech
Разбирают, как пользователей и контент превращают в векторы, как поверх потоковых данных строят профили и как единая платформа Discovery кормит моделями рекомендации, рекламу и антифрод. Полезно почитать, чтобы увидеть, как «ML в проде» выглядит не на учебном датасете, а в реальной системе с миллионами событий в секунду.
@your_tech
Tproger
Как ML алгоритмы рулят онлайн-рекламой: про маркетинг и большие данные
Как рекламные алгоритмы понимают, что вы захотите купить, еще до того, как вы об этом подумали
❤3
Музыкальный движок для Денди
Сегодня делать музыку может каждый. Всё визуально понятно, расставляй звук по нотам и готово. А можно поручить это дело нейронке и тогда останется только описать желаемое и проверить результат.
Раньше всё было сложнее. На картинке выше, например, исходный код музыки для игры Home Alone 2. Ничего не понятно, правда?) Записать музыку для старых консольных игр было той ещё задачей. И если у компаний для этого были ресурсы, то энтузиастам, делающим самодельные проекты дома, приходилось выкручиваться. Один такой энтузиаст создал свой движок, который можно было встроить в игру совершенно бесплатно. Им пользуются по сей день фанаты ретро-игр, которые продолжают создавать свои проекты.
В материале о том, как создавался движок, какие были сложности и компромиссы. Интересно как с точки зрения истории, так и подхода написания старых проектов.
Сегодня делать музыку может каждый. Всё визуально понятно, расставляй звук по нотам и готово. А можно поручить это дело нейронке и тогда останется только описать желаемое и проверить результат.
Раньше всё было сложнее. На картинке выше, например, исходный код музыки для игры Home Alone 2. Ничего не понятно, правда?) Записать музыку для старых консольных игр было той ещё задачей. И если у компаний для этого были ресурсы, то энтузиастам, делающим самодельные проекты дома, приходилось выкручиваться. Один такой энтузиаст создал свой движок, который можно было встроить в игру совершенно бесплатно. Им пользуются по сей день фанаты ретро-игр, которые продолжают создавать свои проекты.
В материале о том, как создавался движок, какие были сложности и компромиссы. Интересно как с точки зрения истории, так и подхода написания старых проектов.
❤🔥3❤2🔥1
Создавать веб-приложения без фреймворков теперь ещё проще
Появился удобный стартер кит на Go и HTMX для создания веб-интерфейсов. Они берут на себя бэк и фронт соответственно, за базу отвечает PostgreSQL. Самое классное, что уже всё настроено и готово, вам остаётся просто начать создавать нужные вам компоненты на основе HTML-first логики.
Подробности и инструкцию забираем по ссылке.
#инструменты #веб
Появился удобный стартер кит на Go и HTMX для создания веб-интерфейсов. Они берут на себя бэк и фронт соответственно, за базу отвечает PostgreSQL. Самое классное, что уже всё настроено и готово, вам остаётся просто начать создавать нужные вам компоненты на основе HTML-first логики.
Подробности и инструкцию забираем по ссылке.
#инструменты #веб
👍3❤🔥1
Какую ОС используете
Anonymous Poll
37%
Windows 11
1%
Windows XP
29%
Windows 10
1%
Debian
6%
Ubuntu
10%
Тоже Linux, но другой
15%
MacOS
🤔2
Курс по Data Science: Обработка данных на Python
Ловите небольшой курс по Data Science для новичков. Здесь 12 коротких видео с основами.
В ходе курса вы освоите ключевые аспекты работы с данными, включая статистический анализ, машинное обучение, обработку текстов и временных рядов. А также познакомитесь с популярными библиотеками типа Scikit-learn, TensorFlow, Statsmodels, NLTK.
#курс #python #datascience
Ловите небольшой курс по Data Science для новичков. Здесь 12 коротких видео с основами.
В ходе курса вы освоите ключевые аспекты работы с данными, включая статистический анализ, машинное обучение, обработку текстов и временных рядов. А также познакомитесь с популярными библиотеками типа Scikit-learn, TensorFlow, Statsmodels, NLTK.
#курс #python #datascience
❤2👏1
Forwarded from Типичный программист
Математика для программистов: ответы на популярные вопросы и полезные ресурсы для изучения
Рассказали, кому и как именно нужна математика в IT. Пояснили, как правильно её изучать и где взять ресурсы для обучения: https://tproger.ru/articles/maths-for-programmers/
#математика
Рассказали, кому и как именно нужна математика в IT. Пояснили, как правильно её изучать и где взять ресурсы для обучения: https://tproger.ru/articles/maths-for-programmers/
#математика
😁5
Как старым учебникам по программированию удавалось объяснять сложные вещи проще, чем сейчас
Подход к подаче материалов сильно изменился со временем. Это не плохо и не хорошо, просто методы обучения и восприятие меняются. Но факт, что среди читателей старых учебников, действительно очень много сильных инженеров.
Может быть сегодня можно как-то адаптировать старый подход и вписать в современные стандарты? Автор этой статьи изучил этот вопрос и предлагает попробовать решить современную задачу методами из начала двухтысячных, отключив современные инструменты и написав код «руками».
Попробовать вместе с ним можно по ссылке.
Подход к подаче материалов сильно изменился со временем. Это не плохо и не хорошо, просто методы обучения и восприятие меняются. Но факт, что среди читателей старых учебников, действительно очень много сильных инженеров.
Может быть сегодня можно как-то адаптировать старый подход и вписать в современные стандарты? Автор этой статьи изучил этот вопрос и предлагает попробовать решить современную задачу методами из начала двухтысячных, отключив современные инструменты и написав код «руками».
Попробовать вместе с ним можно по ссылке.
👍3🤔1
Делаем просто калькулятор на JavaScript за 25 минут
Это видео позволит вам получить начальные навыки вёрстки и программирования на JS, а также создать свой первый законченный проект для портфолио всего за полчаса. Смотрим и повторяем:
https://youtu.be/WA3EFIB8-wU
#видео #javascript
Это видео позволит вам получить начальные навыки вёрстки и программирования на JS, а также создать свой первый законченный проект для портфолио всего за полчаса. Смотрим и повторяем:
https://youtu.be/WA3EFIB8-wU
#видео #javascript
YouTube
Как написать простой калькулятор на Java Script с поддержкой приоритетов
В этом видео я покажу Как написать простой калькулятор на Java Script с поддержкой приоритетов. Поддержка приоритетов в калькуляторе позволяет выполнять сложные математические выражения со всеми знаками операций а так же использовать скобки для повышения…
❤🔥4
Разбираемся, как работает цикл событий в JS
Event Loop Visualizer — очень удобная песочница, в которой можно посмотреть, как работает цикл событий и асинхронный код. Просто берёте готовый или вставляете свой, запускаете его и смотрите, что происходит в очереди вызовов, цикле, API-запросах и так далее.
Причём вы также можете попробовать угадать в каком порядке будет выполнен код. Для этого есть отдельное окошко.
Пробуем тут.
#javascript
Event Loop Visualizer — очень удобная песочница, в которой можно посмотреть, как работает цикл событий и асинхронный код. Просто берёте готовый или вставляете свой, запускаете его и смотрите, что происходит в очереди вызовов, цикле, API-запросах и так далее.
Причём вы также можете попробовать угадать в каком порядке будет выполнен код. Для этого есть отдельное окошко.
Пробуем тут.
#javascript
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Новичок в IT рассказывает другу, как пишутся программы. Из опыта только Hello World
😁9
Большая подборка проектов для прокачки навыков DevOps
Если решили встать на путь ДевоПса, тоне проходите мимо. Здесь собраны реальные кейсы, с которыми вы можете столкнуться во время работы. Он содержит руководства и решения для развертывания масштабируемых систем, например, для развертывания Java-приложения на AWS с использованием трехуровневой архитектуры и настройки масштабируемых VPC-архитектур в облаке.
Каждый проект содержит подобный README с полезной информацией. А самое главное, что всё бесплатно!
Забираем по ссылке.
#devops
Если решили встать на путь ДевоПса, тоне проходите мимо. Здесь собраны реальные кейсы, с которыми вы можете столкнуться во время работы. Он содержит руководства и решения для развертывания масштабируемых систем, например, для развертывания Java-приложения на AWS с использованием трехуровневой архитектуры и настройки масштабируемых VPC-архитектур в облаке.
Каждый проект содержит подобный README с полезной информацией. А самое главное, что всё бесплатно!
Забираем по ссылке.
#devops
❤2
Многопоточность в Java
Когда я изучал Java, то всё было легко до темы многопоточности. Там мой мозг начал ломаться и отказывался понимать происходящее на экране. Тема, конечно, сложная. Но как потом оказалось, что сложной была не только тема, но и подача, по которой я изучал её.
Но на днях я нашёл, как мне кажется, отличную серию статей, в которых всё доносится предельно понятно. Плюс тут разбираются современные способы работы с потоками, а не только стандартные synchronized и new Thread().
Так что рекомендую к прочтению всем, кто хочет наконец-то разобраться в теме.
Первая часть здесь.
А вторая тут.
#java #многопоточность
Когда я изучал Java, то всё было легко до темы многопоточности. Там мой мозг начал ломаться и отказывался понимать происходящее на экране. Тема, конечно, сложная. Но как потом оказалось, что сложной была не только тема, но и подача, по которой я изучал её.
Но на днях я нашёл, как мне кажется, отличную серию статей, в которых всё доносится предельно понятно. Плюс тут разбираются современные способы работы с потоками, а не только стандартные synchronized и new Thread().
Так что рекомендую к прочтению всем, кто хочет наконец-то разобраться в теме.
Первая часть здесь.
А вторая тут.
#java #многопоточность
❤4
Forwarded from Веб-страница
This media is not supported in your browser
VIEW IN TELEGRAM
Полезная функция в Chrome Dev Tools
Не все знают, но в инструментах разработчика есть раздел CSS Overview. Он позволяет вам в одном месте и в удобном виде посмотреть какие стили используются на сайте. Есть отдельный раздел со шрифтами, цветами, медиазапросами. Отдельного внимания стоит раздел, в котором показаны не используемые CSS-правила.
Инструкция по входу в раздел на видео.
#css #chrome
Не все знают, но в инструментах разработчика есть раздел CSS Overview. Он позволяет вам в одном месте и в удобном виде посмотреть какие стили используются на сайте. Есть отдельный раздел со шрифтами, цветами, медиазапросами. Отдельного внимания стоит раздел, в котором показаны не используемые CSS-правила.
Инструкция по входу в раздел на видео.
#css #chrome
❤5
Что такое коллизия хэш-функций и чем она опасна
Хэш-функция получает на входе какие-то данные, а на выходе отдаёт 16-теричное число (hex). Это позволяет стандартизировать различные объекты, присвоив им уникальные ID.
Но у такого метода есть недостаток — в некоторых случаях разным объектам может быть присвоен один ID. Это и есть коллизия. И она может привести к большим проблемам.
О том, как возникают коллизии, что делать с ними и почему полностью избавиться от них невозможно, рекомендую прочитать в статье.
Хэш-функция получает на входе какие-то данные, а на выходе отдаёт 16-теричное число (hex). Это позволяет стандартизировать различные объекты, присвоив им уникальные ID.
Но у такого метода есть недостаток — в некоторых случаях разным объектам может быть присвоен один ID. Это и есть коллизия. И она может привести к большим проблемам.
О том, как возникают коллизии, что делать с ними и почему полностью избавиться от них невозможно, рекомендую прочитать в статье.
🔥4