Pull to refresh
43
0
Виталий @Tonatos

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

Send message

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

Reading time9 min
Views11K

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

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

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

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

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

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

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

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

Reading time9 min
Views16K

Всем привет! Меня зовут Денис Ежов, я тимлид команды интернет-магазина Спортмастер (далее ИМСМ) и по совместительству бэкенд-разработчик. Так сложилось (и так говорят), что гексагональная структура и DDD — это дорого и сложно. Но так ли это на самом деле? Мы в ИМСМ внедрили гексагональную архитектуру и DDD именно в том количестве, в котором эти подходы решали наши проблемы. Про то, какие у нас были проблемы и как мы их решали, я расскажу в этом посте. Под катом — про назначение бэкенда ИМСМ, история развития бэкенда ИМСМ и его проблемы. А ещё посмотрим, как мы в новой архитектуре постарались решить проблемы бэкенда, покажем примеры кода, а также то, как код ложится на архитектуру. 

Читать далее
Total votes 19: ↑16 and ↓3+15
Comments3

Ревью кода в распределенной команде

Reading time12 min
Views41K


Здесь описаны мои исследования, как сделать ревизию кода в команде более приятным занятием, которое может дать новый опыт всем участникам. У нас полностью географически распределённая команда, все коммуникации выполняются через интернет, и зачастую асинхронно. Мы используем Trello для описания возможностей продуктов, поодиночке создаём код, отправляем в GitHub пулл-реквесты, а также пользуемся встроенной в GitHub функцией их ревью. Это отличается от просмотра кода лицом к лицу в офисе и даже по видеочату.

Если не подходить к делу всерьёз, то асинхронная и письменная ревизия кода может стать причиной катастрофы в команде, приведя к ухудшению взаимодействия и сотрудничества. Но если все участники будут стараться делать всё хорошо, то такой подход может работать очень эффективно.
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments61

9 нелепых способов открыть .sketch-файл. И один ничего такой

Reading time2 min
Views104K
Итак: требуется открыть .sketch-файл, созданный программой Sketch. Той самой, которая есть только на Mac’ах.

А Mac’a нет. Есть только Windows и этот дурацкий .sketch-файл, который кто-то прислал. И у этого кого-то Mac есть. А у тебя нет. Только Windows.
Читать дальше →
Total votes 134: ↑105 and ↓29+76
Comments77

JavaScript-тренды, на которые стоит обратить внимание в 2017-м

Reading time7 min
Views74K
image

Я решил написать этот материал после того, как увидел твит Дэна Абрамова, за который хочу сказать ему огромное спасибо. Дэн задал своим подписчикам вопрос о самых интересных событиях в мире JavaScript, которые достойны внимания широкой общественности.


Любители JS на вопрос откликнулись, под твитом собралась целая гора ответов. Каждый говорил о том, на что, по его мнению, стоит обратить внимание в 2017-м году. В результате получилась весьма занимательная подборка, из которой я выбрал всё лучшее и добавил пояснения.
Total votes 82: ↑77 and ↓5+72
Comments86

Поднимаем сложный проект на Django с использованием Docker

Reading time10 min
Views74K
Добрый день, коллеги.

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

Исходные данные у нас такие: начинается разработка проекта, в которой планируется «тонкий бэкенд». Т.е. бэк у нас состоит из закешированных страниц (рендерятся любым шаблонизатором), объёмных моделей с сопутствующей логикой (ORM) и REST API, выполняющего роль контроллера. Фактически, View в такой системе редуцировано и вынесено в JS, благо есть разные реакты, ангуляры и прочие вещи, которые позволяют фронтендщикам считать себя «белыми людьми».
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments49

MySQL шпаргалки

Reading time3 min
Views821K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

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

Читать дальше →
Total votes 215: ↑193 and ↓22+171
Comments230

UX-стратегия на практике. Часть 3 — Платформенное мышление

Reading time23 min
Views16K
UX-стратегия на практике. Часть 3 — Платформенное мышление

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

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

В этой статье я расскажу о том, как перестать мыслить документацией и перейти к платформенному мышлению. Дизайнерам нужно воспринимать свою работу не как временный проект по запуску нового дизайна или конкретной функциональности, а как вывод на рынок и развитие целостной платформы. Тогда продукт будет расти системно, а UX-стратегия компании заработает на всех уровнях — оперативном, тактическом и стратегическом.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments0

UX-стратегия на практике. Часть 2 — Продуктовый дизайнер

Reading time28 min
Views21K
UX-стратегия на практике. Часть 2 — Продуктовый дизайнер

В первой части статьи о UX-стратегии я говорил о зрелом подходе к дизайну в современном мире. И предложил три уровня его развития. На каждом из этих уровней свои вызовы, проблемы, задачи и ограничения. И этот набор меняется по мере того, как организация становится все более зрелой. Нам нужны сильные UX-лидеры с четким видением изменений и внутренней силой для их осуществления, чтобы дизайн-культура компании росла и не разбилась о множество ограничений реального мира. Но без сильной и умной дизайн-команды ничего не выйдет — одного лидера недостаточно.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments2

UX-стратегия на практике. Часть 1 — Фреймворк

Reading time14 min
Views31K
В идеале дизайном нужно заниматься системно с запуска первых продуктов компании. Но так получается далеко не всегда по самым разным причинам — важно запуститься как можно раньше, не было денег на старте, требовался максимально быстрый рост, концепция постоянно менялась в поиске работающей бизнес-модели и т.п. Вспомните первые Windows, Android до версии 4.0 и уйму других продуктов. Почему так происходит?

Стратеги

Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments9

Унификация дизайна: Фреймворк Mail.Ru Group для мобильного веба

Reading time17 min
Views20K
У компаний с большим портфелем продуктов со временем встает вопрос упрощения работы над ними. В Mail.Ru Group их около 40, не считая мобильных и планшетных версий, а также огромного игрового направления. Наше подразделение Почты и Портала занимается почти половиной из этих сорока. Что вместе с сопроводительными приложениями, мобильными сайтами и промо-ресурсами — за сотню проектов. Сейчас мы ведем их поэтапное обновление и унификацию вокруг нескольких гайдлайнов. На примере одного из них я расскажу о том, как перестроить дизайн-процесс от классического «прототип → макет → верстка → код» для каждого экрана к более эффективному и современному, основанному на фреймворках.

Унификация дизайна: Фреймворк Mail.Ru Group для мобильного веба
Читать дальше →
Total votes 61: ↑50 and ↓11+39
Comments14

Унификация через «бургерный дизайн»: Фреймворк Mail.Ru Group для контент-проектов

Reading time25 min
Views20K
В первой части рассказа об унификации продуктовой линейки Mail.Ru Group я описал наш первый подход к снаряду — решение для мобильного веба. Помимо создания единого стиля и принципов работы интерфейса для дюжины сервисов, мы смогли перестроить дизайн-процесс от классического «прототип → макет → верстка → код» для каждого экрана к более эффективному и современному, основанному на фреймворках. Во второй части я расскажу о переводе на эту же технологию более сложных и масштабных больших версий сайтов — как наш «Bootstrap на стероидах» стал еще мощнее.

Продукты на новой дизайнерско-технологической платформе
Афиша, Авто, Здоровье, Гороскопы, ТВ, Недвижимость, Леди, Hi-Tech, Погода


Весной 2012 года в наше подразделение Почты и портала передали 11 контент-проектов — Авто, Афиша, Гороскопы, Дети, Здоровье, Леди, Мото, Новости, Погода, Спорт, ТВ. Многие из них — лидеры в своей нише в Рунете. Но история создания и развития у каждого была своя, так что дизайн делался по-своему, зачастую на аутсорсе, без систематизации и выработки общих подходов и решений.

Для нашей команды приведение их внешнего вида и логики работы в порядок стало одной из основных задач. А позднее — и необходимость унифицировать подход к дизайну. Простое и понятное решение — интерфейсно-визуальные гайдлайны для всей линейки продуктов. Они должны сделать работу пользователя понятной и предсказуемой — ему легко перейти с одного сайта на другой и не разбираться в новых паттернах взаимодействия. Это также усиливает бренд. И как приятный бонус — облегчает продуктовой команде развитие и поддержку сервисов.
Читать дальше →
Total votes 50: ↑41 and ↓9+32
Comments13

Новый выделенный сервер: приемка и проверка

Reading time10 min
Views41K
Новый сервер: приемка и проверка

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

В этой статье мы расскажем о том, как можно получить спецификацию Linux-сервера в командной строке.
Читать дальше →
Total votes 85: ↑73 and ↓12+61
Comments36

Подборка: Более 800 ресурсов для front-end-разработчиков

Reading time24 min
Views107K
Мы продолжаем публиковать подборки полезных инструментов. Ниже представлена подборка из более 800 сервисов, книг, статей, видеотуториалов и других материалов, которые будут полезны всем, кто занимается фронтенд-разработкой.

Читать дальше →
Total votes 59: ↑35 and ↓24+11
Comments10

Создаём отзывчивые письма для будущего без медиа-запросов

Reading time26 min
Views34K
Создавая HTML код для email, приходится иметь дело с изрядным количеством больных вопросов. И вряд ли для кого то будет приемлемо, если нам к тому же ещё и придётся следить за новыми email-клиентами и размерами устройств, которые появляются каждую неделю. Поддержка media query как и сам CSS разнятся среди приложений, в следствии этого, каждый раз когда вы слышите что появилось новое восхитительное почтовое приложение, для которого тоже нужно провести тесты, вас неизбежно одолевает страх.

Но что если бы вы могли создать шаблон, который был бы отзывчивым даже в окружениях с наименьшей поддержкой современного CSS? Что если каждый раз, услышав о каком-то очередном почтовом приложении, которое все испытывают, вместо того чтобы предаваться страху, можно было бы чувствовать себя спокойно и уверенно, зная что ваши email наверняка будут выглядеть хорошо?

Приведенный ниже метод, сторонником которого я являюсь, всецело ориентирован на создание положительного опыта взаимодействия при работе с email-клиентами, у которых вообще отсутствует поддержка media query.

Он называется fluid-hybrid method, иногда упоминается как spongy метод для email разработок. Часть fluid предполагает что мы используем изрядной количество процентных вычислений. Часть hybrid означает что мы также используем max-width дабы ограничить некоторые из наших элементов на экранах большего размера.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments7

7 правил создания красивых интерфейсов

Reading time8 min
Views181K


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Именно поэтому мы решили её перевести. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

Вступление


Сначала о главном. Это руководство не для всех. Это руководство прежде всего для:
  • разработчиков, которые хотят уметь делать хорошие интерфейсы для себя, если вдруг прижмёт;
  • UX-дизайнеров, которые знают, что хороший UX-дизайн продаётся лучше в красивой UI-упаковке.

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

А пока давайте я расскажу, что вы найдёте в этой статье.

Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments34

Приятная сборка frontend проекта

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

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

UPD (13 марта 2015): Заменил несколько плагинов на более актуальные + решил проблему с импортом CSS файлов внутрь SCSS

Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments119

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

Социальные сети и формирование групп

Reading time9 min
Views4.2K
Примечание: ниже расположен перевод академического исследования «Social Networks And Group Formation», рассматривающего некоторые аспекты выделения групп и формирования связей в социальных сетях.

«Принцип рычага» в действии



Пользователи страдают от избытка информации: по любому вопросу сейчас доступно гораздо больше сведений, чем человек способен воспринять. Как результат, люди опираются на знания других людей. Среди типичных вопросов «как?», «что?» и «почему?» ключевым является вопрос «кто?» (и, соответственно, ответ на него). Это влечет за собой необходимость знакомства и поддержания контакта с людьми, которые может помочь в каждом конкретном случае.

В контексте заявленной проблемы важным становится также понимание образования, развития и использования социальных сетей в интернете. Социальная сеть — это «группа людей (или организаций, или других социальных единиц), связи в которой являются социальными, а именно: дружбой, совместной работой или обменом информации» (Garton и др., 1997). Хотя интернет и является основным источником избыточной информации, он также позволяет пользователю эффективно управлять своими социальными сетями и таким образом получать ту информацию, которая ему необходима.

Эта область знаний находится на пересечении таких наук, как информатика, социология и математика. Ее исследователи изучают использование социальных сетей в общественных и деловых целях при помощи информационных и коммуникационных технологий (information communication technologies (ICTs)), в том числе, интернета. В этот статье рассматривается, как социальные сети, используя преимущества таких технологий — особенно, интернет-технологий, — создаются, развиваются и приносят пользу.

Социальные сети в интернете являются обширным полем для исследовательской деятельности, и любой научный обзор будет так или иначе базироваться на наборе академических публикаций. Данная статья концентрируется на последних исследованиях в области центра сети (centrality), силы силе связей, индивидуальности, доверии, активности и преимуществах. Без сомнения, статья несколько сложна для понимания, но призвана донести до разработчиков несколько полезных идей по реализации веб-приложений, активно использующих социальные сети.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments23

Поиск сотрудников с бложьей помощью — 2

Reading time4 min
Views840
Продолжение изысканий на тему «На что надеяться в интернете «маленькому работодателю», без денег и связей». Читать с начала



2. Социальные сети

Десяток виртуальных друзей и сотни друзей ваших друзей — более благодатная почва для вербовки будущих коллег. Работные сайты пытаются социализироваться, но пока безуспешно. «Хедхантер» открыл паутину профзнакомств Webby.ru и коллективный блог Live.hh.ru, но эйчары и менеджеры о них молчат. Все-таки не «хедхантеры», рассуждающие в категориях кадрового брендинга и репутационных рисков, делают сейчас знаковые соцсети, а физики-математики, создавшие «Мойкруг» или энтузиасты гражданской журналистики, которые придумали сами знаете что.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity