Pull to refresh
3
0
Егор @Ommonick

SDET teamlead

Send message

С MVP покончено. Вам нужно думать о MVE

Level of difficultyMedium
Reading time6 min
Views53K

Подсказка: V – не значит «жизнеспособный», V – значит «ценный»

Большинство стартапов начинаются с момента озарения.

Основатель вдруг ясно видит проблему без очевидного решения. "Как мне это решить?" — думает он.

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

Читать далее

Продуктовый подход на минималках

Level of difficultyMedium
Reading time9 min
Views2.1K

Всем добрый день!

Меня зовут Иван Хахарев и я работаю ведущим системным аналитиком в команде WEB Campaign, это внутренняя разработка Спортмастера для формирования маркетинговых логических цепочек. Я в команде уже полгода, и на момент моего прихода ребята уже почти год двигались к веб-версии. В команде на текущий момент семь человек, трое из которых — разработчики. 

Прежде чем мы поговорим про новую команду, хочу рассказать небольшую предысторию. Ранее, я почти пять лет, я работал в другом продукте, в рамках которого мы прошли полный процесс трансформации этап перехода на  по методологии по Agile и DevOps. Ниже представлены все  список мероприятий, которые мы смогли внедрить за два с половиной года. (слайд 2.24) 

Читать далее

«Тёмная звезда»: как сверхдешёвый студенческий фильм навсегда изменил научную фантастику

Reading time6 min
Views64K

В начале 70-х молодые кинематографисты Джон Карпентер и Дэн О'Бэннон создали в качестве дипломного проекта историю о космическом корабле… не подозревая, что она повлияет на «Чужого» и множество других работ.

«Тёмная звезда» (Dark Star) — это снятый за 60 тысяч долларов студентами киношколы фильм, сегодня считающийся культовой классикой научной фантастики; он стал режиссёрским дебютом маэстро хоррора Джона Карпентера. Этой ленте недавно исполнилось пятьдесят лет; она равно далека от того, что снималось и до, и после неё — это не космическая одиссея и не космическая опера, а, скорее, холодная, мрачная и часто абсурдная картина о людях, оказавшихся вместе на неисправной межзвёздной консервной банке. Вероятно, самой известной её сценой оказалась экзистенциальная дискуссия между астронавтом и наделённой разумом бомбой.
Читать дальше →

Декомпозиция — ваша суперсила

Level of difficultyMedium
Reading time7 min
Views13K

Можно долго изучать Angular, оттачивая навыки работы с разными аспектами фреймворка, разбирая паттерны и лучшие практики. Но в конце концов, когда вы станете мастером своего дела, всегда останется умение, которое можно улучшать бесконечно: способность декомпозировать сложные задачи на удобоваримые куски. Это одно из самых важных качеств хорошего архитектора. Если вы чувствуете уверенность в своих знаниях сеньора, я советую вам направить усилия в этом направлении для дальнейшего роста.

В статье выберем сложную задачу и разберемся, как подойти к ней учитывая будущую поддержку и расширение возможностей. Я разрабатываю библиотеку компонентов Taiga UI много лет и успел отхватить свою долю ошибок, инсайтов и полезного опыта. Я думаю, хорошим примером для изучения могут послужить выпадашки: всплывающие элементы, такие как дропдауны или подсказки.

Читать далее

То, что мертво, умереть не может. Battletech

Level of difficultyEasy
Reading time9 min
Views11K


Что это? Сражения ОГРОМНЫХ БОЕВЫХ ЧЕЛОВЕКОПОДОБНЫХ РОБОТОВ, скажете вы и будете не правы. Эта игра решила объять необъятное и включила в себя вообще все, что может ходить, ездить, летать, плавать и, главное, стрелять. Ну и да, обчр там тоже есть.
Читать дальше →

Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka

Level of difficultyEasy
Reading time11 min
Views9.2K

Всем привет. Решил поделиться опытом тестирования логики консьюмеров и продюсеров в стандартном Spring Boot приложении. Я несколько раз подходил к этой задаче с различными вариантами и находил разные подводные камни, которые стимулировали меня искать дальше - более лучшее решение. И вот, в очередной раз прошерстив накопленный опыт человечества (stackoverflow), я реализовал очередной вариант, в котором пока не нашел минусов предыдущих реализаций. В любом случае, поделюсь с вами как я к этому пришел и почему для моих кейсов не сработали другие варианты (или показались хуже последнего).

Дисклеймер. Я сторонник интеграционных тестов при запуске сборки проекта с тестами. То есть это когда для unit-тестов поднимается контекст Spring со всеми плюсами (окружение, максимально похожее на боевое) и минусами (это ДОЛГО запускается и ДОЛГО описывается).

Часть 1. А разве это проблема вообще?

Коротко: ...

Читать далее

Знания как код: архитектурный репозиторий в git на базе PlantUML

Level of difficultyHard
Reading time10 min
Views12K

Привет, Хабр! Меня зовут Максим Приходский, я архитектор R-Style Softlab и сегодня хочу рассказать вам о проекте создания архитектурного репозитория в git на базе PlantUML.

Читать далее

Как устроен рекомендательный сервис, который выдерживает 700 тысяч запросов в секунду. Доклад Яндекса

Reading time11 min
Views19K

«Баннерная крутилка» —  один из самых высоконагруженных сервисов в Яндексе. Он умеет переживать 700 тысяч RPS, а иногда и больше. Каждый раз, когда приходит запрос, крутилка должна просмотреть базу из миллиарда документов и выбрать из них самые релевантные для пользователя. При этом выдерживаются весьма жесткие временные рамки: 99% всех запросов обрабатываются менее чем за 200 миллисекунд.

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

Читать далее

Основы безопасности в Kubernetes

Level of difficultyMedium
Reading time15 min
Views5.9K

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

Мы сосредоточимся на двух ключевых элементах безопасности в Kubernetes: Role-Based Access Control (RBAC) и Pod Security Admission. Эти механизмы играют важную роль не только в обеспечении безопасности приложений и данных в кластере, но и в управлении доступом и сетевыми взаимодействиями.

Элементы безопасности, такие как RBAC и Pod Security Admission, играют ключевую роль в обеспечении стабильности и эффективности работы приложений в Kubernetes, особенно при обработке больших объёмов данных и высокой нагрузке. Например, в ситуации с масштабируемым веб-приложением, которое управляет значительными объёмами пользовательских данных и транзакций, настройка этих механизмов может существенно улучшить управление доступом и сетевую безопасность. Это, в свою очередь, помогает предотвратить потенциальные угрозы и атаки, что критически важно для поддержания производительности и доступности данных. Таким образом, эффективно настроенные компоненты безопасности обеспечивают надёжный доступ к данным и минимизируют риски, связанные с увеличением нагрузки на приложение, улучшая общий пользовательский опыт.

Теперь давайте рассмотрим каждый из этих элементов более подробно.

Читать далее

Реализуем touch жесты на vanilla js. Часть 2 (drag, resize)

Level of difficultyMedium
Reading time6 min
Views2K

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

Читать далее

Цифровизация аудитов и наблюдений систем менеджмента качества. Собираем требования

Level of difficultyEasy
Reading time12 min
Views960

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

Читать далее

Protobuf и buf: блеск, нищета и импортозамещение

Reading time11 min
Views12K

Если для компиляции proto-файлов вы всё ещё используете protoc, самое время перестать и перейти на buf. Разберём, как это сделать и почему это необходимо. Также рассмотрим проблемы доступа к buf.build.

Меня зовут Эдгар Сипки, я Go-разработчик в Ozon Fintech. buf — мощная утилита для линтинга протофайлов, проверки обратной совместимости API, генерации кода и валидации запросов. Однако, из-за санкций она недоступна в России. Поэтому я расскажу, как мы разрабатывали собственное решение в рамках импортозамещения.

Читать далее

Generic Concurrency в Go

Level of difficultyMedium
Reading time22 min
Views5.3K

Привет, гоферы!

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

Читать далее

От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только

Reading time3 min
Views2.8K

Бывает, перед инженерами встает выбор: использовать существующее open source-решение задачи или написать свое. И часто, изучив все возможные опции, разработчики предпочитают второй вариант.

Большинство докладов в нашей подборке — инструкции по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали в собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях.

Зайти в Go-портал

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

Level of difficultyEasy
Reading time16 min
Views20K

Сохранение еды в путешествии – важный фактор комфорта. А охлаждение напитков в жаркий летний день – по-настоящему, бесценно. Раньше это было проблемой. Чего только не придумывали: охлаждали еду и воду, опустив в садке в реку, обматывали мокрыми тряпками, и даже выкапывали погреб в каждом месте стоянки. Всё это, конечно, лучше, чем хранение еды на жаре. Но очень неудобно и неэффективно.

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

К обзору!

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views22K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →

«Коллеги, пришлите сроки!» — повторял джун-аналитик в течение месяца…

Level of difficultyEasy
Reading time3 min
Views86K

"Коллеги, пришлите сроки!" - повторял джун-аналитик в течение месяца...

Ситуация: 3 месяца назад, я, начинающий системный аналитик, пришла в монстрически крупную компанию. С первого дня меня кинули в рабочие задачи: напиши письма, протоколы, уточни сроки, откорректируй JSON-ку, попробуй написать требования... Задачи довольно простые, НО я понятия не имела, почему некоторые коллеги из смежных систем отвечают на мои письма за 1 день, в то время как другие просто игнорируют письма неделями.

Читать далее

Установка Arch Linux кратко и (почти) без боли

Level of difficultyMedium
Reading time9 min
Views97K

Итак, одним прекрасным утром вы проснулись и решили, что вам нужно попробовать Arch. Вам нравиться всё настраивать под себя, избавляясь от лишнего мусора и вообще вы хотите досконально разобраться в Linux. Но главной проблемой подобных дистрибутивов является то, что нужно уметь с ними работать. Хотя-бы установить. И если изучение самого Arch ложиться сугубо на плечи читателя, то с установкой мы сейчас и разберёмся.

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

5 способов писать эффективный код на Go: от названий переменных до архитектуры

Level of difficultyEasy
Reading time8 min
Views13K

Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разработки в команде Go-программистов: они расскажут, как называть переменные, составлять документацию и продумывать архитектуру так, чтобы специалистам в команде и смежных отделах было легко работать с написанным кодом. 

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

Читать далее

Всё ещё храните музыку в формате Hi-Res? Тогда мы идем к вам

Level of difficultyEasy
Reading time4 min
Views83K

Люди делятся на 2 лагеря: те, кто слышит разницу между lossless и lossy, и те, кто нет. Формат аудио с потерей качества — это интересная тема, но сегодня мы поговорим о звуке в высоком разрешении — это PCM 24/96 и выше, а также DSD во всех его проявлениях. Я не буду рассказывать теорию, чем отличаются эти форматы, такие статьи легко гуглятся. Лишь вскользь упомяну о теореме Котельникова (Найквиста — Шеннона), которая гласит следующее: «Для того, чтобы оцифровать аналоговый сигнал, а потом его БЕЗ ПОТЕРЬ восстановить, необходимо и ДОСТАТОЧНО, чтобы частота дискретизации была в 2 раза СТРОГО больше максимальной частоты полезного сигнала».

Читать далее

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Quality Assurance Analyst
Lead