Как стать автором
Поиск
Написать публикацию
Обновить
-8
Some Name @sswwsswwread⁠-⁠only

Middle Python Backend Developer

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

Программирование как разработка теорий: почему senior-разработчики стали ценны как никогда?

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

В 1985 году учёный Питер Нур будто зрил в будущее, написав свою работу под названием «Programming as Theory Building», которая сегодня стала весьма актуальной. Мы всё чаще видим, как начинающие разработчики бездумно принимают сгенерированный ИИ код, который толком не понимают, а кодовые базы разрастаются лишёнными теоретических основ реализациями. В свете всего этого чётко вырисовывается основная идея Нура: «программа – это не её исходный код».

Читать далее

Domain-Driven Design: ошибки, которые не описаны в книгах

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

Всем привет! Меня зовут Андрей, уже несколько лет я работаю тимлидом/техлидом в разных компаниях и различных проектах. В последнее время подход Domain Driven Design у всех на слуху. Хотя этот подход развивается уже много лет (с 2003), только сейчас на него обращают активное внимание и многие команды пробуют внедрять его у себя.

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

Читать далее

SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

Время на прочтение3 мин
Количество просмотров412K
Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?

То-то и оно. Такое пропустить нельзя.
Читать дальше →

Оптимизация асинхронного сервиса на Python

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

Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса.

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

Читать далее

ARGUS: как масштабировать рекомендательные трансформеры

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

Привет! Меня зовут Кирилл Хрыльченко. Я руковожу командой, которая занимается R&D для рекомендательных технологий в Яндексе. Одна из наших основных задач — развивать трансформерные технологии в контексте рекомендательных систем, и мы активно занимаемся этим уже примерно пять лет. Не так давно у нас произошёл новый виток в развитии рекомендательных технологий, которым мы хотим поделиться с вами в этой статье.

Актуальность рекомендательных систем в мире и для Яндекса обосновать несложно: количество контента растёт очень быстро, всё просматривать самостоятельно невозможно, поэтому для борьбы с информационной перегрузкой нужны рексистемы. Рекомендации музыки, фильмов, книг, товаров, видеороликов, постов, друзей — бо́льшая часть этого есть и у нас в Яндексе. При этом важно не забывать, что эти сервисы помогают не только пользователям, но и создателям контента, которым нужно искать свою аудиторию.

Мы уже внедрили новое поколение рекомендательных трансформеров во множество сервисов — Музыку, Алису, Маркет, Лавку — и активно работаем над внедрением в другие. Везде получилось значительно улучшить качество рекомендаций. Если вы рекомендательный инженер — надеюсь, что после этой статьи у вас появятся идеи, как сделать что‑то похожее для вашей рекомендательной системы. А если вы пользователь рекомендаций — то у вас есть возможность побольше узнать о том, как работает та самая рекомендательная система.

Читать далее

Когда O(n) мешает отбирать резюме в Росатоме

Время на прочтение9 мин
Количество просмотров21K
image

Главная проблема поиска сотрудников — предвзятость. Порой кажется, что наше резюме подходит под свою роль на 100 %, а рекрутер отклоняет его. Проблема с противоположной стороны баррикад: рекрутер должен отсмотреть по 200, 300 и более резюме в день. По разным данным, на каждое уходит всего лишь 6–10 секунд.

А что если можно решить эти две проблемы с помощью ML? Сделать модель, которая исключит любой байес и поможет рекрутеру объективно отбирать подходящих кандидатов (где «подходящесть» обусловлена красивой математикой!).

Мы это сделали. Оказалось, что если вы хотите добиться непредвзятости, то вам придётся внести в систему предвзятость. Оксюморон в статистике!

Что мы увидели:

  • Женатые и замужние — в топе: пока вы не уходите глубоко в анализ, этот быстрый фактор повышает ранг. Чем точнее ваша модель, тем меньше его вес.
  • Английский — плохо: знание английского почему-то работало как антипаттерн, снижая релевантность.
  • ОГУРЕЦ: кто-то зачем-то написал это слово в резюме. Оно попало в словарь модели и получило большой вес.
  • Иксель — люди пишут Excel как угодно, и само слово в правильном написании оказалось снижающим оценку.
  • К резюме может быть приложено много мусора. Самый эпичный пример: авиабилет Москва — Челябинск вместо резюме.

Но давайте начну с начала.
Читать дальше →

Разбираемся с суффиксами квантования LLM: что на самом деле значат Q4_K_M, Q6_K и Q8_0

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

Привет!
Задумывались, какую версию квантованной LLM выбрать: Q4_K_M, Q6_K или Q8_0? Насколько Q6_K хуже справляется с задачами по сравнению с Q8_0? И что вообще означают все эти буквы в суффиксах?

Примечание: это адаптированный перевод моей статьи на Medium. Перевод был сделан при помощи мозга, а не нейросетей или Google Translate.

Узнать чуть больше про квантование LLM

Веб-студии создавали сайты, но тут пришли нейросети. Как ИИ меняет правила игры

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

В 2025-м нейросети стали чем-то большим, чем просто инструменты. Это уже инфраструктура. Они умеют всё — от генерации сайтов и UI до видео со звуком и автоматизированных CRM. Но главное — они делают это быстрее, чем мы привыкли. Разбираем, кто сейчас в топе AI-инструментов и почему вокруг них такой шум.

Читать далее

Функциональное и объектно-ориентированное проектирование

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

В современном обучении программированию, как правило, основное внимание уделяется парадигме объектно-ориентированного программирования (OOP) и вытекающей из неё методологии объектно-ориентированного проектирования (OOD). Определённый ренессанс в наше время испытывает парадигма функционального программирования, но практически никогда в связке с ней не рассматривается функциональное проектирование. Попытаемся осветить наше видение этих вопросов.

Читать далее

Наша Вселенная находится внутри сверхмассивной черной дыры — исследование

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

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

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

Это объясняет многое о тёмной материи и позволяет убрать ряд парадоксов. А весь секрет, оказывается, состоял в белых карликах, живущих сотни триллионов лет.

Читать далее

Гайд по зрению: здоровье глаз в цифровую эпоху

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

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

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

Я страдал и продолжаю страдать от:
- Мейбомиевого блефарита
- Синдрома сухого глаза
- Спазма аккомодации сетчатки
- Астигматизма
- Близорукости

И сегодня я расскажу вам, как можно если не избежать этих проблем, то хотя бы их облегчить, ведь наши глаза - это связь с реальностью. Цель статьи - дать практичные и полезные совет, и одновременно с этим дать понимание, почему тот или иной совет работает и как. Здесь я собрал всё, что мне известно про глаза, средства, практики и угрозы, приятного чтения!

Читать далее

Ускорение тестового набора PyPI на 81%

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

Компания Trail of Bits уже несколько лет сотрудничает с репозиторием PyPI, помогая добавлять в проект новые возможности и улучшать стандартные параметры безопасности в экосистеме управления пакетами Python.

Читать далее

Топ-7 нейросетей для генерации видео: лучшие AI-сервисы 2025 года

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

Признайтесь: сколько раз вы хотели сделать видео — для презентации или поста — но вместо вдохновения получали лишь папку с шаблонами и вкладки «Как сделать анимацию за 5 минут»? Идея была, энергия — тоже. Но где-то между рендерами и туториалами всё растерялось.

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

Сегодня мы протестируем 7 сервисов для генерации видео. Но вместо скучного списка с сухими характеристиками — сделаем это иначе.

Уже обратили внимание на обложку? Да, это докторская колбаса и селёдка под шубой — но буквально. Покажем, как нейросети видят названия блюд — не метафорично, а визуально.

Что получится, если макароны по-флотски встанут по команде «смирно»? А Цезарь лично выберет — курицу или креветки?

Будет необычно. Будет живо. И, возможно, немного аппетитно.

Приятного чтения!

Читать далее

Быстрый деплой бота (и не только) на Docker-хостинге с Portainer

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

18 июня будет два года как я создал сообщество "Код на салфетке". Сразу оговорюсь, что это некоммерческая история и возникло оно как решение важной для меня проблемы: "недостаток информации для начинающего разработчика". В процессе моего обучения и развития я сталкивался с различными нюансами, которые решались достаточно просто, но найти "комплексный ответ" зачастую было очень трудной задачей.

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

За эти два года мне в личку и в чат Telegram-канала довольно часто пишут новички и их вопросы можно разделить на две категории:

Читать далее

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

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

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Соединяем физику и лирику. Как я собрал рекомендательную систему для стихов с помощью Flask, sqlite-vec и Hugging Face

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

Для песен рекомендательные системы есть, для книг — есть, для фильмов — есть, для стихов — нет. Непорядочек 🤔

Используя Flask, Jinja2, Sentence-Transformers и sqlite-vec, собрал первый прототип рекомендательной системы для стихов. Для машины измерить в цифрах схожесть двух стихов трудно. А для человека — в самый раз. Прикрутил форму оценки рекомендаций, собрал человеческий фидбек.

В статье подробно рассказываю о деталях конструкции.

Читать далее

Почему multiprocessing.Queue() тормозит и как обойти это с помощью shared_memory

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

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

Вы запускаете многопроцессную задачу, кидаете данные в multiprocessing.Queue(), а потом вдруг замечаете... что всё тормозит. Муторно. Медленно. Местами прям отвратительно. Вы смотрите в монитор, на top, на htop, на код — и не понимаете: ну ведь должно же летать! А не летит.

Читать далее

Perforator: новая система непрерывного профилирования теперь в опенсорсе

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

Привет! Сегодня мы выложили в опенсорс Perforator — систему непрерывного профилирования (continuous profiling), которую используем внутри Яндекса для анализа производительности большинства сервисов.

В Github-репозитории доступен исходный код системы и инфраструктура для развёртывания своей инсталляции Perforator на кластере Kubernetes. Кроме того, Perforator можно использовать на своём компьютере как более простую замену perf record: профили получаются точнее, а оверхед меньше. Исходный код доступен под лицензией MIT (и GPL для eBPF-программ) и запускается под x86-64 Linux.

При помощи Perforator и прошлых подходов к задаче профилирования мы регулярно оптимизируем самые крупные сервисы в Яндексе, например Баннерную крутилку или Поиск, на десятки процентов. Кроме того, Perforator реализует недостающий в опенсорсе компонент профилирования для простой автоматической оптимизации программ с использованием profile-guided optimization. Наши тесты показывают, что использование PGO даёт ускорение около 10% в разных сценариях.

Под катом поговорим про профилирование под Linux, опишем вызовы и сложности, возникающие при профилировании, изучим, как устроен Perforator внутри, и обсудим, как можно использовать полученную систему.

Читать далее

Структурированная генерация в LLM

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

Привет. Меня зовут Андрей Соколов, я руководитель команды LLM в AI VK, которая обучает и дорабатывает модели, а потом помогает другим командам интегрировать их в свои продукты. И сегодня я расскажу про такое направление в LLM, как структурированная генерация. 

Читать далее

Mystical: визуальный язык программирования. Что это и как работает?

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

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

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Cascade Station, None, Австралия
Дата рождения
Зарегистрирован
Активность

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

Бэкенд разработчик
Средний
От 250 000 ₽
Python
PostgreSQL
FastAPI
Google Cloud Platform
Kubernetes
CI/CD
Docker