Mad Devs Channel
1.58K subscribers
668 photos
30 videos
1 file
872 links
Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.
Download Telegram
Почему Python популярен в Data Science и Machine Learning 🐍

На сегодняшний день Python является универсальным языком программирования, который используется в различных отраслях: от разработки игр и веб-разработке до Data Science и Machine Learning.

Давайте подробнее разберем причины популярности Python в Data Science и Machine Learning.

📍 Большое и активное коммьюнити. Как результат – наличие множества ресурсов для обучения и решения проблем. А также ряд мощных библиотек для анализа и визуализации данных, например, NumPy, Pandas и Matplotlib.

📍 Простота использования и читабельность. Синтаксис языка прост и интуитивно понятен, что облегчает работу новым пользователям.

📍 Специализированные библиотеки для конкретных областей. Например, библиотеки по машинному обучению (scikit-learn), глубокому обучению (TensorFlow, PyTorch) и обработке естественного языка (NLTK).

📍 Совместимость с другими языками программирования. Python может легко взаимодействовать, например, C и C++, что позволяет вам использовать широкий спектр инструментов.

📍 Баланс между высокоуровневой абстракцией и низкоуровневым управлением. Этот баланс делает Python отличным выбором для ML, где часто требуются оба вида абстракций.

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

📍 Дополнительные возможности. Python поддерживает объектно-ориентированное программирование. Таким образом, появляется возможность создавать сложные структуры данных и многократно используемый код. Встроенная поддержка параллельной обработки и распределенных вычислений, что может быть очень важно при работе с большими массивами данных.

Python – это отличное сочетание простоты, поддержки сообщества, расширенных возможностей и специализированных библиотек, что делает его мощным инструментом, который поможет вам извлечь максимум пользы из ваших данных.
👨‍💻5👍3🤔2🔥1
Сегодня мы имеем огромное количество данных, на основе которых можно делать невероятно ценные решения. Однако для этого нужны инструменты, которые позволяют анализировать и представлять эти данные наилучшим образом. Сегодня пост посвящается именно им.

📌 Apache Superset
Apache Superset является Open Source проектом, которых входит в The Apache Software Foundation и заслуженно считается одним из лучших во всей индустрии. Он работает на Python, поэтому работа с ним достаточно проста, гибка и функциональна.

❇️ Плюсы

- Огромнейший выбор баз данных и графиков
- Удобный интерфейс, работа с фильтрами и системой уведомлений
- Широкие возможности шаблонизации SQL запросов с помощью Jinja и Python
- Гибкие настройки прав доступа на основе ролей

⛔️ Минусы

- Минимальный функционал по экспорту данных
- Сложная кастомизация интерфейса, слабая кастомизация графиков
- Необходим опытный DevOps специалист для полноценного использования всего функционала

📌 Preset

Является дочерним проектом Apache Superset, работающим в облаке и снова на Python. Отличное решение, если нет возможности самому развертывать Apache Superset или не нужен его избыточный функционал.

❇️ Плюсы

- Огромнейший выбор баз данных и графиков
- Удобный SQL-редактор запросов
- Гибкие настройки прав доступа на основе ролей
- Удобный интерфейс, работа с фильтрами и системой уведомлений

⛔️ Минусы

- Минимальный функционал по экспорту данных
- Нет возможности вносить кастомизировать код, интерфейс или графики

📌 Metabase

Крайне популярное и удобное решение, большой конкурент для Apache Superset, работает на Java.

❇️ Плюсы

- Простая установка
- Огромный выбор баз данных
- Удобный интерфейс для построения запросов даже для не знающих SQL, а также есть ручной режим
- Гибкая настройка прав пользователей
- Наличие автоматизированных отчетов
- Автоматическое создание дашбордов с помощью X-Ray

⛔️ Минусы

- Нет бесплатного тарифа в облачной версии
- Сложная работа с фильтрами
- Ограниченный выбор вариантов визуализации

📌 Redash

Redash является Open Source приложение для SaaS, позиционируется как крайне удобное для использования и представления сотрудникам и инвесторам.

❇️ Плюсы

- Большой выбор баз данных
- Удобное подключение к любым источникам данных и работа с большим количеством форматов как графические таблицы и динамические карты
- Юзер френдли интерфейс с большим возможностей визуализации

⛔️ Минусы

-Иногда не понятно обновился дашборд или нет
- Требуется много разрешений для базы данных
- Не особо гибкие настройки и небольшой набор графиков

📌 Grafana

Grafana является крайне мощным визуализатором данных и метрик, который работает на GO и TypeScript.

❇️ Плюсы

- Самое большое активное комьюнити насчитывающее более 900 тыс. участников
- Самое большое количество поддерживаемых баз данных и инструментов
- Огромная официальная библиотека с набором шаблонов и плагинов
- Индивидуальная настройка рабочего стола и уведомлений
- Простое создание и обмен дашбордами

⛔️ Минусы

- Не может собирать и хранить, а только визуализирует данные

📌 Kibana

Мощное приложение для визуализации и навигации данных, работающий на node.js специально для ElasticSearch.

❇️ Плюсы

- Идеально для Elasticsearch или стек ELK для дата-менеджмента
- Много вариантов помимо стандартных, а также возможность кастомизировать отображение данных
- Мощные функции анализа данных, обнаружения взаимосвязей и аномалий

⛔️ Минусы

- Узкоспециализированное решение

А каким интрументом для подобных задач пользуетесь вы? Напишите в комментариях 👇
🔥3👍2🤔1
Продолжаем серию онлайн митапов от Agile Community Kyrgyzstan и нашего проектного менеджера Дмитрия Кононенко 🔥

В этот четверг 23 февраля Дмитрий выступит с темой «Jira Advanced Level». На митапе поговорим о более продвинутом использовании Jira для управления проектами и научимся настраивать Jira по взрослому!

Зарегестрироваться на второй онлайн митап «Jira Advanced Level», который пройдет 23 февраля (четверг) в 19:00 (Бишкекское время) вы можете здесь.

До встречи на онлайн-митапе!
🔥14
HTTP/3, QUIC и в чем революция, Джони? Часть 1

Конечно, большинство знает про одни из главных протоколов интернета HTTP и TCP, но далеко не все хорошо понимают разницу между различными версиями HTTP, а также QUIC. На этой неделе в очень общих чертах мы попробуем это исправить 🤟

1. В первом посте мы рассмотрим обновление HTTP до версии 3
2. Во втором мы подробнее поговорим, что предлагает UDP и QUIC
3. В третьем расскажем о значении всего этого для индустрии и поделимся некоторыми ценными ресурсами 🤽

Сам HTTP пережил несколько итераций и сейчас мы на пороге перехода от HTTP/2 к HTTP/3, разница между которыми следующая:

HTTP/2

📌Включает в себя user space, куда входят HTTPS в качестве App Layer и TLS в качестве Security Layer.
📌Включает hardware-determined space, куда входит TCP в качестве Transport Layer.

HTTP/3

📌Тоже включает в себя user space, но куда входит HTTPS в качестве App Layer, однако также туда входит QUICK в качестве Security Layer и Transport Layer одновременно.
📌В свою очередь, в hardware-determined space входит UDP в качестве Transport Layer, поверх которого как раз и работает QUIC.

Подобная архитектура протокола HTTP/3 как раз и обещает куда большую гибкость, стабильность и защищенность 🔒 А про обеспечивающие подобные преимущества UDP и QUIC - мы расскажем во второй части этого поста завтра ❤️
👍8🔥2😁1
Mad Devs Channel
HTTP/3, QUIC и в чем революция, Джони? Часть 1 Конечно, большинство знает про одни из главных протоколов интернета HTTP и TCP, но далеко не все хорошо понимают разницу между различными версиями HTTP, а также QUIC. На этой неделе в очень общих чертах мы попробуем…
HTTP/3, QUIC и в чем революция, Джони? Часть 2

Из прошлого поста у некоторых мог возникнуть вопрос, что за UDP и куда делся старый добрый TCP? 🤔 Спешим ответить, что TCP еще никуда не делся и еще долго не денется, поскольку многие заслуженно считают его проверенным и надежным решением.

Но QUICK и лежащий в его основе UDP призваны заменить TCP, сделав передачу данных куда быстрее и стабильнее за счет обхода ограничений TCP 🔐

📌 TCP не поддерживает мультиплексирование на уровне потока. Иначе говоря, TCP потоки могут быть заблокированы, даже если сегменты с более высоким номером уже получены, но с менее высоким еще нет.

📌 TCP использует избыточный трафик. Даже если соединение произведено с уже известным хостом, TCP все еще использует стандартную последовательность сообщений.

Что же предлагает QUIC и UDP? 🔏

📌 Не требует внесения изменений в ядро. Как было сказано ранее, QUIC создается на уровне пользователя, а значит при внесении изменений при обновлении протокола, это не будет требовать внесения изменений в ядро.

📌 Мультиплексирование потоков. QUIC вводит мультиплексирование потоков и раздельное управление для каждого потока, что позволит устранить ранее озвученную проблему, также известную как Блокировка начала очереди.

📌 Устранение избыточных сообщений и увеличение скорости. QUIC оптимизирован так, чтобы избежать избыточного обмена протоколами с уже установленными хостами за счет оптимизации передачи и подтверждения приема (Round-Trip Times).

📌 Улучшение push. Push-уведомления сервера могут рассматриваться как ожидание запроса, из-за чего они занимают полосу пропускания. HTTP/3 предлагает push_promise, который отправляется с сервера и показывает ожидаемое содержание push, на который сам push будет ответом в новом потоке.

📌 Гибкое управление перегрузками. Конечно, все эти и многие другие механизмы QUIC позволяют куда более эффективно использовать полосу пропускания и намного более гибко управлять перегрузками.

📌 Улучшенная обработка ошибок. Также его механизмы восстановления позволяют куда более эффективно работать с ошибочными пакетами, что особенно важно для сетей с нестабильным соединением.

Не пропустите заключительную часть этого поста завтра. В ней мы расскажем о значении всего этого для различных индустрий и поделимся ценными ресурсами ❤️
🔥5👍1👌1
Mad Devs Channel
HTTP/3, QUIC и в чем революция, Джони? Часть 2 Из прошлого поста у некоторых мог возникнуть вопрос, что за UDP и куда делся старый добрый TCP? 🤔 Спешим ответить, что TCP еще никуда не делся и еще долго не денется, поскольку многие заслуженно считают его проверенным…
HTTP/3, QUIC и в чем революция, Джони? Часть 3

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

HTTP/3 позволяет сделать сеть намного более быстрой, гибкой, стабильной и защищенной, что критически важно во всех индустриях, активность в которых растет с каждым днем.

🚦 IoT или Интернет Вещей нуждается в постоянном подключении и бесперебойному обмену данными для выполнения своего самого прямого назначения, работе множества различных устройств как единой системы.

📊 FinTech и Финансовые Рынки нуждаются в наиболее быстрой работе сетей, поскольку каждая секунда там может стоить миллионы, а также в максимальной надежности сетей, чтобы возможность перехвата данных и увода средств была сведена к нулю.

🎮 AR/VR и Метавселенные нуждаются в огромном количестве данных, передающихся на наивысшей скорости, чтобы просто работать на том уровне, ради которого они создавались. И этот список можно продолжать еще долго.

Как вы могли понять, это невероятно объемная тема, а значение ее для будущего интернета несет самое принципиальное значение, поэтому если хотите подробную статью с разбором технологий, сервисов и прочего, дайте знать нам в комментариях 🤌

А пока может ознакомиться со списком библиотек, которые уже сейчас поддерживают HTTP/3?

📌 Quiche интерфейс для отправки и получения пакетов по протоколу QUIC, с поддержкой для приложений на iOS и Android, а также неофициальным плагином для NGINX.

📌 Aioquic реализация QUIC для Python на основе структуры асинхронного ввода-вывода.

📌 Neqo реализация QUIC от Mazilla с использованием Rust.
👍6🔥2
В 2022 году Зайад Хан создал термин Quit Quitting (Тихое увольнение). Суть его в том, люди отказываются от культуры достигаторства и суеты в пользу баланса между работой и личной жизнью.

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

Приметами Тихого увольнения считаются:
📌 Циничность
📌 Низкая мотивация и вовлеченность
📌 Приоритеты вне работы

По сути, это энергосберегающий режим,🔋 который предотвращает выгорание, тревожность и депрессию из-за работы.

В чем может быть причина:
🔻 Напряженный график
🔻 Высокая нагрузка
🔻 Низкая зарплата
🔻 Токсичная среда в коллективе

Знакомы с этим термином? Был ли у вас опыт Тихого увольнения? 🤔
🤔7👍4👨‍💻1
🔥 Прожарка 🔥

Сегодня в 18:00 (время по Бишкеку) два опытных эксперта соберутся вместе и в прямом эфире прожарят резюме кандидатов, претендующих на ИТ-позиции.

Маргарита Мысина - IT-recruiter & HR Specialist, Mad Devs и
Канышай Курманалиева - Head of HR Department, Finance Soft
разберут несколько резюме, дадут свои комментарии и подскажут, как сделать их лучше!

Эфир пройдет в Telegram-канале Creative Asia.
🔥7🤔1
Mad Devs Channel
Всего 10 дней осталось до митапа HR Day 🔥 И сегодня мы готовы представить вам наших спикеров и темы их докладов. Итак, 📌 Маргарита Мысина, рекрутер в Mad Devs выступит с темой «Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам интересно».…
HR Day уже завтра ⚡️

Наш первый профессиональный митап для HR-специалистов работающих в IT состоится уже завтра 25 февраля.
Напоминаем, регистрация участников начинается в 10:30, а сам ивент стартует в 11:00.

Коротко о спикерах и докладах:

📌 Маргарита Мысина, рекрутер в Mad Devs выступит с темой «Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам интересно».

📌Клара Абдукова, HR-специалист в Mad Devs расскажет о «Дружелюбном онбординге: как с увеличением количества не потерять качество»

📌Айгуль Абдрахманова, Talent Manager в Kanda CA выступит с докладом «Оценка сотрудников: важный компонент эффективного управления и удержания персонала»

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

Ждем участников по адресу:
Ибраимова 115/1, 8 этаж, офис ИТ-Академии
Регистрация на месте с 10:30, стартуем в 11:00.

Участие в ивенте совершенно бесплатное и вы все еще можете зарегистрироваться на ивент здесь.
👏8🔥3👍1👌1
Hardhat Mad Boiler

В Mad Devs мы работаем с множеством рабочих окружений. Стремясь постоянно улучшать свою работу, мы собрали множество плагинов и зависимостей, которые используем в работе со смарт-контрактами воедино и создали собственное рабочее окружение, о котором расскажем вам сегодня. Встречайте, Hardhat Mad Boiler с набором встроенных утилит помогающих в разработке и тестировании HardHat Ethereum смарт контрактов 🤘

https://github.com/maddevsio/hardhat-mad-boiler

Каковы преимущества?

📌 Предварительно настроенный linter и средства форматирования для TypeScript и Solidity поможет сэкономить усилия по поддержанию чистой кодовой базы и сосредоточиться на разработке функций продукта.
📌 Система вывода типов TypeScript, поможет избежать ошибок в скриптах и тестах, и улучшить их качество.
📌 Поддержка файлов .env для управления учетными данными и легкого доступа к ним из скриптов и тестов.
📌 Рабочий процесс GitHub Actions, позволит применить практику непрерывной интеграции без дополнительных усилий.
📌 Дополнительные возможности разработки, доступные в виде расширений.

Какие возможности и расширения поддерживаются?

📌 Поддержка широко используемых примитивов и компонентов для разработки и обновления смарт-контрактов OpenZeppelin.
📌 Поддержка файлов .env в тестах и скриптах.
📌 Реализация кошелька и утилиты на JavaScript и TypeScript.
📌 Утилита для покрытия кода для тестирования Solidity.
📌 Упрощенный экспорт ABI смарт-контрактов при компиляции через Hardhat.
📌 Утилита для оценки размера байт кода для скомпилированных смарт-контрактов.
📌 Утилита для оценки использования газа для выполненных модульных тестов.
📌 Поддержка TypeScript.
📌 Автоматизированное форматирование кода для JavaScript, TypeScript и Solidity.
📌 Поддержка линтера ESLint для TypeScript.
📌 Поддержка линтера SolHint для Solidity.
📌 Поддержка сервиса проверки смарт-контрактов EtherScan для HardHat.

Звучит солидно, не правда ли? 👀
Проект продолжает свое активное развитие и мы будем рады вашему участию!
Надеемся на ваши скачивания, использование и комментарии! ❤️
🔥81👍1
Ну что немного отвлечемся и порешаем логические задачи? Завтра опубликуем свое решение, а вы в комментариях делитесь своими вариантами. Готовы? 😈

Итак,
Программисту на заводе по производству аккумуляторов было поручено разработать программное обеспечение, способное контролировать качество выпускаемой продукции. Два важных условия:
🔋 Каждая произведенная батарея имеет 2% шанс оказаться бракованной.
🔋 Система контроля качества выявляет нерабочие батареи в 98% случаев, но при этом в 1% случаев ошибочно определяет рабочие батареи как бракованные.

Разработчик должен определить среднее количество бракованных батарей в партии из 10 000 штук.

Как это решить?⬇️
👨‍💻7
Mad Devs Channel
Ну что немного отвлечемся и порешаем логические задачи? Завтра опубликуем свое решение, а вы в комментариях делитесь своими вариантами. Готовы? 😈 Итак, Программисту на заводе по производству аккумуляторов было поручено разработать программное обеспечение…
Пришло время показать решение этой логической задачи. Скорее читаем и сравниваем со своим результатом 🤓

Начнем с выяснения вероятности брака у батареек. Предположим, вероятность выпуска брака составляет – 0,02. Тогда вероятность изготовления рабочей батарейки составляет 0,98.
Далее, рассчитаем:

Вероятность ошибки системы контроля, забраковывая рабочую батарейку:
0,01 * 0,98 = 0,0098
Вероятность обнаружения брака:
0,98 * 0,02 = 0,0196
Для нахождения вероятности отбраковки любой батарейки выполним сложение этих значений:
0,0098 + 0,0196 = 0,0294.

Помним, что в партии 10 000 батареек? Ну тогда дальше просто:
10 000 * 0,0294 = 294

Вуаля! Это и есть среднее количество бракованных батареек. Ну, кто решил задачу верно?

Хотите еще больше таких задачек? Оставьте нам реакцию. ❤️
16
Обратная связь – это факты, которые помогут человеку изменить свое поведение. У фактов нет эмоциональной окраски. Поэтому, когда кто-то не справляется с работой, не стоит высказывать свое недовольство из-за сорванных сроков, лучше выяснить у сокомандника, что пошло не так, как помочь ему справиться с причиной и не допускать срывов на будущих проектах.

Давать качественную обратную связь – часть работы любого участника команды, но в осовенности лидеров. За счет правильной подачи можно построить доверительную и открытую атмосферу внутри команды. Сегодня разбираемся, что такое обратная связь, как её давать, и какие методы помогут вам.
👍9
Mad Devs Channel
Пришло время показать решение этой логической задачи. Скорее читаем и сравниваем со своим результатом 🤓 Начнем с выяснения вероятности брака у батареек. Предположим, вероятность выпуска брака составляет – 0,02. Тогда вероятность изготовления рабочей батарейки…
Как вы думаете, сколько решений имеет эта задача? Как оказалось, не одно.

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

Для решения этой задачи можно использовать биномиальное распределение. Если X - количество бракованных батарей в партии из 10 000 штук, то тогда X имеет биномиальное распределение с параметрами n=10000 и p=0.02 (вероятность брака).

Согласно условиям задачи, система контроля качества выявляет нерабочие батареи в 98% случаев, но при этом в 1% случаев ошибочно определяет рабочие батареи как бракованные. Это значит, что если батария действительно бракованная, то с вероятностью 0.98 она будет определена как бракованная, а если батария действительно рабочая, то с вероятностью 0.01 она будет ошибочно определена как бракованная. Таким образом, вероятность того, что батария будет определена как бракованная, равна:

P(брак) = 0.02 * 0.98 + 0.98 * 0.01 = 0.0296

Теперь можно найти среднее количество бракованных батарей в партии из 10 000 штук, используя формулу для биномиального распределения:

E(X) = n * p = 10000 * 0.02 = 200

Ожидается, что в партии из 10 000 батарей будет 200 бракованных батарей.

Интересно, правда? Кто решал так же? Поделитесь в комментариях как быстро и почему вы выбрали такое решение ⬇️
🤯6💯1
Нейробиологический фундамент продуктивности 🧠

Наверное, каждый из нас задумывался о том, что неплохо бы в целях личной эффективности заиметь 25 час в сутках или таблетку из фильма “Области тьмы”. Стать более продуктивным вам могут помочь нейрогормоны о которых сегодня поговорим.

Конкретные нейрогормоны и их соотношение друг с другом могут стать ключом к вашей продуктивности. Первым элементом в этой связи выступает адреналин

📍 Выделение адреналина – общий фон продуктивности и эффективности.
📍 Синтез адреналина интевсивнее всего в голубом пятне, “щупальцы” которого проходят через структуру мозга.
📍 Эффект адреналина – работа по сценарию: бить, бежать, замереть (вот он нам и нужен в работе).

Замирание важно для выполнения задач, а именно в этот момент тело остается недвижимым, а мозговая активность на пределе. Как результат, задачки щелкаются, как семечки. Вы в потоке, вы в ресурсе 💪

🤝 Немаловажный тандем гормонов – «адреналин + ацетилхолин», где адреналин отвечает за бодрость и включенность, а ацетилхолин – за воплощение мыслей в действия.

Ацетилхолин помогает нам ориентироваться в работе, маневрировать среди целей. Есть пару “но”:

📍 Много ацетилхолина = уйдете в работу с головой и будете бегать, как крыса в колесе.
📍 Мало ацетилхолина = будете метаться между частями задачи и не знать, с какой стороны подойти, что приведёт к прокрастинации.

🤝 Следующая пара, которая помогает нам в работе, – «дофамин и норадреналин». Они похожи друг на друга, но выполняют разные задачи. Дофамин в комплексе с адреналином и ацетилхолином – топливо для концентрации и фокусировки. Чем дольше он выделяется, тем дольше состояние продуктивности.

Как увеличить рост этих нейрогормонов?

📍 Естественным образом. Это могут быть интенсивная работа или прохождение сложной миссии в игре.
📍 Механическим образом. Это могут быть концентрация на задачах, которые зависят от вас. Или же однозначный старт, когда поэтапно выполняете все действия. Поможет и дедлайн, который обеспечит высвобождение адреналина, и вы будете работать на пределе. Быстрые задачки, которые решаются за час-полтора.
📍 Фармакологический способ. У данных инструментов есть свои особенности, которые могут привести к неприятным последствиям при неправильном применении. Необходима консультация специалиста.

Для повышения интеллекта очень важно понимать, что вы делаете. Бессмысленно это делать при помощи ноотропов, режима дня и фармы, если у вас нет желания и попыток двигаться к новым знаниям, умениям и навыкам.
👍3🔥1🤔1