Приглашаем на VK Kubernetes Conf — конференцию для тех, кто развивает экосистему K8s в России!
⏰Когда: 21 марта, 13:00 по Москве
📍Где: Онлайн и офлайн
⚡️Регистрация
На конференции хотим поговорить о самых больных местах при работе с Kubernetes. Вот только часть вопросов, на которые мы будем вместе искать ответы:
🔹 Сетевая защита Kubernetes и как ее готовить. А Kubernetes по российским стандартам?
🔹 Так ли стабилен GitOps, как мы думаем, и где же все-таки подводные камни?
🔹 eBPF, WebAssembly, SBOM, OpenTelemetry, Oh my… — как подготовиться к наступлению новых технологий в безопасности и мониторинге?
🔹 After-party для всех участников конференции.
Приглашаем обмениваться знаниями, опытом, экспертностью и просто пообщаться в неформальной обстановке.
Сделаем Kubernetes доступным вместе!
👉 Зарегистрироваться
В блоге у компании Sentry нашел свежую и классную серию статей про Django Performance Improvements:
- Part 1: Database Optimizations
- Part 2: Code Optimization
- Part 3: Frontend Optimizations
- Part 4: Caching in Django Applications
Если вы разработчик и у вас есть пара минут, порефлексируйте, пожалуйста, с нами о происходящем в небольшом опросе. Ваши ответы помогут крупному работодателю понять, где теперь открывать офисы и какая помощь и поддержка вам нужны.
Пройти опрос
В сети стали публично доступны доклады с PyCon Russia 2022: https://bit.ly/3UwdOBR
Читать полностью…Ко мне обратилась IT-компания с просьбой провести анонимный опрос среди подписчиков моего канала. Если у вас есть пара минут, порефлексируйте, пожалуйста, с нами о новой реальности в небольшом опросе. Ваши ответы помогут крупной IT-компании понять, где теперь лучше организовывать профессиональные мероприятия и оказывать помощь и поддержку комьюнити.
Пройти опрос.
Сегодня в 17:00 UTC состоится релиз Python 3.11. Релиз будет в прямом эфире, который можно посмотреть по ссылке: https://www.youtube.com/watch?v=PGZPSWZSkJI
Читать полностью…Ребят, соскучились?) Месяц сюда ничего не постил в связи с сильной занятостью, да и событий после праздников интересных пока не происходило. Сегодня хочу поделиться с вами книгой, которую заканчиваю читать и она, пожалуй, лучшая из тех, что я прочитал в 2017 году. Называется она Designing Data-Intensive Applications, на русском языке пока не издавалась. Чем же примечательна эта книга? Ранее я упоминал, что интересуюсь темой Data Engineering, и даже взял специализацию в Яндексе. Материала по теме очень мало в сети, поэтому собирать приходится по крупицам. Книга Designing Data-Intensive Applications поможет вам влиться в тему разработки распределённых систем, расскажет как работают транзакции, в чем отличия между Thrift, Avro и Protobuf. Особенно полезно будет тем, кто только начинает свой путь в разработке сложных бекендов, интересуется как работает репликация, что такое CAP-теорема да и вообще какие проблемы могут возникнуть при взаимодействие распределённых систем между собой.
Примечательной особенностью книги является простота с которой написан текст. Здесь вы не найдёте сложных математически формул или академического стиля повествования. Всё просто и доступно. Эта книга настоящий кладезь знаний для современного разработчика! В сети можно найти электронную версию книги, я же заказал её с Amazon в бумажном виде (это того стоит).
Сегодня я подготовил небольшой дайджет свежих материалов, которые могут вас заинтересовать. Пожалуйста, поделитесь мнением, нравится ли вам такой формат? http://telegra.ph/Interesnoe-v-IT-1-12-12
Читать полностью…Около месяца назад начал проходить сразу 2 специализации на платформе Coursera:
- Машинное обучение и анализ данных от МФТИ
- Big Data for Data Engineers от Яндекса
Последняя специализация, к слову, была запущена чуть больше месяца назад. На сегодня закончил по 1 курсу из каждой специализации, а именно вот эти:
- Математика и Python для анализа данных (мой сертификат)
- Big Data Essentials: HDFS, MapReduce and Spark RDD (мой сертификат)
Хочу поделиться мыслями о курсах. Начнём с первого.
Цель курса "Математика и Python для анализа данных" — обозначить необходимый набор навыков для успешного прохождения всей специализации. Здесь вы найдёте небольшое введение в язык Python и его инструменты для анализа данных: pandas, numpy, scipy, остальная же часть курса посвящена математическому аппарату, а именно темам из линейной алгебры (матрицы, векторы, векторное пространство), теории вероятностей и немного затронут математический анализ — предел и производная. Особенно понравился упор на прикладные задачи, т.е. изучая, например, матрицы или векторы, понимаешь как их применять для решения прикладных задач. Но курс всё таки требует некоторой предварительной подготовки по обозначенным мною темам.
Эти материалы возможно помогут при прохождении курса:
- Essence of linear algebra
- Введение в pandas
Big Data Essentials это первый из 5 курсов, посвященных "горячей" нынче теме про построение инфраструктуры для эффективного анализа данных. Анонс специализации я делал у себя в Telegram канале в первой половине октября. Тогда я только присматривался, в итоге решил проходить. Что из себя представляет первый курс? Это плавное введение в основные инструменты анализа больших данных — Apache Hadoop и Apache Spark. Из 6 недель курса, 2 недели исключительно практические, вообще практических заданий тут хватает. Материалы курса предполагают некоторый опыт программирования, от себя добавлю, что большим плюсом будет наличие навыка в функциональном программировании. К сожалению, есть и ряд минусов. Так как материал появился относительно недавно, в нём есть ошибки из-за которых я терял время. Во-первых, встречаются задания с ошибками в формулах и коде, частенько "валился" удалённый hadoop/spark кластер. Мой совет перед выполнением заданий — активно читайте форум, тестируейте код локально на небольших кусках данных, по возможности поднимите свой docker-контейнер с hadoop или spark (в материалах есть ссылка на контейнер, а на форуме инструкция по настройке). Ещё смущает дичайший русский акцент, иногда в речи встречаются неверно составленные предложения, но к этому можно привыкнуть.
Изучение продолжается. На очереди у меня "Обучение на размеченных данных" и "Big Data Analysis: Hive, Spark SQL, DataFrames and GraphFrames". Скучно точно не будет :)
В сети стали доступны видео-доклады с прошедшей в Москве конференции Moscow Python Conf 2017. Вот список докладов, которые могут вас заинтересовать:
Построение распределённых Django систем
Блокчейн и Python
Работа с изображениями на Python в 2017 году, Александр работает разработчиком в Uploadcare (когда-то собеседовался туда) и развивает Pillow, поэтому знает о чем говорит.
Все видео доступны в 2-х плейлистах:
Поток 1
Поток 2
#python #video
Ребята из frameworks days организовывают тематические митапы/конференции. На этот раз затронули тему высоконагруженных систем, доклады можно посмотреть тут
#highload
Если вы также как и я "плаваете" в океане инструментов JS и фронтенд-разработки, то вот эта замечательная статья на русском языке поможет навести порядок в том хаосе, который творится в наших головах при изучении JS в 2017 году. 100% концентрат полезной информации.
Читать полностью…Высшая школа экономики вместе с Яндексом запустили новую специализацию на платформе Coursera — Advanced Machine Learning Specialization. Вас ждут 7 курсов хардкорного погружения в передовые технологии искусственного интеллекта.
Читать полностью…Лариса Агаркова известная личность в определённых кругах, работает в Google уже несколько лет, и ведёт свой блог. В октябре она выступала с лекцией на мехмате БГУ на тему "Хочу работать в Google". Получилась философско-поучительная презентация, которую я предлагаю вам посмотреть. А вот её блог с кучей статей на ту же тему — larrr.com
Читать полностью…Очень классная серия статей про устройство дисков с точки зрения файловой и операционной систем, а также разбор двух популярных структур данных на основе которых строятся движки баз данных: B-Tree и LSM-Tree.
1. On Disk IO, Part 1: Flavours of IO
2. On Disk IO, Part 2: More Flavours of IO
3. On Disk IO, Part 3: LSM Trees
4. On Disk IO, Part 4: B-Trees and RUM Conjecture
#dataengineering
Как стать хорошим бэкенд-инженером?
Наткнулся на интересную статью от известного в узких кругах инженера Hussein Nasser про фундаментальные знания для бэкэнд-разработчика — How To Become a Good Backend Enginner. У автора более 18 лет опыта в разработке бэкенда и для себя он выделяет несколько основных фундаментов на которые опирается хорошее бэкенд-приложение:
- Протоколы транспортного уровня TCP и UDP. Самые популярные протоколы прикладного уровня так или иначе базируются либо на TCP либо на UDP.
- Нюансы работы веб-сервера, будь то nginx, apache httpd/tomcat и т.д. Я полностью согласен с автором, т.к. понимание как работает веб-сервер значительно упрощает решение проблем с производительностью приложения. У автора есть статья про hnasr/the-architecture-of-nginx-2b32fc0b7877">разбор архитектуры nginx.
- Базы данных. Бесспорно база данных это сердце практически любого бэкенд-приложения. Понимание как работают индексы, что значит ACID Compliance, как база хранит данные на диске сделают вас лучшим инженером. От себя добавлю, что важно понимать плюсы и минусы той или иной БД, чтобы ваш выбор был максимально взвешенным и обоснованным. Чем с большим количеством баз вы столкнётесь на практике тем более взвешенным будет ваше решение о её выборе.
- Прокси-серверы. В эпоху микросервисной архитектуры появилось множество сервисов для проксирования запросов как транспортного уровня (например, HAProxy) так и прикладного (nginx http reverse-proxy, HAProxy HTTP). Область их применения разнообразная: балансировка нагрузки между серверами, кеширование, проверка авторизации/аутентификации и т.д.
- Системы обмена сообщениями (Messaging systems). Apache Kafka, RabbitMQ, Redis и многие другие популярные системы обмена сообщениями прочно вошли в нашу жизнь в эпоху распределённых приложений. Помимо преимуществ в масштабировании ваших сервисов, системы обмена сообщениями также значительно снижают связность между приложениями. Автор статьи рекомендует читателю разобраться в тонкостях той или иной системы, а именно в механизме создания и получения сообщения, нюансам доставки сообщений (at most once, at least once)
- Формат сообщений. XML, JSON, ProtoBuf, MessagePack и другие. Существует множество форматов кодирования информации для обмена между системами и у каждой есть свои минусы и плюсы (кроме XML, шутка). Если вы уменьшаете размер пересылаемой информации (например, выбирая сжатый формат), то не забывайте про накладные расходы CPU при десериализации сообщения.
- Безопасность. Знания об основах безопаности никогда не будут лишними. Для веб-разработчиков рекомендую ознакомиться с Топ-10 наиболее популярных уязвимостей в веб-приложениях: https://owasp.org/www-project-top-ten/
А что бы вы добавили от себя? Пишите в комментариях.
В сети стали доступны доклады с DjangoCon US 2022. Я ещё не смотрел, но выделил для себя интересные презентации на основе названий:
- The Django Admin Is Your Oyster: Let’s Extend Its Functionality
- Django Logging Demystified
- Why I Didn't Start With Django
- Herding your database queries: diagnosing, improving and guarding performance of DB interactions
- Type checking your Django code with django-types and Pyright
- Keeping track of architectural-ish decisions in a sustainable way
- Explaining EXPLAIN: A dive into PostgreSQL's EXPLAIN plans
- Security Best Practices for Django Applications
- Why large Django projects need a data (prefetching) layer
- A pythonic full-text search with Paolo Melchiorre
- Integrating React in the Django way!
- Full Text Search with Django and PostgreSQL: More Facets, Less Dependencies!
Полный плейлист с докладами доступен по ссылке.
К слову, Django по-прежнему остаётся моим фаворитом когда дело касается разработки веб-приложений на Python 🐍
Все наверняка слышали про историю Твиттера и Илона Маска. Сейчас в компании началась оптимизация о которой Илон неоднократно упоминал. Gergely Orosz у себя в блоге Pragmatic Engineer написал подробный разбор того, что сейчас творится внутри: https://blog.pragmaticengineer.com/turmoil-at-twitter/
Читать полностью…Релиз Python 3.11
Вчера вышел долгожданный (как минимум мною) релиз Python 3.11
Новая версия быстрее предыдущей на 10-60%, а в среднем на 22%, но помимо буста в производительности релиз содержит ряд крутых фич:
— TaskGroup, можно забыть про asyncio.gather
— ExceptionGroups
— Читабельные traceback с подчеркиваниями
Мне особенно зашла фича с группами исключений, даже накидал небольшой демо-пример.
Когда стоит переводить проект на Python 3.11?
Торопиться не стоит, т.к. далеко не все пакеты в вашем проекте могут иметь работающие колёса (wheel). Прямо сейчас, например, нет колёс для библиотеки psycopg2 для python3.11 под Windows. Я бы рекомендовал подождать пару минорных версий с исправлениями и уже после готовиться к миграции.
Всем хорошего кодинга! 🐍
На днях были опубликованы видео с проходившей в ноябре конференции PiterPy № 4 — посмотреть. Каждый год PiterPy понемногу эволюционирует в международную конференцию, учитывая интересы иностранных докладчиков и гостей, поэтому в этот раз можно увидеть переводы англоязычных докладов на русский и обратно. Также в сети стали доступны доклады с конференции Highload++ Junior 2017 (HLj) — смотреть. Доклады будут интересны в первую очередь начинающих "хайлоудерам", помогут систематизировать знания.
Читать полностью…Внимание! Подъехала годнота в виде докладов с прошедшего Highload++ 2017. Качаем, смотрим, комментируем. Для просмотра кликайте по ссылке https://goo.gl/X2UDRn
Читать полностью…13 декабря пройдет бесплатный вебинар «Создай свою первую модель машинного обучения».
Вы соберете и проанализируете данные с сайта hh.ru, на основе которых создадите модель регрессии и оцените результаты. Также вы узнаете секреты работы с категориальными и текстовыми данными.
Ведущий — Петр Ермаков, руководитель отдела аналитики Mail.Ru Group.
Регистрация — https://goo.gl/EkXxwo.
Занятная статья про упорство и трудолюбие, которое может привести к получению офферов от крупнейших IT компаний мира. Читаем на "Хабре" - https://goo.gl/gbfAzN
Читать полностью…Не так давно на канале я публиковал видео, где автор наглядно объясняет что из себя представляет нейронная сеть. А вот вам такое же видео на тему глубокого обучения. Смотрим.
Что такое нейронная сеть?
Что такое глубокое обучение?
#datascience
Разработчики VueJS выпустили доклад на 80 страниц под названием State Of Vue.JS 2017. Что из себя представляет этот документ? История развития и будущее фреймвореа Vue в экосистеме JavaScript. Я активно использую vue в своих проектах и пока мне всё нравится. С каждым днём количество новых компонентов растёт, а вместе с тем и сообщество. Интерес со стороны крупных игроков также есть, что свидетельствует о зрелости технологии.
Читать полностью…Нахождение минимального расстояния между словами это одна из самых популярных задач на собеседованиях. Любителям щёлкать алгоритмические задачки понравится.
/channel/unilecs/78
SkillFactory запускают крутой курс по Machine Learning. Обещают научить важным навыкам в области машинного обучения для решения конкретных бизнес-задач. А еще работать с алгоритмами машинного обучения на Python, готовить данные и выбирать подходящую модель. Закончится курс выпускным хакатоном.
Курс подойдет аналитикам, разработчикам и product-менеджерам. Преподаватели — аналитики Mail.ru и преподаватели НИУ ВШЭ.
Курс начинается 27 ноября, пройдет очно в Москве
Подробнее — https://goo.gl/BifvWG
Техносфера запустила очередной крутой курс про высоконагруженные системы. Ведут его технари из Одноклассников, я уже посмотрел 2 лекции и очень советую его вам. Смотреть
Читать полностью…Нашел классное объяснение что из себя представляет нейронная сеть и технология глубокого обучения. Смотрите видео
Читать полностью…