Все потоки
Поиск
Написать публикацию
Обновить
229.51

Анализ и проектирование систем *

Анализируй и проектируй

Сначала показывать
Порог рейтинга
Уровень сложности

ООБД без ООП

Время на прочтение6 мин
Количество просмотров6K
Лично мне не надо объяснять, что такое ООП. Я сам в первую очередь мыслю существительными и только во вторую — глаголами.
Но речь не о том, кто как мыслит; я хочу обсудить ситуацию, когда отказ от привычных механизмов ООП упрощает работу с объектами.

Как, пример, можно вспомнить добрым словом Lotus Notes, где имя формы хранилось внутри документа. Создавая форму LN, мы тем самым описываем новый UI класс, в котором можно добавлять свойства и переопределять методы (Queryopen, Postsave и пр.). При этом новый объект, созданный с помощью этой формы, не связан с ней механизмом наследования. Форма – это свойство объекта, и в LN есть команда «SwitchForm», с помощью которой можно открыть объект с другой формой, естественно, с вызовом других методов. Неопределенные свойства при этом вернут пустую строку.
Читать дальше →

Анализ кода сервисов бронирования отелей и авиаперелётов

Время на прочтение8 мин
Количество просмотров6.2K
Сам анализ был сделан в марте 2014 года в рамках некоммерческой просьбы с целью анализа конкурентной среды и касается темы, которой интересуются, судя по опыту, очень много мелких групп разработчиков, или точнее, предпринимателей, желающих стать стартапами. Глядя на коды рассмотренных топ-сервисов, на данный момент (август 2014) анализ не устарел, и может принести пользу как группам, собирающимся вести разработку в этом направлении, так и отдельным разработчикам, желающим познакомиться с архитектурами и технологиями конкурирующих проектов.
Сравнительный анализ 5 сервисов бронирования отелей

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

Время на прочтение8 мин
Количество просмотров19K
«Лучший способ остановить пиратство — это вовсе не изощренные антипиратские технологии, это предоставление людям лучшего обслуживания, нежели они могут получить у пиратов.» Gabe Newell

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


концепт проекта под катом

Рынок аналитиков и руководителей проектов

Время на прочтение4 мин
Количество просмотров12K
Наша компания занимается внедрением информационных систем.

Есть мощная платформа собственной разработки. Так получается в жизни, что текучка персонала есть. Сотрудники, к которым меньше всего нареканий, задерживаются в компании на 3 – 5 – 7 лет. Но все растет, все меняется: и компания, и рынок, и сотрудники, жизнь-есть-жизнь. Также меняется поиск новых людей, требования к ним, суть задач и прочее.

Ситуация недавнего времени — нужны руководители проектов, нужны аналитики; в связи с возросшим количеством проектов, их сложностью и задачам по ним, нужны специалисты техподдержки. Последних называем «конфигурастами», зачастую в деловой хронике они «внедренцы», самых молодых и зеленых из них называю «атрибуторовнятелями», остальные – да, внедренцы/конфигурасты.
Читать дальше →

Сбой в DNS у регистратора R01 и несколько роковых случайностей

Время на прочтение2 мин
Количество просмотров30K
Сегодня один из старейших регистраторов R01 объявил о сбое в DNS.
В связи с этим хочу рассказать вам маленькую поучительную историю о том, как это едва не убило нашу компанию.

По роду деятельности мы saas-аналитика для веба. Наше основное оружие — javascript файл, который собирает статистику. Файл раздается на множество сайтов наших пользователей, поэтому мы обязаны обеспечить его безупречную стабильность, недоступность нашего сайта не должна никак влиять на сайты наших клиентов. И мы потратили много сил на то чтобы обеспечить полную стабильность: положили скрипт в отличный мощный CDN, сделали свой домен, чтобы абстрагировать этот CDN (чтобы можно было в любой момент сменить CDN, если он даст сбой или станет слишком дорогим). Но не учли одну мелочь: DNS-сервер находился у регистратора.
Читать дальше →

Бизнес-архитектура систем взимания платы с автомобилей с использованием данных спутниковой навигации

Время на прочтение8 мин
Количество просмотров9.1K

Бретонские Bonnets Rouges жгут порталы контроля системы Ecotaxe. Фото Europe1.fr

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

Нефункциональные требования к программному обеспечению. Часть 1

Время на прочтение10 мин
Количество просмотров368K

Введение


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

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

итак, все о НФТ

ФИАС или КЛАДР: выбираем справочник адресов

Время на прочтение9 мин
Количество просмотров189K
1 июля 2014 года произошло одно из самых значимых событий в истории государства Российского: с этого момента у нас в стране наконец появилась эталонная база адресов по всем, даже самым малым населённым пунктам! Имя этой базе — ФИАС. Собственно, сам по себе справочник ФИАС появился гораздо раньше, но именно 1 июля вступил в силу ФЗ 443, согласно которому все государственные и муниципальные структуры теперь должны опираться на него как на единственно верную базу адресов. Мы решили исследовать, стоит ли переходить на ФИАС, и с какими подводными камнями столкнутся те, кто решит это делать.

Прочитав статью, вы узнаете:
  • Чем отличается ФИАС от КЛАДР
  • Можно ли уже использовать ФИАС вместо КЛАДР
  • Стоит ли беспокоиться о переходе на ФИАС тем, кто уже работает с КЛАДР
  • Решит ли ФИАС текущие проблемы с адресами
  • Что ждёт тех, кто только начинает использовать адресные справочники
  • Какие есть самые заметные и важные проблемы при работе с ФИАС и КЛАДР

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

Режим реального времени в WebScada на базе технологий OPC UA и WebSocket

Время на прочтение3 мин
Количество просмотров12K
Так случилось, что имея образование инженера по автоматизации техпроцессов, я работаю веб-программистом. Но мне всегда хотелось объединить свои знания из области автоматизации и интернет технологий. Тем более что это уже давно делается другими.

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

Итак, что-же такого было разработано что мне захотелось создать собственную мини WebSCADA:

1. Корпорация OPC Foundation выпустила новый протокол OPC UA (ОРС Unified Architecture) взамен устаревшего OPC DA.
2. Появился протокол полнодуплесных соединений в Интернет — WebSocket.
Читать дальше →

Как устроена система SMSDirect

Время на прочтение5 мин
Количество просмотров8.5K
image

Здравствуйте, хабражители!

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

Метапрограммирование с примерами на JavaScript

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

UPD: Обновленная видеоверсия статьи на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):

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

Почему Ваза утонул, а С++ всё ещё на плаву

Время на прочтение6 мин
Количество просмотров82K
Эта статья — краткий пересказ невероятно интересного доклада Скотта Майерса для тех, у кого нет 70 минут на весь доклад, но есть 7 минут на основные тезисы.

Некоторые люди, которые не пишут на С++, а лишь слышали об этом языке, задаются вопросом: «Почему вообще кто-то пишет на C++?». Но есть люди, которые используют С++ каждый день, и вот эти люди задаются вопросом: «А действительно, почему я пишу на этом языке?».

Но ведь действительно, должна быть какая-то причина, по которой люди пишут программы на С++. Давайте вернемся в начало 90-ых, когда проходила стандартизация С++. Была предложена масса идей. Предложений было столько и они были настолько разные, что мне запомнилась цитата Джима Вальдо, который тогда работал в комитете по стандартизации: «Каждый, предлагающий добавить что-то в С++ должен приложить к заявке свою почку. Тогда никто не предложит больше двух идей, а к выбору этих двух он подойдёт невероятно ответственно.»

Язык, который был бы получен в результате принятия всех предложений, выходил слишком сложным и тогда Бьёрн Страуструп сказал «А помните Ваза?». Никто, кроме людей из Швеции, не понял о чём речь. Ваза был огромным боевым кораблём, построенным в Швеции в 1625 году. Основным принципом постройки корабля было «А почему бы нам не добавить сюда ещё и вот такую фичу?». Многие из идей исходили непосредственно от короля, в частности он лично утверждал размеры корабля. Также на Ваза по указаниям свыше требовалось нацепить огромное количество элементов украшения, резьбы, большое количество пушек и т.д. А королю ведь не откажешь. Итог был закономерным — из-за ошибок в конструировании Ваза затонул в первом же рейсе, едва выйдя из бухты.
Читать дальше →

Размышления о блюзе — еще раз про exception handling

Время на прочтение3 мин
Количество просмотров5K
Написано уже немало про обработку исключений в C#, написано хорошо и местами подробно, но я попытаюсь внести свою скромную лепту в этот вопрос. Данная статья является просто некой попыткой лучше осмыслить и систематизировать в рамках одной, пусть даже очень условной концепции возможные подходы к проблеме. Хорошая практика обработки исключений, на мой взгляд, освещена довольно скудно и не создает целостной завершенной картины, когда, как и где работать с исключительными ситуациями в коде.
Читать дальше →

Ближайшие события

Покажите мне рекламу, я готов

Время на прочтение4 мин
Количество просмотров8.2K
На идею этой статьи меня натолкнула реклама на Youtube. В очередной раз, когда я включал ребёнку мультфильм «про мамонтёнка», Youtube решил порадовать нас перед этим самым мультфильмом рекламой какого-то кинофильма с кадрами убийств и насилия (16+). Данный подход хорошо тренирует скорость и реакцию родителей — нужно успеть нажать «Skip Ad», как только это становится возможным. В результате я, как потенциальный потребитель, не почувствовал всей прелести рекламируемого в ролике продукта — рекламная компания провалилась, рекламодатель терпит потенциальные убытки.
Попробуем совместно разобраться как современные технологии могут улучшить эту ситуацию.
Давайте посмотрим

Как делается сокращение простоя критичных систем

Время на прочтение5 мин
Количество просмотров13K

Работа с БД: список JDBC подключений с указанием параметров подключений.

Компания из ТОП-5 в России зарабатывает в среднем от 7 до 9 миллионов долларов за час. Соответственно, технический простой длиной в два часа, который удалось сократить до одного часа нечеловеческим усилием воли, стоит именно эту сумму.

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

Сейчас расскажу, как мы внедряли такие системы.
Читать дальше →

NetLogo: И взрослым, и детям

Время на прочтение4 мин
Количество просмотров25K


Многие сложные системы удается исследовать только моделированием. Для систем, состоящих из большого количества независимых объектов, такие как поведение толпы, развитие многоклеточных организмов или военные операции, наиболее адекватным оказывается агентное моделирование. Есть много предназначенных для этого систем, например российская проприетарная AnyLogic.
Я же хочу рассказать об языке NetLogo, хорошо зарекомендовавшим себя в образовании, но годный и для взрослых задач.
Читать дальше →

Раскрывая секрет. Архитектура Secret

Время на прочтение4 мин
Количество просмотров19K
imageЛюбая ваша мысль или желание может анонимно распространяться по всему миру менее чем за секунду, начиная только с вас и ваших друзей.

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

Мы получили несколько вопросов о том, как Secret защищает ваши личные данные. Мы относимся к этому очень серьезно и думаем, что важно быть открытыми и честными в том, как работает наша система, чтобы выстроить доверительные отношения с сообществом.
Читать дальше →

Перекодер — другой взгляд на НСИ

Время на прочтение6 мин
Количество просмотров11K
С годами компания обычно доходит до того, что много справочников на одну тему (например, «Хобби» или «Пол») хранятся в совершенно невообразимых форматах в различных системах, препятствуя эффективной интеграции и обмену данными.

Традиционный подход для решения этой проблемы рекомендует создавать единую версию справочника «Хобби» и настраивать потоки обмена в него (и из него) для всех информационных систем. Мы же решили пойти другим путем и создать децентрализованную опенсорсную НСИ — Перекодер.

Хотите знать, что именно мы сделали, и какую роль в нашем продукте играют Lucene и Apache CXF?
Читать дальше →

Ошибки A/B-тестирования в AirBnB

Время на прочтение7 мин
Количество просмотров15K

Сегодня на airbnb вышел очень интересный пост о том, как они делают A/B-тесты. Мне показалось, что перевод данной статьи будет интересен Хаброжителям, так как многие создают собственные проекты, и методы анализа airbnb как максимум могут оказаться полезными, как минимум позволят задуматься о том, что неплохо бы тестировать метрики вашего продукта.
Читать дальше →

Analyst Days III: вместе с вами мы сделаем эту конференцию лучшей в области системного и бизнес-анализа

Время на прочтение4 мин
Количество просмотров4.3K
Изюминка Analyst Days – в ее участниках
image


24 мая в третий раз системные и бизнес аналитики смогут с головой окунуться в свою профессиональную область на международном уровне благодаря Analyst Days III – единственной конференции на пространстве СНГ, которая собирает экспертов из разных городов и стран в одном месте.

Конференцию Analyst Days мы задумали около 3 лет назад, когда пришла идея отстраниться от распространенного формата универсальных конференций, которые в ограниченные временные рамки пытаются включить «все и ничего»: продуктовую разработку, управление проектами и персоналом многое-многое другое. Порой тема анализа на таких конференциях вообще забывается. Нам же хотелось сделать что-то совершенно иное и, что немаловажно, более полезное, пусть и для менее широкого круга людей.
Читать дальше →

Вклад авторов