Search
Write a publication
Pull to refresh
126
0
Алексей @Sterhel

User

Send message

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Как дела с кодом?

Reading time5 min
Views8.6K

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

Как я уже писал, мы взяли из DDD тактические шаблоны.

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

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

Для этого используются уникальные идентификаторы.

Сущность в коде нашего проекта должна иметь:

Читать далее

Что и как делать с поливом на умной даче?

Reading time5 min
Views13K

Покупая дачу, мы отнюдь не планировали проводить на ней все теплые месяцы. К теплому морю хочется всегда, а летом особенно. И отказывать себе в этом удовольствии мы не намерены. Правда, наши желания сильно ограничены возможностями. А именно – необходимостью поливать сад, потому что за пару недель без дождей все засохнет... даже в Подмосковье. Поэтому уже в первый дачный сезон я озаботился меня озадачили строительством системы, которая позволила бы эту проблему решить.

Читать далее

Look-a-like. Как это работает на стороне площадки и чем полезно бизнесу

Reading time8 min
Views7.5K

Фразе Гиппократа «Ты — то, что ты ешь» уже более тысячи лет. И в 21 веке очевидно, что она относится не только к еде, но и к потребляемому контенту. Это давно доказано различными исследованиями и активно используется бизнесом: анализ историй посещённых веб-сайтов позволяет извлечь как базовые знания о человеке (пол, возраст, уровень зарплаты и т.д.), так и более специфичные вещи, например, интересы человека или факт наличия определённой вещи, будь то кроссовки фирмы Nike или дорогого автомобиля. 

В этой статье мы расскажем, как корпорации используют ваши истории браузеров для объединения людей по интересам, причём здесь таргетированная реклама и как эту задачу решают разработчики компании Amberdata. Если более конкретно — поговорим с вами о задаче Look-A-Like.

Читать далее

Прокачаться в 2023 — подборка материалов по киберугрозам и защите данных

Reading time5 min
Views18K
image

Подготовили компактную подборку книг для специалистов по кибербезопасности. Их рекомендуют к прочтению резиденты новостного веб-агрегатора Hacker News, крупные исследовательские институты, а также издательства MIT и Harvard Business Review. В список попали как исчерпывающие настольные справочники для развития hard skills, так и легкие материалы для погружения в историю предмета.

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

Интернет-цензура и обход блокировок: не время расслабляться

Reading time10 min
Views178K

Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views230K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее

Прокси хранилища 1С (IIS, OneScript)

Reading time17 min
Views5.4K

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

Для чего, зачем и почему

Во всех командах разработки рано или поздно возникает потребность привязки изменений кода к номерам задач. В итоге команды приходят к решению в виде комментариев в хранилище 1С. Но часто ли разработчики соблюдают это правило? Также может срабатывать человеческий фактор: можно ошибиться буквой, цифрой, задачей, ее статусом, исполнителем, системой, местом работы. Приходится перевыкладывать хранилище через gitsync, переделывать связи, тратить лишнее время и силы.

А ещё хочется в работу добавить эстетики. Например, при подключении к хранилищу через HTTP — почему бы не убрать уродливые *.1ccr и не сделать красивый адрес хранилища?

При подключении через tcp на разных версиях 1С надоело угадывать, на каком порту какая версия находится.

Плюс есть, например, у меня потребность начать синхронизацию с git-репозиторием по факту помещения очередной версии в хранилище. Прилепим вызов синхронизации? Запросто!

Появилась еще одна возможность встроиться в механизм транспорта между конфигуратором и хранилищем 1С, а по пути проверять комментарии, вызывать сторонние сервисы и делать прочие полезности. И все это на знакомом нам, одинэсникам, языке программирования и веб-сервере.

Читать далее

Учёба — это запоминание

Reading time4 min
Views7.2K

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

Начинаем читать страницу Википедии о квантовой механике

Столкнувшись с непонятной нам концепцией, (назовём её Концепцией 1):Переходим на страницу Википедии о Концепции 1Читаем о Концепции 1, пока мы не поймём её. Затем возвращаемся к статье о квантовой механике и продолжаем с того места, на котором закончили

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

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

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

Вся информация есть в Википедии, так почему же такое изучение не работает?

Читать далее

Как я засунул Stable Diffusion в IPhone

Reading time7 min
Views7K

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

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

В последний раз такое происходило с глубокими нейронными сетями, а до этого — с 3D-графикой. Наверно, сейчас настал третий раз. На самом деле, я настолько в этом уверен, что создал приложение, чтобы подтвердить свою точку зрения.
Читать дальше →

Сравнили 80-ядерный ARM-процессор Ampere Altra с AMD EPYC и довольны результатом. Протестируйте и вы

Reading time8 min
Views23K

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

На этот раз к нам попал сервер GIGABYTE E252-P30 с 80-ядерным процессором от Ampere Altra Q80-30. Этот ARM-процессор уже отметился характеристиками: процессоры с таким числом ядер с частотой 3.0 ГГц при TDP в 210 Вт не предлагает ни один «звездный» вендор.

Прогнали этот сервер через ряд тестов и сравнили с наиболее близким по характеристикам AMD EPYC 7513. Под катом — результаты бенчмарков и предложение протестировать процессор бесплатно.
Читать дальше →

Scratch — это уже не игрушки

Reading time4 min
Views51K
Незаметно для нас Scratch из языка программирования для детей превратился в огромное онлайн-сообщество самоучек-программистов. За время пандемии количество пользователей этого языка удвоилось, и он начинает обгонять в рейтингах популярности «реальные» языки программирования (наподобие Typescript и Rust).

Scratch — это уже не игрушки.

Скорее всего, вы знаете, что Scratch — это язык программирования для детей, в котором используются визуальные блоки:


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

Автоматизируем рутину при создании рекламных digital-размещений

Reading time3 min
Views937

Привет! В сейлз-хаусе ЭВЕРЕСТ мы создали личный кабинет, который автоматизирует все процессы от расчётов до получения отчётов по рекламным кампаниям.

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

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

Читать далее

Как выбрать NewSQL-СУБД для вашей компании

Reading time7 min
Views8.1K

Привет! Меня зовут Пётр, я менеджер по отказоустойчивости в QIWI. В этом посте мы поговорим про выбор новых классов продуктов. Как-то раз мы с одним разработчиком из другой компании стали обсуждать, почему бы не выбрать для работы какую-то распределенную СУБД, поддерживающую SQL? Из этой дискуссии родился мой доклад для нашей QIWI Server Party. Представляю вам его текстовую версию.

Читать далее

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Пробуем новое

Reading time9 min
Views13K

Привет! Продолжим тему гексагональной архитектуры и DDD, первый пост — здесь

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

Гексагональная архитектура

Одна из самых исчерпывающих статей по гексагональной архитектуре подробно и с примерами раскрывает назначение этой архитектуры. 

Я приведу основные мысли.

Гексагональная архитектура имеет три фундаментальных блока:

Читать далее

YAMAL DEV CONF — как это было

Reading time3 min
Views1K

Привет! Хотим поделиться с вами тем, как прошла в начале ноября наша северная YAMAL CONF. Это уже вторая конференция, которую мы собираем, чтобы развивать IT-комьюнити на Севере и делиться знаниями.

В этот раз мы немного увеличили масштаб по сравнению с 2021 годом и сделали два насыщенных дня — 5 ноября у нас было 7 докладов и 3 воркшопа, а 6 ноября — 6 докладов и тоже 3 воркшопа. Собственно, под катом — немного наших личных впечатлений и планов, фотки, полезные для сообщества ссылки и YouTube-плейлист со всеми 13 докладами.

Читать далее

Клубничная чудо-коробка 2.0 всё

Reading time12 min
Views56K

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

Читать далее

Как и для чего мы в Спортмастере омниканальность развиваем

Reading time6 min
Views4.5K

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

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

Читать далее

Как задавать вопросы осмысленно, чтобы получить нужную информацию

Reading time9 min
Views18K

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

Как этому научиться самому и научить других расскажет Валентина Уржумова, менеджер проектов, бизнес-аналитик, руководитель продукта «B2B-платформа Formix».

Читать далее

Ускоряем тестирование: быстро, модно, без рутины

Reading time8 min
Views14K

Привет! Меня зовут Александр Пронин, я занимаюсь тестированием более пяти лет, последние полгода из которых — в QIWI, проект ContactPay. Мы делаем платежную систему для международного рынка, она состоит из микросервисов, которые написаны на Python и живут в Google Cloud. Проект существует на рынке более двух лет, на данный момент среди наших клиентов уже есть компании-единороги. 

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

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

Читать далее

Как всё успевать: 10 проверенных принципов борьбы с хаосом задач

Reading time9 min
Views37K

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

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

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity