Как стать автором
Обновить
24
0
Антон Зубарев @aszubarev

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

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

История оптимизации Python сервиса: пара простых системных улучшений

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.7K

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

Читать далее
Всего голосов 22: ↑21 и ↓1+24
Комментарии6

Замедление YouTube с технической стороны: ограничение и обход

Время на прочтение5 мин
Количество просмотров437K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Всего голосов 540: ↑540 и ↓0+631
Комментарии433

Имплементация чисел с фиксированной точкой (часть 2)

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.2K

Итак, в прошлый раз я представил базовую идею как можно реализовать Fixed-point arithmetic, а так же набросок кода на C++, в котором в комментариях нашли довольно много проблем (а я сам нашёл ещё больше). В этот раз хочется представить улучшенную реализацию, разбор тонких моментов в коде и провести более детальный анализ получаемых результатов.

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии20

Моржовый оператор := в Python

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров30K

Python постоянно развивается: с каждой новой версией появляются различные оптимизации, активно внедряются новые инструменты. Так, в Python 3.8 появился моржовый оператор (:=), который стал причиной бурных споров в сообществе. О нем и пойдет речь в этой статье.

А начнем мы с истории о том, как моржовый оператор довел Гвидо ван Россума, создателя Python, до ухода с должности "великодушного пожизненного диктатора" проекта по разработке языка.

Читать далее
Всего голосов 47: ↑44 и ↓3+47
Комментарии54

Как фронтендер сертификацию PostgresPro сдавал

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.5K

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

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

Читать далее
Всего голосов 20: ↑19 и ↓1+27
Комментарии20

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров26K

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

Читать далее
Всего голосов 44: ↑33 и ↓11+32
Комментарии102

Аутентификация в SPA приложении через OpenAM используя OAuth2/OIDC

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.1K

Данная статья будет полезна разработчикам браузерных (SPA) приложений, которые хотят настроить аутентификацию пользователей. Для аутентификации будет использоваться OAuth2/OIDC протокол c PKCE. В качестве сервера аутентификации будет использоваться сервер управления аутентификации с открытым исходным кодом OpenAM.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров170K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Всего голосов 458: ↑447 и ↓11+542
Комментарии843

Российская микроэлектроника — два года спустя

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров106K

За эту статью попрошу благодарить патриотично размороженных граждан в целом, и @WebPeople (регистрация 2012, разморожен с первым комментарием 8 июл 2023 в 20:47) в частности. Глобальное потепление, ничего не поделать.

В мае 2022 в комментариях @hippohood отметился не имеющим аналогов текстом:
Примерно опишу мыслительный процесс позитивно (патриотично) настроенных граждан.

Оборудование можно сделать и самим, но пока можно и просто привезти серым импортом. Оборудование выглядит примерно как большой ящик с дырками, включённый в розетку; в одну дырку складываешь кремний, в другую заливаешь фоторезистор. Под третью дырку надо подставить ведро - в него будут ссыпаться чипы. Вёдра мы делать умеем (хотя и импортируем сейчас, но чертежи-то остались), фоторезистор научатся намешивать в Зелинограде; с кремнием разберемся, не всё сразу. Надо ещё заранее заказать в Китае переходник с европейской розетки на нормальную - лучше сразу 3 или 4, они постоянно горят. Вроде все ясно.

Читать далее
Всего голосов 563: ↑538 и ↓25+598
Комментарии454

GigaCode и все-все-все. Сравниваем различные ИИ-ассистенты между собой

Уровень сложностиСложный
Время на прочтение19 мин
Количество просмотров8.2K

Привет, Хабр! Мы представляем команду GigaCode. В декабре 2023 года наш продукт стал доступен широкой аудитории. До этого GigaCode использовался только внутри компании, и нас часто спрашивали о том, как GigaCode выглядит на фоне других ИИ-ассистентов, как вы сравниваете себя с остальными? Отвечая на эти вопросы, мы начали с простой задачи, которая оказалась не такой уж и простой и вылилась в увлекательное исследование со всем тем, что мы так любим: множеством измерений, математической статистикой и, конечно же, новыми горизонтами. Интересно? Добро пожаловать под кат.

Читать далее
Всего голосов 13: ↑13 и ↓0+18
Комментарии18

Kubernetes становится вендоронезависимым после изменения 1,5 млн. строк кода

Время на прочтение5 мин
Количество просмотров14K

В июле 2024 вышла версия Kubernetes 1.31, в которой были окончательно устранены встроенные интеграции облачных провайдеров.

Начиная с версии Kubernetes v1.7, проект Kubernetes преследовал амбициозную цель удаления встроенных интеграций облачных провайдеров. Хотя эти интеграции сыграли важную роль в раннем развитии и росте Kubernetes, их удаление было обусловлено двумя ключевыми факторами: растущей сложностью поддержания собственной поддержки для каждого облачного провайдера в миллионах строк кода Go и желанием сделать Kubernetes по-настоящему независимой от поставщика платформой.

После многих релизов, все интеграции облачных провайдеров были успешно перенесены из основного репозитория Kubernetes во внешние плагины. В дополнение к достижению первоначальных целей, удалось значительно оптимизировать Kubernetes, удалив около 1,5 миллионов строк кода и уменьшив двоичные размеры основных компонентов примерно на 40%.

Эта миграция была сложной и длительной из-за многочисленных затронутых компонентов и критических путей кода, которые полагались на встроенные интеграции для пяти первоначальных поставщиков облачных услуг: Google Cloud, AWS, Azure, OpenStack и vSphere. Для успешного завершения этой миграции пришлось построить четыре новые подсистемы с нуля:

Читать далее
Всего голосов 21: ↑16 и ↓5+13
Комментарии1

Работа с геометрией в JPA и Spring Boot 3

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.1K

Добрый день, уважаемые читатели Хабра. В один день для моего pet-проекта понадобилось сделать добавление адресов клиентов, и проверка входит ли этот адрес в зону доставки. 

Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁

В этой статье мы разберем, что такое геометрия, как с ней можно работать в sql и no-sql базах данных. Приступим.

Читать далее
Всего голосов 16: ↑16 и ↓0+21
Комментарии6

Я победил замедление YouTube

Время на прочтение4 мин
Количество просмотров424K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее
Всего голосов 163: ↑150 и ↓13+167
Комментарии595

Заставляем работать MinIO и Postgresql вместе

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.9K

Всем привет, в этой статье я хочу рассказать, как у меня получилось интегрировать MinIO и Postgres, а именно, что после каждой загрузки картинки в объектное хранилище у нас появляется запись в БД.

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии9

Собеседование в энтерпрайз

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.8K

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

Читать далее
Всего голосов 20: ↑18 и ↓2+21
Комментарии39

Как работает Python Asyncio: воссоздаем с нуля

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.1K

Автор оригинала: Jacob Padilla

Сейчас asyncio — одна из самых модных тем в Python, и это справедливо — это отличный способ обработки программ, связанных с вводом-выводом! Когда я изучал asyncio, мне потребовалось некоторое время, чтобы понять, как это на самом деле работает. Но позже я узнал, что это по сути просто очень хороший слой поверх генераторов Python. В этой статье я собираюсь создать упрощенную версию asyncio, используя только генераторы Python. Затем я собираюсь реорганизовать пример, чтобы использовать ключевые слова async и await с помощью dunder-метода __await__, прежде чем замкнуть круг и заменить свою версию на настоящий asyncio. Надеюсь, создав простую версию asyncio в конце этой статьи, вы сможете лучше понять, как он творит свою магию!

Читать далее
Всего голосов 11: ↑10 и ↓1+12
Комментарии1

Кворум кроликов или RabbitMQ Quorum

Время на прочтение3 мин
Количество просмотров2.1K

Заводим кворум без фундаментальщины и теории 🤷‍♂️ (думаю, что по этому поводу статей хватает). Разбираем helm bitnami/rabbitmq-cluster-operator (чуть-чуть).

К разбору
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Как я решил сделать серию видео про устройство интерпретатора CPython

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.5K

Привет, Хабр!

Давайте знакомиться: меня зовут Никита Соболев, я core‑разработчик CPython, mypy и typeshed. Некоторое время назад я понял, что на русском языке довольно мало контента про устройство CPython внутри. В основном доклады с конференций и статьи. Где‑то про память, где‑то про GIL, где‑то про парсер. Но чтоб системно и по всем основным частям в одном месте — такого я не нашел.

И решил сделать своё! Под катом я расскажу, как я делаю «Лучший курс по Питону»* на ютюбе. Почему он бесплатный. И почему он такой, какой есть. А еще я расскажу, какая польза будет разработчикам от его просмотра.

Читать далее
Всего голосов 80: ↑80 и ↓0+105
Комментарии16

Каких фич не хватает K8s по мнению юзеров Reddit: толковый менеджер пакетов и устранение болей с sidecar-контейнерами

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.6K

Представьте, что у вас появилась возможность включить новую фичу в Kubernetes или что-то в нём кардинально поменять. Что бы вы добавили или изменили? Похожие вопросы постоянно появляются на Reddit.

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

Читать далее
Всего голосов 23: ↑23 и ↓0+29
Комментарии3

Как вырастить динозавра: масштабирование платформы YTsaurus от 200 до 20 000 хостов. Доклад Яндекса

Время на прочтение16 мин
Количество просмотров2.4K

Привет! Меня зовут Паша Сушин. Уже больше десяти лет я занимаюсь в Яндексе развитием платформы YTsaurus — нашего внутреннего инструмента, который в марте 2023 года вышел в опенсорс и теперь доступен всем на GitHub по лицензии Apache 2.0. 

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

Читать далее
Всего голосов 16: ↑16 и ↓0+20
Комментарии2

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Software Architect
Lead
Git
SQL
Docker
Python
Django
RabbitMQ
Kubernetes
Database
Designing application architecture
Creating project architecture