Обновить
25
0
Масляев Александр@maslyaev

Пользователь

Отправить сообщение

Описательная статистика перформанс-распределений

Время на прочтение40 мин
Охват и читатели30K

Нужна ли разработчику математика? Если анализировать замеры производительности, то матстатистика понадобится. Но оказывается, о ней полезно знать не совсем то, что в учебниках. А что тогда?

Андрей Акиньшин @DreamWalker поговорил об этом в докладе на нашей конференции Heisenbug. И теперь, пока мы готовим следующий Heisenbug (где тоже будут доклады о производительности), решили опубликовать текстовую версию его выступления (а для тех, кому удобнее другие форматы, прикрепляем видеозапись и слайды). Предупреждаем: много букв, цифр, графиков и формул!

Читать далее

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели69K

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

Читать дальше →

Elixir как цель развития для python async

Время на прочтение17 мин
Охват и читатели12K
В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал из других языков, Гвидо ответил: «Все, что есть хорошего в Python, украдено из других языков».

Это действительно так. Python давно живет в контексте других языков программирования и впитывает концепции из окружения: asyncio позаимствован, благодаря Lisp появились лямбда-выражения, а Tornado скопировали с libevent. Но если у кого и стоит заимствовать идеи, так это у Erlang. Он создан 30 лет назад, и все концепции в Python, которые сейчас реализуются или только намечаются, в Erlang давно работают: многоядерность, сообщения как основа коммуникации, вызовы методов и интроспекция внутри живой системы на продакшн. Эти идеи в том или в ином виде находят своё проявление в системах вроде Seastar.io.


Если не брать во внимание Data Science, в котором Python сейчас вне конкуренции, то все остальное уже реализовано в Erlang: работа с сетью, обработка HTTP и веб-сокетов, работа с базами данных. Поэтому Python-разработчикам важно понимать, куда будет двигаться язык: по дороге, которую уже прошли 30 лет назад.

Чтобы разобраться в истории развития других языков и понять, куда двигается прогресс, мы пригласили на Moscow Python Conf++ Максима Лапшина (erlyvideo) — автора проекта Erlyvideo.ru.

Под катом текстовая версия этого доклада, а именно: в каком направлении вынуждена развиваться система, которая продолжает мигрировать от простого линейного кода к libevent и дальше, что общего и в чем отличия между Elixir и Python. Отдельное внимание уделим тому, как на разных языках программирования и платформах управлять сокетами, потоками исполнения и данными.

Как правильно писать UI авто тесты на Python

Время на прочтение10 мин
Охват и читатели54K

Как правильно писать UI авто тесты на python используя Playwright, Page Object, Page Component, Page Factory.

Читать далее

Олдскульные HTML-шаблоны снова в моде! htmx и другие средства борьбы с javascript fatigue

Время на прочтение4 мин
Охват и читатели14K

Отрисовка страничек на сервере, похоже, снова начинает приобретать популярность (нет, я не имею в виду React SSR).

Сторонники оппозиции растущему влиянию javascript, наконец, смогли направить усилия в нужное русло - и в результате родился фреймворк htmx! Поговорим о том, как он работает, а также, какие ещё фреймворки используют серверные шаблоны в 2022.

Также поговорим о divkit - аналоге html для мобилок, недавно выпущенный Яндексом в опен-сорс - Вы, наверно, догадались, какое отношение может иметь одно к другому.

Читать

Товарищ майор в клетке или как я изолировал Яндекс Браузер (для использования СБОЛа)

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели62K

Еще с весны было известно, что Сбербанк потерял возможность продлевать свои сертификаты. Новые же сертификаты были выписаны одним из национальных УЦ, чьего корневого сертификата в операционных системах нет. Однако СБОЛ продолжал работать, и несмотря на предупреждения, я откладывал решение будущего вопроса.

Несколько дней назад я не смог войти в СБОЛ. Решить проблему можно двумя путями: установив себе рутовый сертификат в систему или установив Яндекс.Браузер.

Устанавливать рутовый сертификат не хотелось, а Яндекс.Браузер у нас запрещен политикой компании. Как выкрутиться с минимальными потерями и не поссориться с безопасниками - читайте под катом.

Открыть доступ в СБОЛ;drop table mortgage;

Человеческим языком про метрики 2: Prometheus

Время на прочтение10 мин
Охват и читатели192K

Это вторая статья из цикла. В первой, вводной, я рассказывал, как устроены метрики для сервисов, чем отличаются от логов, и какую задачу вообще решают. Теперь подробнее про то, как их готовить.

Под катом: формат данных, способы отправки, типы метрик и их применение, кардинальность.

Читать далее

Пайтон Джуньор Плюс, или путеводитель начинающего Python-программиста

Время на прочтение8 мин
Охват и читатели30K

image


Добрый день! Меня зовут Михаил Емельянов, по профессии я программист программ, а этот небольшой путеводитель по возможностям языка Python меня сподвиг написать довольно существенный, на мой взгляд, разрыв между декларируемыми объемами всевозможных курсов программирования и требованиями реальных, даже достаточно скромнооплачиваеых вакансий, а также некоторая обобщенность существующих Python-путеводителей, найденных на просторах Сети.


Особенно выбивают из равновесия советы изучить, скажем, «Алгоритмы и структуры данных» или «SQL». Да зубы можно сточить, изучая эти темы, и даже будучи седовласым старцем, постоянно открывать для себя что-то новое, не выходя за рамки тематики «Алгоритмов»!


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

Читать дальше →

Мечтают ли нейросети об электроденьгах?

Время на прочтение18 мин
Охват и читатели34K
TL;DR: Нет



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

Почему? Давайте разбираться.
Читать дальше →

Решаем судоку при помощи компьютерного зрения

Время на прочтение5 мин
Охват и читатели7.4K

Привет, Хабр! Поиграем в судоку?

Читать далее

Матрица уровней дата инженеров Amazon

Время на прочтение6 мин
Охват и читатели11K

Матрица показывает, как меняются профессиональные навыки специалистов от уровня к уровню. Сюда не включены Принципы Лидерства Amazon (https://www.amazon.jobs/en/principles), поскольку они едины для всех и не зависят от уровня сотрудника.

Матрица уровней не используется сама по себе. Это только референсы навыков для приема на работу. Эйчары рассматривают технические навыки сотрудника в отрыве от личностных качеств и сравнивают их с должностными ожиданиями.

С чем работают дата инженеры?

Читать далее

GitOps — что это такое и с чем его едят?

Время на прочтение12 мин
Охват и читатели58K

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее

«Уехал, и что дальше?» — подборка для планирования жизни за границей

Время на прочтение3 мин
Охват и читатели130K

Внезапно уехавшие могут пребывать в паническом шоке. А дальше что? Уехал, и? А что если затянется на года? Даже если есть деньги, в какой стране можно остаться надолго?

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

Читать скорее!

Безопасный HTTPS-прокси менее чем за 10 минут

Время на прочтение5 мин
Охват и читатели178K

Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ.

Читать далее

Best Practices для Python

Время на прочтение6 мин
Охват и читатели43K

Лучшие практики в Python по моему мнению

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

В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.

Читать далее

Вторая жизнь старого железа. Продакшн

Время на прочтение7 мин
Охват и читатели76K

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

Всё это можно восстановить, починить, дать железу вторую жизнь, порадовать себя и родственников. Вполне вероятно, что в ближайшие годы продажи паяльных станций побьют рекорды, а ларьки по ремонту техники откроются на каждом углу.
Читать дальше →

Статическое Python приложение в образе контейнера на базе scratch

Время на прочтение9 мин
Охват и читатели9.9K

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

Размер итогового образа контейнера получится всего лишь от 13 мегабайт.

Читать далее

Релиз Centrifugo v4 – маленькая революция

Время на прочтение17 мин
Охват и читатели15K

Сегодня мы рады представить новую версию сервера Centrifugo — Centrifugo v4. Релиз выводит Centrifugo на новый уровень с точки зрения эффективности клиентского протокола, простоты фоллбеков для WebSocket, экосистемы клиентских SDK и модели безопасности каналов. Также релиз включает в себя экспериментальную поддержку HTTP/3 и WebTransport.

Читать далее

Почему я выбрал DeltaChat для приватного общения

Время на прочтение3 мин
Охват и читатели20K

Нет централизованного сервера. Используется любой email-сервер, который укажете

Надежное e2e-шифрование Autocrypt Level 1. Реализация прошла независмый аудит

Open Source, не преследует коммерческих целей, финансируется НКО и пользователями

Аудитория ~1М. Точно не оценить из-за отсутсвия телеметрии

Недостатки: не такой быстрый и отсутсвуют (пока) редактирование сообщений, реакции и треды

Читать далее

SQL HowTo: обход дерева иерархии «по курсору» через двойную рекурсию

Время на прочтение3 мин
Охват и читатели12K

В предыдущих статьях "PostgreSQL Antipatterns: навигация по реестру", "PostgreSQL 13: happy pagination WITH TIES" и "SQL HowTo: курсорный пейджинг с неподходящей сортировкой" я уже рассматривал проблемы навигации по данным, представленных в виде плоского реестра.

Но что если мы хотим выводить данные не простым "бесконечным списком", а в виде иерархической структуры с быстрой навигацией по узлам - например, обширный каталог товаров или меню ресторана, как это делает Presto - наш продукт для автоматизации заведений питания? Вот тут нам и придется что-то поизобретать...

Читать далее

Информация

В рейтинге
4 996-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность