Как стать автором
Обновить
32
45
Сергей Качеев @tailer

SRE

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

System Design 101

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



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии17

Он победил LLM RAG: реализуем BM25+ с самых азов

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

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее
Всего голосов 33: ↑32 и ↓1+39
Комментарии13

Три кита продуктивности: воздух, температура и освещение. Но как их улучшить?

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

«Хорошо есть, крепко спать и достаточно пить» — кажется, это самые распространенные «народные» советы для поддержания тела в тонусе, а ума в ясности. Делай так и все будет «окей»!

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

Обыватель скажет: «Ну конечно, имеют! Если не проветривать комнату, будет душно. Если не включать свет, будет плохо видно и сядет зрение. Ну а беспорядок на рабочем столе — отражение беспорядка в голове!».

На самом деле, все действительно так. Но для многих степень влияния среды на продуктивность все еще не очевидна в полной мере.

Простой пример: превышении нормы CO2 в помещении всего на 20% снижает когнитивные способности на целых 60%. А исходя из общемировой статистики, комната, в которой сейчас находится читатель, превышает норму CO2 минимум в 2 раза!

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

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

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

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


Читать дальше →
Всего голосов 285: ↑280 и ↓5+365
Комментарии595

Алгоритм Ахо-Корасик

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

Вступление


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

Начальное описание


Алгоритм Ахо-Корасик реализует эффективный поиск всех вхождений всех строк-образцов в заданную строку. Был разработан в 1975 году Альфредом Ахо и Маргарет Корасик.
Опишем формально условие задачи. На вход поступают несколько строк pattern[i] и строка s. Наша задача — найти все возможные вхождения строк pattern[i] в s.

Суть алгоритма заключена в использование структуры данных — бора и построения по нему конечного детерминированного автомата. Важно помнить, что задача поиска подстроки в строки тривиально реализуется за квадратичное время, поэтому для эффективной работы важно, чтоб все части Ахо-Корасика ассимптотически не превосходили линию относительно длинны строк. Мы вернемся к оценке сложности в конце, а пока поближе посмотрим на составляющие алгоритма.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии16

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Время на прочтение9 мин
Количество просмотров180K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии57

Информация

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