Pull to refresh
27

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

21
Subscribers
Send message

30 паттернов инженерии ИИ-систем

Level of difficultyMedium
Reading time23 min
Reach and readers8K

В Островке мы используем ИИ в разных задачах — от автоматизации внутренних процессов до продуктовых сценариев — и периодически рассказываем об этом на Хабре. Например, как строим вспомогательные системы на базе LLM и RAG или применяем ML в продукте.

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

Ниже мы перевели и адаптировали материал Алекса Эверлёфа — инженера, который систематизировал подходы к проектированию ИИ-систем за последние несколько лет.

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

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

Примечание. Часть текста была подготовлена с помощью Gemini 3 Pro, но финальную версию автор полностью вычитал, проверил и отредактировал, чтобы она точно отражала его опыт и выводы.

Читать далее

Два рождественских червя 80-х: как доверие к сети стало проблемой задолго до фишинга

Level of difficultyEasy
Reading time14 min
Reach and readers8K

Праздники в ИТ часто выглядят одинаково — независимо от десятилетия. Меньше людей в офисах, меньше изменений в инфраструктуре, меньше внимания к мелочам. И сегодня мы воспринимаем это как очевидную истину: длинные выходные — время повышенного риска.

Но в конце 1980-х эта мысль ещё не была частью профессионального мышления (по крайней мере, в практике академических и корпоративных сетей). Компьютерные сети того времени казались чем-то устойчивым, почти «институциональным». Они были дорогими и медленными. Пользователи часто знали друг друга лично, а саму сеть воспринимали как продолжение научного сообщества — но не как потенциально враждебную среду.

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

Статья подготовлена по мотивам материала IEEE Security & Privacy, публикации Брайана Хэмэна и отчёта команды безопасности SPAN (NASA).

Читать далее

Пишем свою in-memory базу на Go, ускоряем поиск отелей в десятки раз

Level of difficultyMedium
Reading time18 min
Reach and readers11K

Если вы когда-либо строили высоконагруженные системы поиска, то знаете, что в какой-то момент узким местом становится не код, а сама архитектура. Поиск доступных отелей — как раз тот случай: миллиарды «ночей», десятки тысяч RPS, постоянные обновления календарей, строгая консистентность и высокая цена любой ошибки. Старый стек на Python + Postgres + Redis долго тянул, но однажды стал «тормозить» настолько, что оптимизировать дальше было невозможно — SQL-запросы разрастались, реплики множились, latency прыгала до 60 секунд, а кэширование превращалось в источник инцидентов.

Так мы пришли к идее построить собственную in-memory базу данных на Go — заточенную под наш домен. Быструю, безопасную и синхронизированную с Postgres. 

Под катом — история того, как мы её спроектировали, какие архитектурные решения приняли, как победили холодный старт, справились с миллиардами значений. И почему в итоге смогли полностью отказаться от кэша доступности, переведя поиск в real‑time.

Читать далее

О! Падел-теннис: как мы оказались в «секте» падела и чем этот спорт покорил нас

Level of difficultyEasy
Reading time6 min
Reach and readers18K

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

Итак, сегодня будем разбираться в паделе вместе с тройкой его преданных фанатов (по секрету, их у нас гораздо больше). 

Может показаться, что падел — новинка в мире спорта, но на самом деле зародился он уже больше полувека назад, в 1969 году. Говорят, один миллионер, по имени Энрике Коркер купил особняк в Акапулько и собирался возвести там теннисный корт, так как его жена обожала играть. Однако оказалось, что полноразмерный корт никак не вписывался в местный ландшафт, построить его было попросту невозможно, поэтому Коркер решил уменьшить оригинал в три раза — так, по легенде, и появилась площадка для падела, 20 на 10 метров. Затем вокруг построили четырёхметровые стены из прочного стекла, чтобы растения и деревья не мешали играющим. Теннисные ракетки Коркер заменил на пляжные, а мяч оставил. К слову, названием получившаяся игра обязана именно ракетке, так как падел (от англ. paddle) — переводится как весло. 

Вскоре к Коркеру в гости заглянул друг — испанский предприниматель Альфонсо де Гогенлоэ. Он, конечно, сыграл в падел — и так проникся этим спортом, что по возвращении в Испанию построил аж два корта. Что было потом, вы уже догадываетесь: популярность падела стала набирать обороты, играть начали даже именитые спортсмены, среди которых Марат Сафин, Златан Ибрагимович, Жерар Пике (да, и футболисты оценили!), а в 2023 году он даже вошел в программу III Европейских игр.

Читать далее

Пробы и ошибки при выборе HTTP Reverse Proxy

Reading time6 min
Reach and readers35K
Всем привет!

Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru.

Читать дальше →

Чем живет мобильный Островок

Reading time13 min
Reach and readers14K
Всем привет. Меня зовут Макс Дегтерев (у меня тут нет аккаунта, так что вот мой twitter: @suprMax и сайт maxdegterev.name ). Мы недавно запустили новую классную версию мобильного сайта. Про него-то я вам сейчас и расскажу.
Читать дальше →

Как мы создавали «Отель на эту ночь!»

Reading time4 min
Reach and readers15K
Привет, хабр!

Мы запустили новую фичу в нашем мобильном приложении — «Отель на ночь!». Это функция, которая помогает человеку забронировать отель в последнюю минуту. Зачем мы это сделали, как и что из этого получилось мы решили рассказать на хабре. Будем рады вашем отзывам и комментариям о том, что можно еще улучшить в новой функции и в целом в приложениях.
Читать дальше →

Мобильное приложение Ostrovok.ru для бронирования отелей

Reading time3 min
Reach and readers8.2K
Привет, меня зовут Евгений Селезнев (evgenyseleznev), я дизайнер и руководитель команды мобильной разработки в Островке.

Мы в компании Ostrovok.ru недавно выпустили мобильное приложение для бронирования отелей по всему миру. В нем мы постарались преподнести богатый функционал в удобном интерфейсе. Как был устроен процесс работы, расскажу подробнее.
Читать дальше →

Фронт-энд Островка изнутри

Reading time10 min
Reach and readers27K
Привет, меня зовут Игорь (iamo0), я старший фронт-энд разработчик в Островке. Я занимаюсь нашим основным продуктом: сайтом Ostrovok.ru. С помощью нашего сайта ежедневно бронируют отели тысячи человек, поэтому для нас очень важно, чтобы качество нашего продукта было на высоте. А для этого нужно не отвлекаться на разного рода мелочи и уметь эффективно решать поставленные задачи.

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

Не претендую на то, что мой рассказ сорвет покровы или станет настоящим откровением. Хочу поделиться с вами опытом работы с большими приложениями, накопленным разработчиками Островка.
Читать дальше →

Видеозапись доклада «Вся соль одностраничных приложений» с 404fest

Reading time2 min
Reach and readers18K
Федя Шумов и Арсений Заречнев, фронт-енд разработчики из команды Островка, рассказали о
«Всей соли одностраничных приложений» на 404fest в Самаре.

Содержание доклада:


Читать дальше →

Как сделать группу инпутов удобной

Reading time2 min
Reach and readers47K
Когда я работал над сервисом заметок jotsky.com, еще до работы в Островке, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:



Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать дальше →

Внедряем TDD с django и postgres

Reading time6 min
Reach and readers12K
В Островке есть два основных продукта: для пользователей (ostrovok.ru) и «админка» для отелей (экстранет), куда подписанные нами отели заносят данные. Это отдельные продукты, со своими командами и различным отношением к разработке через тестирование (TDD). Одинаковая платформа: django и postgres. В экстранете используют TDD и у них куча тестов. Поначалу тесты были и в ostrovok.ru, но ввиду ухода части адептов в экстранет и очень интенсивного развития их перестали поддерживать. В общем передо мной встала задача внедрить тестирование. Первые шаги сделаны и хочу поделиться этим опытом и решениями, которые были применены.
У нас есть отдел QA и Selenium автотесты, но это отдельно.

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

В нашем случае уже существовал огромный функционал и очень много всесторонних зависимостей и интеграции с внешними API. И нужно, чтоб это все работало в тестовой среде. Про быстрый SQLite в памяти можно забыть, в проекте есть привязки к особенностям postgres, да и идентичность тестового окружения все-таки важна, поэтому тесты тоже работают на postgres.
Читать дальше →

Silicon Valley is an amazing place, but I’m taking a bet about Russia… или пост о том, как Райaн приехал работать в Островок из Кремниевой долины

Reading time7 min
Reach and readers33K
С недавнего времени в команде Островка работает Райан, разработчик из Кремниевой долины. Чаще всего его спрашивают, зачем он приехал работать в Россию и как вобще здесь оказался. Он рассказал об этом, о работе в американских стартапах, о работе в Островке, и о том, почему he feels like there is a shift happening in Russia.



Читать дальше →

Островок Кремниевой Долины

Reading time4 min
Reach and readers8.7K
OLS (Ostrovok Lecture Series) — это лекции со звездами мировой веб-индустрии. У нас в офисе уже побывали Эстер Дайсон, Тимур Артемьев, Джо Катлер и по скайпу выступил основатель скайпа Никлас Зеннстром.

OLSВчера в рамках OLS к нам в офис приходили прикольные ребята из Y Combinator, Virool и DST: Харж Таггар (Harj Taggar), Гарри Тэн (Garry Tan), Александр Дебелов и Феликс Шпильман. Они приезжали в Россию на Всероссийский Инновационный Конвент 2011, но мы-то знаем, что им любопытно, что тут в России интересного происходит в IT. И правда ли, что собор Василия Блаженного является гигантским окаменелым пряником.

Мы показали наш офис и попросили ребят рассказать о том, как вышло, что они занимаются инвестициями на ранней стадии, что делали раньше и как собираются развиваться. Затем все заинтересованные сотрудники Островка общались с ними, задавали вопросы, спрашивали мнение о своих идеях и идеях своих знакомых.

image
Фото снято на айпад, извините.
Слева направо: Харж Таггар (Harj Taggar), Александр Дебелов, Гарри Тэн (Garry Tan), Евгений Курышев, Сергей Фаге


Факты, советы, мысли о России и видео-интервью

Итоги конкурса часть 4: Аналитики

Reading time3 min
Reach and readers8.4K
Здравствуй, Хабр!

По многочисленным просьбам публикуем итоги конкурса среди аналитиков на Хабре, где призом была возможность работать в Островке на должности аналитика. Претендентам нужно было ответить на ряд вопросов об интернет-маркетинге. В конкурсе приняло участие более трёхсот желающих! image
Добрые слова лучшим участникам и ответы на наиболее сложные вопросы

Итоги конкурса. часть 2: Бэкендеры

Reading time5 min
Reach and readers6.4K
Привет, Хаброжители!

Продолжая тему, в этом посте мы подведём итоги конкурса для бэкенд-разработчиков, расскажем о типичных ошибках и хороших решениях вопросов.

Конкурс состоял из восьми заданий, проверяющих знания Python и сопутствующих технологий.

Ответы на эти вопросы и Бэкендер-Победитель

Итоги конкурса, часть 1. Фронтендеры

Reading time2 min
Reach and readers9.4K
Привет, Хабр!

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

Задание состояло в том, чтобы разработать интерфейс просмотра курса валют за последние три месяца. В качестве основы предоставлялись бумажный прототип и данные в формате XML. Целью задания было определить насколько хорошо человек владеет технологиями и «чувством интерфейса» — то есть представляет, насколько удобно им будет пользоваться, и насколько понятным он окажется с первого взгляда.

Желающих попробовать себя в роли не только разработчика, но и проектировщика интерфейсов, оказалось немного. Мы хотели бы рассмотреть интересные работы и рассказать об их недостатках, а также показать интерфейс, который сочли лучшим.
Типичные недостатки на примере заданий, лучший результат и мини-совет

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity