Pull to refresh
0
@darijussiniavskiread⁠-⁠only

User

Send message

Как обеспечить качественный бэклог

Level of difficultyMedium
Reading time8 min
Views3.4K

Что для нас качественный бэклог? Под самим словом бэклог будем понимать список задач, в частности пользовательских историй, которые должна реализовать команда разработки в определенные сроки. Как правило, появляются они в результате декомпозиции функциональности. Что касается качества, то его основным критерием здесь будет результат выполнения этих задач. Другими словами, если мы достаточно точно, с учетом рисков и приоритетов, можем спрогнозировать сроки и результаты выполнения разрабатываемой функциональности, то бэклог можно назвать качественным. О нем и поговорим. На связи Владислав Филимонов, инженер-аналитик КОМПАС-3D.

Читать далее
Total votes 12: ↑11 and ↓1+14
Comments3

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

Level of difficultyMedium
Reading time15 min
Views5.4K

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

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

Читать далее
Total votes 4: ↑4 and ↓0+7
Comments6

Почему я остаюсь с Лиспом (и вам тоже стоит)

Reading time15 min
Views15K

Зрелый язык может использоваться немногими. Но он остаётся частью моей кодовой базы.

Как давнего пользователя (и активного сторонника) Scheme/Common Lisp/Racket, меня иногда спрашивают, почему я предпочитаю их. К счастью, я всегда возглавлял собственные инженерные организации, поэтому мне никогда не приходилось оправдывать это перед руководством. Но есть еще более важная аудитория - мои собственные коллеги-инженеры, которые никогда не имели удовольствия использовать эти языки. Хотя им не требуются оправдания, они все же спрашивают из интеллектуального любопытства, а иногда и из-за удивления, почему я не схожу с ума по поводу следующей крутой функции, которая будет в этом месяце добавлена в Python или Scala, или что бы там ни было в их вкусе.

Читать далее
Total votes 32: ↑24 and ↓8+24
Comments136

Вычисление логического выражения из строки в C# (.NET)

Level of difficultyMedium
Reading time5 min
Views5.8K

В этой статье я продемонстрирую, как динамически вычислять логические математические выражения из строк в C#, с высокой производительностью. Решение, реализованное с использованием библиотеки .NET MathEvaluator, поддерживает логические операции в различных математических контекстах, включая программирование, научные вычисления и C#. Кроме того, библиотека позволяет расширять эти контексты, а также добавлять пользовательские переменные и функции.

Возможность компиляции математических выражений из строк была добавлена в MathEvaluator 2.0

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

Шестая платформа данных: новое слово в хранении и обработке данных

Reading time17 min
Views3.1K

Скорее всего, в ближайшие 3–5 лет появятся новые интеллектуальные приложения для работы с данными, и для них понадобится новый тип современной платформы. Мы называем ее «шестая платформа данных».

Раньше описывали эту концепцию при помощи метафоры «Uber для всех». Так мы называли системы программного обеспечения для цифрового представления бизнеса. Разные данные, например о людях, местах и объектах, поступают в эту модель и объединяются в ней в связное целое. Исходя из этой информации, компании принимают решения и действуют в реальном времени. Мы утверждали, что это будет коммерческая готовая к использованию программа — в каждом конкретном случае не понадобится нанимать тысячи разработчиков, которые будут создавать кастомное решение.

Команда VK Cloud перевела статью об этой самой «шестой платформе данных». Это переработка подкаста Breaking Analysis с гостем Райаном Блю — одним из создателей и председателем комитета по управлению проектами Apache Iceberg. Он соучредитель и генеральный директор компании Tabular Technologies Inc., основанной создателями Iceberg и разработавшей универсальное открытое табличное хранилище, которое подключается к любому уровню вычислительных ресурсов.

Читать далее
Total votes 13: ↑13 and ↓0+22
Comments1

Как мы оценивали любые требования заказчика за два часа

Level of difficultyMedium
Reading time9 min
Views9.1K

Классно, когда в компании уже есть механизм оценки требований или оценку ведут архитекторы / PM-ы / PO и прочие люди, которые никак не являются аналитиками. Но у нас в компании не было сложившейся модели оценки, и каждая команда тратила большое количество времени, оценивая запросы клиентов. Тогда нам пришлось разработать собственную схему оценки требований, потратив на это много времени - сначала набирая опыт и проверяя его, затем внедряя и объясняя сотрудникам методику.

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

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

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

Читать далее
Total votes 7: ↑5 and ↓2+5
Comments9

Хореография, оркестрация и Event Driven Orchestration

Level of difficultyEasy
Reading time7 min
Views3.8K

Рассмотрим очередной популярный подход к проектированию систем для управления и координации выполнения бизнес-задач или процессов на основе событий. В общем случае это микс Хореографии и Оркестрации. Рассмотрим их подробнее.

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

Работа с геометрией в JPA и Spring Boot 3

Level of difficultyMedium
Reading time12 min
Views4K

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

Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁

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

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

Критерии оценки документации

Level of difficultyEasy
Reading time4 min
Views3K

Привет! Меня зовут Илья и я занимаюсь систематизацией информационных ресурсов.

Конечно, каждая отрасль имеет право на свои особенности, но на красоту можно и нужно влиять. Эти размышления относятся к описанию ИТ‑продуктов, где наглядность is a must. Ведь дело не в квалификации читателя — информации стало слишком много и она постоянно обновляется.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments3

Как мы визуализировали 150+ страниц документации DS-решений

Level of difficultyEasy
Reading time5 min
Views3K

Я Илья Мезенцев, ML разработчик в Контуре. Расскажу о том, как мы в DS-команде создавали единую схему всех своих решений. Статья для DS-специалистов уровня senior/lead, которые отвечают за проекты целиком.

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

Как Notion проектировал свой data lake, чтобы успевать за быстрым ростом

Level of difficultyMedium
Reading time16 min
Views7.9K

За последние три года размер данных Notion увеличился в 10 раз из‑за роста количества пользователей и объёмов контента, с которым они работают. Удвоение этого показателя происходило каждые 6–12 месяцев. Нам нужно было справиться со стремительным ростом размеров данных, соответствуя при этом постоянно растущим требованиям, которые выдвигали критически важные сценарии использования наших продуктов и аналитических систем. Особенно это справедливо в применении к новым функциям Notion AI. Для того чтобы решить эти задачи нам нужно было создать озеро данных Notion и обеспечить его масштабирование. Вот как мы это сделали.

Читать далее
Total votes 7: ↑7 and ↓0+14
Comments1

Обзор алгоритмов кластеризации данных

Reading time10 min
Views440K
Приветствую!

В своей дипломной работе я проводил обзор и сравнительный анализ алгоритмов кластеризации данных. Подумал, что уже собранный и проработанный материал может оказаться кому-то интересен и полезен.
О том, что такое кластеризация, рассказал sashaeve в статье «Кластеризация: алгоритмы k-means и c-means». Я частично повторю слова Александра, частично дополню. Также в конце этой статьи интересующиеся могут почитать материалы по ссылкам в списке литературы.

Так же я постарался привести сухой «дипломный» стиль изложения к более публицистическому.
Читать дальше →
Total votes 82: ↑78 and ↓4+74
Comments41

Разработчикам, аналитикам и архитекторам: рецензия на книгу «Проектирование архитектуры API»

Level of difficultyEasy
Reading time9 min
Views9.4K

Сегодня представляем на Хабре очень интересную книгу — переводное издание «Проектирование архитектуры API» («Mastering API Architecture») издательства O'REILLY. Это руководство по разработке и реализации API (программных интерфейсов приложений). Разобраны базовые вопросы обмена информацией в микросервисной архитектуре, обработка запросов на сайтах и в веб‑приложениях (парадигма REST). Бонусами к статье — промокод «SSPSOFT» на русское издание и ссылка на оригинальный текст книги (бесплатная копия книги в PDF).

Читать далее
Total votes 14: ↑12 and ↓2+17
Comments3

Semantic BPM. Онтологическое моделирование верхнеуровневых процессов. VAD

Level of difficultyMedium
Reading time12 min
Views1.1K

Введение

Представление моделей бизнес‑процессов на основе онтологий (онтологическое моделирование) эквивалентно Semantic BPM. Введение в семантический BPM (Business Process Management) см. «Semantic BPM. Семантика и синтаксис бизнес‑процессов» [semBPM24]. Если кратко, то можно провести аналогию: если классическая BPM система (BPMS: ARIS, бизнес‑студия, fox‑manager и т. п.) — это технологический аналог mediawiki (wikipedia), то Semantic BPM — это технологический аналог semantic mediaWiki (Wikidata), т. е.

IF MediaWiki → Semantic MediaWiki then BPM (ARIS, BPMS, EA) → Semantic BPM

Основной замысел (цель) семантического представления процессов (BPM, EA) не классическими BPM‑системами, а семантическими (Linked Data) — такой же, как и у семантических wiki

Одно из ключевых дополнений к wiki‑гиперссылки (html) это указание не просто что «ОбъектА связан с ОбъектомБ» (т. е. просто «связано») и соответствующий кликабельный переход (wiki‑ссылки, markdown syntax), а указание, что «ОбъектА связан с ОбъектомБ» такими‑то типом отношения (впрочем, как и задание других свойств объекта через отношения).

Изначально все BPMS (изначально называемые CASE‑средствами) — семантические, т.к. их суть — это отношения между объектами, только в них семантика глубоко спрятана «под капотом» BPMS и нестандартная (собственная, проприетарная). Semantic BPM «поднимает» семантическую составляющую на поверхность (возможность работы с семантическим слоем) и использует стандартные сематические технологии Linked Data.

В основе RDF (Resource Description Framework) — триплеты «субъект — отношение — объект» лежит ERD: Entity Relationship (ER) diagram. RDF \ ERD — это способ формализации знаний на основе атома знания — триплета. Вообще ER, subject, predicate, типы рассуждений и другие базовые элементы для работы со знаниями в СССР содержались в школьных учебниках [Логика54].  

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

PostgreSQL — один за всех? Как работать с нетипичными данными в реляционной системе

Level of difficultyMedium
Reading time11 min
Views7.4K

Смотрим, как вездесущий PostgreSQL справляется с нестандартными для реляционной системы управления базами данных (СУБД) ролями: хранением и поиском временных рядов, пар «ключ — значение», эмбеддингов для больших языковых моделей и многомерных кубов. Отвечаем на вопрос: действительно ли так нужно строить сложные архитектуры со множеством разнородных систем хранения данных — MongoDB, Redis, InfluxDB, Pinecone, ClickHouse, Apache Cassandra — или можно обойтись одним PostgreSQL?

Привет, Хабр! Меня зовут Александр Брейман, я доцент департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и по совместительству эксперт Учебного центра IBS по управлению данными и архитектуре ПО. В прошлой статье я рассказывал о миграции с Oracle на PostgreSQL, а сегодня разберу, как последний работает с нетипичными видами данных.

Читать далее
Total votes 14: ↑12 and ↓2+13
Comments35

10 библиотек Python для машинного обучения — подборка для начинающих

Level of difficultyMedium
Reading time8 min
Views14K

Составили список самых важных библиотек Python для машинного обучения и рассказали, для каких задач они могут быть полезны начинающим ML-инженерам и специалистам по Data Science.

Собрать подборку помог Кирилл Симонов — ML-разработчик компании IRLIX с экспертизой в компьютерном зрении.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments0

Design thinking в IT-проектах

Level of difficultyEasy
Reading time4 min
Views905

История дизайн-мышления (design thinking) началась более полувека назад, когда Герберт Саймон озвучил идею дизайн-мышления в 1969 году в книге «Науки об искусственном» (The Sciences of the Artificial). В своей работе он привёл тезис об общности творческого подхода к различным видам деятельности, будь то написание музыкального произведения или, например, разработка техники [1].

В 70-80-х годах прошлого века этот подход проникает в менеджмент. В 1978 году Дэвид Келли создаёт вместе со своим университетским другом Дином Хови компанию Hovey-Kelley Design, которая в последствие станет ядром компании IDEO, сделавшей своей официальной доктриной дизайн-мышление [2]. Сотрудники IDEO учат своих клиентов думать, как дизайнеры, чтобы улучшить качество работы. В портфолио компании разработка Palm V, первой мыши для Apple, первый ноутбук [3, 4].

Позднее идею развили учёные Стэнфордского университета и основали в 2005 году Стэнфордский институт дизайна, или d.school, который продвигает идею дизайн-мышления [5]. Своей целью институт ставит построение методов, которые позволят развить навыки креативности, применимые к самым разнообразным областям. Для этого применяемся инструмент «радикального сотрудничества», когда студентов с разных факультетов, а также преподавателей и практиков из совершенно разных областей объединяют вместе [6]. Цель такого эксперимента обеспечить многообразие точек зрения на одну и ту же проблему и привить умение смотреть на один и тот же вопрос с разных сторон.

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

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

Сильные продукты создаются сильными структурами и процессами: анатомия NPD-модели, как всё устроено

Level of difficultyEasy
Reading time8 min
Views1.6K

Наш бизнес - это контрактная разработка продуктов, промышленный дизайн, помощь в постановке продуктов на производство.

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

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

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

Читать далее
Total votes 2: ↑2 and ↓0+3
Comments1

JavaScript: структуры данных и алгоритмы. Часть 1

Level of difficultyMedium
Reading time33 min
Views14K


Привет, друзья!


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



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


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


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 20: ↑18 and ↓2+19
Comments1

База знаний по разработке CJM

Level of difficultyMedium
Reading time5 min
Views2.6K

Про CJM (Customer Journey Map) написано много материалов: какие‑то хорошие, какие‑то не очень. Я решил объединить весь свой профессиональный опыт в одну статью, которая удешевит и упростит процесс работы с картой. Внутри — ссылки, инструменты и совсем немного теории.

Читать далее
Total votes 6: ↑6 and ↓0+12
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Литва
Date of birth
Registered
Activity