Pull to refresh
36
5
Send message

Сложная архитектура простых приложений

Level of difficultyMedium
Reading time14 min
Views8K

По мотивам Adidas Running (ex. Runtastic)

Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.

Предыстория

Рынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США не менее 50 миллионов (!) человек (это примерно 15% всего населения) хотя бы раз в неделю выходят на пробежку.

Адидас имеет объем продаж 20–30 млрд долл. в год.

Основной рынок – США, остальные страны – второстепенные рынки.

Посмотреть архитектуру
Total votes 16: ↑14 and ↓2+12
Comments4

Введение в D3

Reading time6 min
Views139K

D3.js (или просто D3) это JavaScript-библиотека для обработки и визуализации данных. Она предоставляет удобные утилиты для обработки и загрузки массивов данных и создания DOM-элементов. Эта заметка описывает работу с основными методами библиотеки, она подойдёт для изучения основ библиотеки и погружения в её логику и возможности.

Для понимания статьи пригодятся знания JS, HTML и CSS.

Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments7

Архитектурные антипаттерны в микросервисах и способы их избежания

Reading time16 min
Views23K

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

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

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

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments14

Эволюционная архитектура – что же это такое

Reading time5 min
Views6.2K
«Архитектура с эволюционным развитием поддерживает управляемые, постепенные и последовательные изменения сразу в нескольких направлениях».

Из книги «Эволюционная архитектура. Поддержка непрерывных изменений»

Были времена, когда вносить любое изменение в программную архитектуру было крайне дорого. Поэтому после того, как архитектура уже определена и построена, её старались не трогать. Но вот наступили времена облачных вычислений – и теперь дороже и рискованнее стало, наоборот, ничего не менять и сохранять стабильность.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

Архетипы программных архитекторов. Часть 2

Level of difficultyEasy
Reading time9 min
Views4.8K

Привет Хабр! Сегодня публикуем вторую часть материала об архетипах программных архитекторов. Если пропустили, то вот первая часть.

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

Виды баз данных. Большой обзор типов СУБД

Reading time21 min
Views71K

Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., но надеюсь, она даст базовое представление о видах СУБД и принципах их работы.

В статье мы рассмотрим следующие типы баз данных:

Читать далее
Total votes 42: ↑40 and ↓2+38
Comments16

Заметки об основах программной архитектуры

Reading time9 min
Views18K
Это вводное руководство для архитекторов программного обеспечения. В настоящее время звание «архитектор» очень популярно во всем мире, но не существует настоящего руководства, как стать архитектором программного обеспечения.

1. Общая концепция архитектуры программного обеспечения
2. Архитектурные стили
3. Технология
4. Софт скиллз (принятие архитектурных решений, методы анализа рисков, навыки подачи материала, отношения с командой менеджеров, ведение переговоров, планирование карьеры архитектора)
5. Принципы проектирования
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments3

Что такое «хорошо» и что такое «плохо» в NiFi. Часть 1

Reading time10 min
Views4.9K

Улучшаем читаемость схем и повышаем производительность

Всем нам (ну хорошо, большинству!) приходится иметь дело с Apache NiFi в качестве ETL-инструмента. У нас он используется для управления потоками данных в платформе ZIIoT (кому интересно, что это за зверь, можно почитать здесь). Apache NiFi — инструмент хороший, местами удобный, позволяет быстро решать задачи, в том числе и достаточно высокой сложности, не формируя для этого отдельную группу разработчиков. Однако, как правило, по ходу проекта условия этих задач меняются несколько раз, и нередко их решением на разных этапах занимаются разные люди в режиме аврала. И вот в результате мы видим НЕЧТО

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments14

Зачем в Hoff Tech архитекторы или как мы строим и описываем ИТ-ландшафт

Level of difficultyMedium
Reading time9 min
Views5.6K

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

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

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments6

«Божественная комедия», или Девять кругов прогнозирования промоспроса в «Магните»

Reading time27 min
Views8.5K

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

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

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

Как мы научились обходиться без налички: краткая история банковских карт

Reading time8 min
Views14K

Банковская карта — вещь такая же привычная, как смартфон: есть у большинства, и ей пользуются ежедневно миллионы людей. Впрочем, именно «карта» постепенно становится пережитком прошлого, уступая место тем же смартфонам в качестве платёжного средства. Но и пластиковыми кредитки были далеко не всегда. А какими были? Вернёмся в 1888-й — к самому началу.

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

Нюансы работы с PostgreSQL в 3 кейсах от DBA

Reading time9 min
Views14K

Иван Чувашов, DBA Okko и Southbridge, поделился жизненными кейсами с PostgreSQL, которые помогут решить ваши проблемы.

Разберем случаи из PostgreSQL: запросы в статусе idle in transaction, выключенные контрольные суммы данных, переполнение int4, убивающие базу временные файлы и загрузку CPU.

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

Конференция архитекторов. Как это было

Reading time5 min
Views14K
Команда архитекторов ЛАНИТ активно проводит у себя тематические встречи, чтобы сотрудники могли прокачивать экспертизу и делиться опытом с коллегами из других компаний.

В этот раз мы замахнулись еще круче и под одной крышей решили собрать более 300 специалистов и экспертов по ИТ-архитектуре на четырехдневную конференцию «(ИТ-) архитектор в ИТ-проектах и организациях».

О том, как это было и что обсуждали, читайте в этой статье.

Total votes 56: ↑55 and ↓1+54
Comments7

Единый репозиторий для управления Enterprise Architecture

Reading time7 min
Views16K
Моя история не для всех. В том смысле, что тема не хайповая. Но тем, кто в теме, надеюсь, будет интересно. Она (история) основана на реальном опыте последних лет. Я расскажу об одном из вариантов — с моей точки зрения, эффективном, — управления сложным архитектурным ландшафтом.

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

CRISP-DM: проверенная методология для Data Scientist-ов

Reading time16 min
Views70K
Постановка задач машинного обучения математически очень проста. Любая задача  классификации, регрессии или кластеризации – это по сути обычная оптимизационная задача с ограничениями. Несмотря на это, существующее многообразие алгоритмов и методов их решения делает профессию аналитика данных одной из наиболее творческих IT-профессий. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, необходимо придерживаться довольно четкой последовательности действий. Эту последовательность действий описывают такие методологии, как CRISP-DM.

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


* Crisp (англ.) — хрустящий картофель, чипсы
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments16

Что можно положить в тег <head>

Reading time14 min
Views30K

Рекомендуемый минимум

Ниже приведены основные элементы для любого веб-документа (веб-сайта/приложения):

meta charset — определяет кодировку веб-сайта, стандартом является utf-8.

meta name="viewport" — настройки viewport, связанные с мобильной отзывчивостью

width=device-width — физическая ширина устройства (отлично подходит для мобильных устройств!)

initial-scale=1 — начальный масштаб, 1 означает отсутствие масштабирования

Элементы

Допустимые элементы <head> включают meta, link, title, style, script, noscript и base.

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

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

ТОП-10 трендов в сфере данных и аналитики 2021. Версия Gartner

Reading time8 min
Views9.2K
Оракул технологического мира Gartner регулярно и охотно делится с обществом своими наблюдениями относительно текущих трендов. Эксперты компании составили подборку из 10 трендов в сфере данных и аналитики, которые стоит учитывать ИТ-лидерам в 2021 году – от искусственного интеллекта до малых данных и применения графовых технологий. 

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

Источник
Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments0

RPA — обезболивающее или серебряная пуля?

Reading time6 min
Views3K

RPA (Robotic Process Automation) сейчас в некотором смысле напоминает старую добрую миниатюру Реввы: “Киииборги. Они заполонили всю планету!”. Про RPA говорят все чаще и чаще, появляются статьи и видео, рассказывающие о небывалом росте этого сегмента и многомиллионных экономиях тех, кто уже внедрил у себя RPA. Не то, чтобы и раньше этого не было, но сейчас стало уж совсем много.

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

Некоторое время назад, столкнувшись с определенными задачами, я выбирал средство для их решения и обратил внимание именно на RPA. Прорвавшись через миллион рекламных статей и восторженных видео от реселлеров, протестировав практически все, что доступно в trial / free версиях, я остановился на Automation Anywhere, который неплохо подходил под требования. Позже, к слову, я обнаружил что в нашей компании существует целый отдел, который занимается автоматизацией с помощью Blue Prism. Обратная, так сказать, сторона крупных корпораций - не всегда знаешь, что у нас уже есть…

Ну да речь не об этом. Не сразу, но через какое-то время я обнаружил, что самая сложная задача в RPA, это вовсе не написание роботов и не процесс их имплементации и сопровождения. Самое сложное - это управление ожиданиями на стороне менеджмента. Понимаете - они не инженеры, они управленцы. Они не понимают и не знают как, а главное почему, многие вещи работают так или иначе. Они читают такие же рекламные статьи и смотрят такие же рекламные видео как я в самом начале - и делают вывод: “Это же то, что нам нужно! Это решит все проблемы!”. И начинают интенсивно форсировать процесс внедрения. И хорошо, если есть  внутренний инженерный ресурс, который этим вопросом будет заниматься и подскажет, что где и как. А вот если задача попадет к интеграторам - это может быть большой проблемой. Может быть не сразу, может быть в перспективе, но я думаю что обязательно будет, и вот почему:

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

Pulsar vs Kafka: сравнение и мифы

Reading time21 min
Views14K


Pulsar или Kafka — что лучше? Здесь мы обсудим плюсы и минусы, распространенные мифы и нетехнические критерии, чтобы найти лучший инструмент для ваших задач.


Обычно я рассказываю об Apache Kafka и ее экосистеме. О Pulsar за последние годы меня спрашивали только коммитеры и авторы Pulsar. Они задавали сложные технические вопросы, чтобы показать, что Kafka не идет ни в какое сравнение с Pulsar. На Reddit и подобных платформах разгораются яростные и очень субъективные споры на эту тему. Я поделюсь своей точкой зрения, основанной на многолетнем опыте работы со стриминговыми опенсорс-платформами.

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

Летаем на дроне легально

Reading time4 min
Views28K

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

Лет 5 назад мне подарили дрон, ноунейм дрон. Это была очень простая копия DJI Phantom 1, которая не умела держать высоту, летать против ветра и снимать лучше кнопочного телефона 2002 года. В общем, один раз запустили, у него сели батарейки, да и больше не было желания к нему прикасаться. Зато вновь появился интерес к радиоуправляемым моделям (дронам).

Дальше мне подарили DJI Spark - мой первый нормальный дрон, который умел снимать вот так

Читать далее
Total votes 31: ↑28 and ↓3+25
Comments56

Information

Rating
816-th
Location
Краснодарский край, Россия
Works in
Date of birth
Registered
Activity