Рубрика «оптимизация»

Как я собрал семантический поиск по 17 миллионам картинок, не разорившись на AWS


Зачем это всё

Я занимаюсь визуальными искусствами и фронтендом более 10 лет. Для креативной работы мне постоянно нужны референсы, причём основанные на ощущении, визуальном стиле, том, что на английском (да и у нас зачастую) называют vibe.

Был замечательный проект same.energy, который решал именно эту задачу. Когда он перестал работать, я почувствовал себя без рук. И, как инженер, решил не ждать, а собрать свой инструмент.

Задача звучала амбициозно: проиндексировать датасет на Читать полностью »

Создатель, смотри как надо было!

Создатель, смотри как надо было!

Язык как средство коммуникации

Читать полностью »

Очень краткий рассказ про семь проектов, построенных одним инженером на унаследованной платформе

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

Хотелось не просто ускорить метрики, а выстроить полноценную систему, которая бы работала для пользователя как обычное SPA-приложение: быстро, плавно, визуально современно, а главное с уважением к пользователям.

Читать полностью »

Началось всё с того, что я смотрел ролик про оптимизацию и увидел знакомый по книжкам пример кода, который демонстрирует важность успеха предсказателя ветвлений (branch predictor). Суть в том, что в функции есть ветвление и если предсказатель предскажет неверно, то будет потрачено множество тактов процессора впустую. Оптимизированная версия функции всегда рассчитывает два результата, но не имеет ветвлений.

Так вот, делать было нечего и я решил проверить как это работает на самом деле.
Для этого я взял google benchmark и составил два одинаковых теста на каждую из функций.
BM_GetProduct1 - функция с ветвлением, BM_GetProduct2Читать полностью »

Привет! Снова.

Docker уже давно стал стандартом, и базовые команды вроде docker rundocker build или docker compose up знакомы любому разработчику. Но экосистема и инструментарий контейнеризации гораздо глубже.

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


Dive: Рентген для образов

DiveЧитать полностью »

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

Проблема: почему я вообще этим занялся?

Честно говоря, надоело смотреть, как люди ставят "оптимизаторы", которые сами тормозят ПК. Знаете, те самые, что висят в трее и жрут 200 МБ RAM. Или еще хуже — вносят изменения в реестр, которые потом невозможно откатить.

Читать полностью »

Можно ли вывести мир из математики?

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

Физики знают: системы минимизируют действие.

Свет выбирает путь, на котором delta S=0Читать полностью »

TL;DR: В этой статье я хочу показать, почему распространённая фраза "не занимайтесь преждевременной оптимизацией" почти всегда используется неправильно, особенно в современных фронтенд-проектах. Я посмотрю на исторический контекст, разберу, что именно Кнут называл оптимизацией, и почему многие вещи, которые считаются "преждевременной оптимизацией", на деле — нормальная инженерная дисциплина.

Читать полностью »

Зачем строить свой собственный?

Зачем вообще делать что-то своё?

Я знаю, что вы можете подумать: «Почему бы просто не использовать Elasticsearch?» или «А что насчёт Algolia?» Это вполне рабочие решения, но у них есть нюансы. Нужно разбираться с их API, поддерживать инфраструктуру под них и учитывать все тонкости их работы.

Но иногда хочется чего-то более простого — такого, что:

  • работает прямо с вашей текущей базой данных;

  • не требует сторонних сервисов;

  • легко понять и отладить;

  • действительно выдаёт релевантные результаты.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js