Pull to refresh
14
0.4
Send message

Как Uber обслуживает более 40 миллионов чтений в секунду из онлайн-хранилища с помощью встроенного кэша

Level of difficultyMedium
Reading time15 min
Views6.2K

Привет, Хабр! Представляю вам перевод статьи "How Uber Serves Over 40 Million Reads Per Second from Online Storage Using an Integrated Cache" автора Preetham Narayanareddy. Из неё вы узнаете, как в Uber проектировалась система кэширования на основе Redis, с какими сложностями и тонкостями пришлось столкнуться разработчикам, и как в итоге им удалось создать действительно высокопроизводительное решение.

Читать далее
Total votes 6: ↑7 and ↓-1+8
Comments6

Кто убивает мое производство одежды?

Level of difficultyEasy
Reading time8 min
Views22K

11 лет мое производство шьет спецодежду для врачей и стюардесс, жилеты для неотапливаемых складов Вайлдберриз, и другую униформу. 10 человек на 150 кв.м в Подмосковье отшивают одежды на 1,5 млн в месяц. Сегодня мы переживаем не самые лучшие времена, как и вся отрасль, и вот почему.

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

Читать далее
Total votes 74: ↑64.5 and ↓9.5+55
Comments148

Не UI единым: как провести UX-ревью сложного IT-продукта и не утонуть в данных? Гайд от практика

Reading time10 min
Views2.9K

Привет! Это Даша, проектировщик из Selectel. Сегодня хочу поделиться своим опытом проведения UX-аудита — неоднократно я приходила в новый продукт и передо мной вставала такая задача.

Я успела набить шишек, перерыть половину рунета и в итоге на практике получить ценный опыт.

Эта статья родилась из желания помочь читателям избежать ошибок, которые совершила я (например, с головой уйти в анализ размера кнопок вместо изучения основных пользовательских сценариев), и при этом поделиться инструментами, которые помогли мне провести UX-аудит, будучи новичком в сложном продукте. Кроме того, я собрала полезный шаблон в Miro для динамичной и наглядной презентации результатов аудита команде.

Все подробности — под катом.
Читать дальше →
Total votes 28: ↑33 and ↓-5+38
Comments0

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views65K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
Total votes 207: ↑218 and ↓-11+229
Comments348

От простого ИТ-ландшафта к единой платформе разработки: эволюция ИТ в Тинькофф

Level of difficultyMedium
Reading time9 min
Views1.8K


Создание внутренней платформы разработки — спасение для больших компаний во многих кейсах: помогает избавиться от «зоопарка технологий», унифицировать стандарты и подходы, обеспечить безопасность и стабильно улучшать ИТ внутри компании. Но создание единой платформы — результат эволюционного пути развития, и часто этот путь занимает десятки лет.
Читать дальше →
Total votes 13: ↑16 and ↓-3+19
Comments2

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views36K

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

Читать далее
Total votes 89: ↑89 and ↓0+89
Comments50

На какие AI Coding Assistants стоит обратить внимание в 2024?

Reading time8 min
Views8K

Не является секретом, что LLM в настоящее время являются неотъемлемой частью нашего рабочего процесса. Особое внимание заслуживает AI Coding Assistant — искусственный интеллект, или просто программный помощник, который поддерживает разработчиков, помогая писать более качественный и точный код, тем самым экономя время и ресурсы.

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

Но прежде чем мы погрузимся в детали этих инструментов, давайте ответим на вопрос: "Что такое эти помощники?".

Приятного прочтения(:

Читать далее
Total votes 18: ↑19 and ↓-1+20
Comments10

Клеточная архитектура

Level of difficultyEasy
Reading time5 min
Views6.2K

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

Основная цель такого разделения — минимизация радиуса поражения при возникновении сбоев и упрощение масштабирования системы.

Читать далее
Total votes 11: ↑9.5 and ↓1.5+8
Comments31

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих

Level of difficultyEasy
Reading time6 min
Views9.9K

На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments5

Как я снизил время инкрементальных сборок Rust на 40%

Level of difficultyMedium
Reading time9 min
Views3.1K

Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование раскрытия процедурных макросов — привела к снижению времени инкрементальных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE IntelliSense).

Если вы специалист в повышении производительности компилятора Rust, то можете сразу перейти к разделу «Кэширование раскрытия макросов: ускорение инкрементальных сборок Rust на 40%».

Читать далее
Total votes 16: ↑18.5 and ↓-2.5+21
Comments5

Истории о вреде локальной оптимизации

Level of difficultyEasy
Reading time10 min
Views11K

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

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

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

Бороться с локальной оптимизацией
Total votes 67: ↑72 and ↓-5+77
Comments39

Полный гайд о стиле для IT-специалистов: как выглядеть актуально и чувствовать себя комфортно

Level of difficultyEasy
Reading time7 min
Views39K

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

Читать далее
Total votes 183: ↑88 and ↓95-7
Comments353

Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений

Level of difficultyMedium
Reading time7 min
Views629

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

В этой статье мы настроим централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и настроим доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG), который будет использовать сессию аутентификации OpenAM. В качестве защищаемого приложения будем использовать приложение, разработанное с использованием Spring Boot и Spring Security.

Читать далее
Total votes 1: ↑2 and ↓-1+3
Comments0

Использовать LLM в оффлайне — LocalAI, Ollama, Flowise

Level of difficultyEasy
Reading time5 min
Views4.6K

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

В этой статье о том, как без написания кода поставить себе локально и использовать LLM без подключения к сети. Для меня это удобный способ использования в самолёте или in the middle of nowhere. Заранее выгрузив себе нужные файлы, можно делать анализ бесед саппорта с клиентами, или получить саммарайз отзывов из стора на приложение, или оценить резюме/тестовое задание кандидата...

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments5

Вы должны перестать вручную писать Dockerfile'ы

Level of difficultyMedium
Reading time3 min
Views51K

Вы тоже устали вручную заполнять Dockerfile и docker-compose.yaml под каждый новый проект?

Я всегда задумывался, применяю ли я известные best practices, когда пишу конфиг для Docker, и не занесу ли я случайно какие-нибудь уязвимости, вручную заполняя конфиг-файлы.

Что же, теперь мне больше не придется беспокоиться об этом, благодаря добрым людям из Docker, которые недавно реализовали инструмент для этого - docker init .

Интересно, как экономить время и быстро генерировать конфиги, даже если вы не профи в Docker? Прошу под кат.

Читать далее
Total votes 74: ↑75 and ↓-1+76
Comments66

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Level of difficultyMedium
Reading time15 min
Views6.5K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Total votes 19: ↑22 and ↓-3+25
Comments13

Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила

Reading time8 min
Views32K

Четыре года назад ИТ-эксперт Чип Хуэн* проанализировала экосистему ML с открытым исходным кодом. С тех пор многое изменилось, и она вернулась к изучению темы, на этот раз сосредоточившись исключительно на стеке вокруг базовых моделей.

О результатах исследования читайте под катом.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments8

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views25K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Total votes 108: ↑119 and ↓-11+130
Comments160

Ивент шторминг (Event Storming) при работе над игровыми проектами

Reading time4 min
Views1.7K

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

На моей практике Event Storming успешно использовался в проектировании игр, именно об этом я расскажу в данной статье.

Читать далее
Total votes 7: ↑8 and ↓-1+9
Comments1

Google пытается оптимизировать формат JPEG, увеличив компрессию на 35%. Что это за технология?

Reading time4 min
Views14K

Формат изображений JPEG появился ещё в конце прошлого века, причём актуальность он не теряет, а, наоборот, набирает. Казалось бы, что можно изменить в технологии, которой столько лет? В Google посчитали, что сейчас самое время для оптимизации формата, а именно повышения эффективности компрессии. Что предложили в Google и как работает новая технология?

Читать далее
Total votes 20: ↑25.5 and ↓-5.5+31
Comments47
1
23 ...

Information

Rating
1,680-th
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Registered
Activity