Pull to refresh
-1
0.1
Send message

Стриминг музыки со своего сервера

Level of difficultyMedium
Reading time5 min
Views11K


YouTube Music, «Яндекс Музыка», Spotify, SoundCloud — относительно удобные музыкальные сервисы, но с недостатками:

  • плохая работа в офлайне;
  • отсутствие поддержки lossless;
  • абонентская плата;
  • неполная фонотека;
  • многое другое...

Их коллекции далеки от полноты. Редких треков вообще нет. Более того, музыка иногда просто пропадает из-за каких-то заморочек с авторскими правами.

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

Микроклональная лаборатория своими руками

Level of difficultyEasy
Reading time14 min
Views9.3K

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

Читать далее

Планировщик Go — самый подробный гайд простым языком

Level of difficultyMedium
Reading time27 min
Views19K

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

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

Приступить к проектированию

Пишем свой FDW для PostgreSQL

Level of difficultyEasy
Reading time10 min
Views3.4K

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

В этой статье быстро разберём, как устроен PostgreSQL – от хранения данных в Heap и работы с FSM/VM до создания своего FDW с компрессией на базе zlib.

Читать далее

Глубокий разбор новых указателей в Go 1.24: слабые указатели и их реализация

Level of difficultyEasy
Reading time13 min
Views5K

Go 1.24 привнес в язык новый тип указателей – слабые указатели (weak pointers). В этой статье разберёмся, что они из себя представляют, как устроены внутри компилятора и runtime, а также как их использовать для оптимизации кода. Мы подробно изучим внутреннее устройство новых указателей, примеры их применения (например, для создания самоочищающихся кешей) и посмотрим, как они работают под капотом с точки зрения управления памятью и производительности.

Читать далее

Модели T-lite и T-pro: training report

Level of difficultyHard
Reading time31 min
Views6.5K

Привет! Я Дима Стоянов, MLE в команде разработки фундаментальных моделей. Мы продолжаем рассказывать о наших моделях T-lite и T-pro. Общие характеристики и результаты бенчмарков описывали в предыдущей публикации. В этой статье раскроем детали предобучения: от подготовки данных до финальных экспериментов, а совсем скоро поделимся особенностями этапа post-training.

Читать далее

Переключение контекста — главный убийца продуктивности разработчика

Level of difficultyEasy
Reading time11 min
Views16K

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

Читать далее

Доставка день в день: погружение в базовые алгоритмы поиска и назначения курьеров в Яндекс Доставке

Level of difficultyHard
Reading time27 min
Views3.1K

Всем привет! Меня зовут Сергей Хорошеньких, я руковожу службой исследований и разработки в Яндекс Доставке. Наша команда изучает и внедряет алгоритмы, которые повышают операционную эффективность сервиса.

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

Доставка день в день — это не только сценарий «сходи за меня в магазин», но и возможность передать посылку с помощью сервиса. Эти сценарии объединяет то, что они происходят в рамках одного города. Про этот вид доставки мы и поговорим: я расскажу, что уже изобретено для этого сценария, а чего нам не хватало и какие задачи предстояло решить с помощью алгоритмов доставки.

Читать далее

LLM во временных рядах: от предикта температуры до криптовалют

Level of difficultyEasy
Reading time17 min
Views3K

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

Тем более LLM уже может прогнозировать будущее! Ниже вы можете посмотреть результаты прогноза для разных временных рядов из статьи Large Language Models Are Zero Shot Time Series Forecasters.

Остается лишь вопрос, а можно ли лучше?

Давайте разберемся!

Как я интернет по электропроводке передавал. Часть 2

Reading time4 min
Views22K

Всем привет! Это Антон Комаров, автор команды спецпроектов МТС Диджитал. В прошлый раз я рассказывал, как мне удалось вернуть к жизни сломанный PLC-адаптер, передающий интернет по электропроводке. Ну а сейчас опишу мои эксперименты с тестированием подобной сети. Я попытался выяснить, как на качество связи влияют разные факторы — от бытовых приборов, таких как микроволновка, до раздельных линий подключения в единой электросети. Результаты оказались неожиданными — от впечатляющей стабильности до критичных падений скорости.

Читать далее

О новых алгоритмах хеш-таблиц

Reading time1 min
Views16K

Хотелось бы прокомментировать публикацию Ильи Кабанова в Медузе по поводу новых разработок в алгоритмах хеширования: "Optimal Bounds for Open Addressing Without Reordering" (Farach-Colton, Krapivin, and Kuszmaul, 2025) и последующую "The Bathroom Model: A Realistic Approach to Hash Table Algorithm Optimization" (Wang, 2025). И особенно кликбейтное: "в перспективе метод Крапивина и его коллег может ускорить многие процессы в интернете."

Я около 7 лет очень плотно занимался темой хеш-таблиц и написал много их вариантов: Koloboke, SmoothieMap, memory-mapped вариации.

Я потерял к теме интерес с выходом гугловской SwissTable (2018), и ее фейсбучного варианта F14, которые основаны на SIMD. Они проверяют загруженность ячеек и совпадения "тега" элемента сразу блоками по 8 соседних слотов. Поэтому на любых разумных загрузках таблиц (до 90%) - "цепочка проверки" очень редко превышает 1 (то есть, одну проверку 8-элементного блока).

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

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

SwissTable стали стандартным алгоритмом хеш-таблиц в Расте, и, буквально в этом месяце, в Golang 1.24.

В заключение, отвечая Илье Кабанову: к "ускорению интернета" эти теоретические алгоритмы не приведут :)

Читать далее

Тимлид или ведущий дейликов?

Level of difficultyEasy
Reading time8 min
Views2.2K

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

Читать далее

Next.js 15 в Hikasami: Глубокая оптимизация рендеринга, загрузки данных и производительности

Level of difficultyMedium
Reading time4 min
Views2.3K

В эпоху цифрового контента каждая миллисекунда загрузки страницы может существенно повлиять на пользовательский опыт. В Hikasami, платформе, предоставляющей потоковое аниме и азиатские медиа для пользователей СНГ, наша цель — обеспечить мгновенную загрузку страниц, минимизировать задержки, а также гарантировать актуальность данных. Для этого мы внедрили Next.js 15, который открыл перед нами возможности глубокой оптимизации:

Читать далее

ООП: худшее, что случалось с программированием

Level of difficultyHard
Reading time20 min
Views97K

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

Почему observability — это не только Grafana и Prometheus

Reading time11 min
Views16K

Вы видите красивые графики в Grafana, алерты настроены, метрики собираются — значит, все под контролем? На самом деле, нет. Когда в продакшене что-то пойдет не так, Prometheus покажет скачок latency, но не объяснит, почему это произошло. Логи могут не содержать нужных данных. Трейсов нет. Итог — часы расследования, хаотичные гипотезы, поиски иголки в стоге сена.

Observability — одно из тех модных слов, которые часто понимают неправильно. Для многих оно сводится к связке Grafana + Prometheus, не более. Однако в реальных системах наблюдаемость (observaбыстроbility) — это больше, чем просто красивые дашборды с метриками. В этой статье разберемся, почему классический стек не покрывает все задачи, какие альтернативы есть на рынке и как построить современный observability-стек.
Читать дальше →

Батарея, живи! Как не превратить MacBook в стационарный ПК

Level of difficultyEasy
Reading time3 min
Views20K

Привет, всем моим читателям! Сегодня я расскажу о том, как продлить жизнь своему яблочному аппарату под названием MacBook. Всё началось с того, что я впервые в жизни купил себе MacBook M2 Pro, и мне, как и, наверное, любому другому человеку, после такой покупки захотелось продлить это счастье как можно дольше. Более того, ты начинаешь паниковать из‑за каждой мелочи: «он слишком пыльный!», «а вдруг скоро закончится память?» (хотя там ещё 400 ГБ свободно), «а вдруг...» Ну или это я просто такой шизоид.

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

Читать далее

Как я создал полностью автоматизированное онлайн радио с AI ведущими и музыкой

Level of difficultyMedium
Reading time5 min
Views21K

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

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

Читать далее

Трансформация платформы данных: от пары кубов до хранилища > 30 Тб и 1000 ETL-процессов

Level of difficultyMedium
Reading time9 min
Views5.1K

Привет, Хабр! Меня зовут Наталья Горлова, я архитектор данных. Несколько лет назад мы в CDEK поняли, что продукты, на которых работало хранилище, перестали нас устраивать: не устраивала гибкость разработки и скорость поставки данных. C тех пор произошло множество изменений, которыми хочется поделиться с сообществом.

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

Читать далее

Оптимизация JOIN в PostgreSQL

Level of difficultyEasy
Reading time7 min
Views11K

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Как собирать данные: руководство для ИИ-стартапов

Level of difficultyMedium
Reading time17 min
Views1.6K

Чтобы получить мощную ИИ-модель, ее нужно обучать на качественных данных. Но что делать, если данных мало или они обходятся слишком дорого?

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

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

Information

Rating
Does not participate
Registered
Activity