Рубрика «Анализ и проектирование систем» - 107

На этой неделе я закончил работу по добавлению поддержки SDRAM в проект MIPSfpga-plus. Теперь при работе с MIPSFpga помимо блочной памяти, ограниченной ресурсами ПЛИС, доступно еще и внешнее ОЗУ.

Данная статья состоит из 2 частей:

Часть 1. Краткое описание модуля доступа к SDRAM. Пример использования.
Часть 2. Подробное описание работы с памятью, достаточное для того, чтобы в работе модуля смог разобраться человек, ранее не имевший дела с микросхемами ОЗУ. Список литературы.

Предполагается, что читатель как минимум:

  • знаком с предметной областью в объеме учебника Харрис-энд-Харрис [1];
  • имеет опыт программирования на C, ассемблере, использования gcc;
  • имеет минимальный опыт работы с MIPSfpga. Не имея такого опыта, будет логичным начать с более простых вещей, и лишь затем думать о том, как использовать ОЗУ в своей системе.

Если вы уже опытный разработчик, то Часть 1 стоит пробежать глазами по диагонали, Часть 2 — не содержит для вас ничего нового. При этом вы можете принести несомненную пользу обществу, если добавите поддержку SDRAM для еще одной отладочной платы. На текущий момент она реализована только для Terasic DE10-Lite — одной из 9 плат, на которые в рамках проекта MIPSfpga-plus было портировано ядро MIPSfpga.

Читать полностью »

В стране по адресу http://dom.gosuslugi.ru создан и запущен в промышленную эксплуатацию единый информационный ресурс в сфере ЖКХ — государственная информационная система жилищно-коммунального хозяйства (ГИС ЖКХ). Цель и сверхзадача системы – наконец сделать ЖКХ полностью прозрачной и предоставить населению способы для усиления общественного контроля в столь важной сфере. В статье кратко описываются некоторые возможности ГИС ЖКХ, доступные всем жителям нашей страны уже сегодня, а также обзорно рассматриваются основные архитектурные решения и технологии, которые позволили выдержать требования по срокам и обеспечить нужные эксплуатационные характеристики системы.  

Как сделать ЖКХ, чтобы оно было ГИС - 1Источник
Читать полностью »

How-to: инструменты для проведения конкурентного анализа программных продуктов - 1

Изображение: Stephen Bowler, Flickr

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

Конкурентный анализ (КА) программных продуктов позволяет выявлять такие их свойства и качества, которые невозможно было бы узнать с помощью «обычных» тестов.

Мы в Positive Technologies начали процесс погружения в КА еще несколько лет назад — вот наша статья о разработке методики проведения анализа. В дальнейшем она получила свое развитие в виде внутреннего инструмента для конкурентного анализа — о нем мы сегодня и поговорим.Читать полностью »

Как работает hashCode() по умолчанию? - 1

Попытка заглянуть вглубь hashCode() привела к спелеологическому путешествию по исходному коду JVM, с рассмотрением структуры объектов и привязанной блокировки (biased locking), а также удивительных последствий для производительности, связанных с использованием hashCode() по умолчанию.
Читать полностью »

image alt text

На волне всеобщего увлечения бесконтактной оплатой хочу поделиться подкапотным опытом Яндекс.Денег по запуску Apple Pay и Samsung Pay. Нашей команде пришлось координировать усилия с MasterCard и производителями смартфонов. Подружить эту компанию и не сойти с ума – задача сама по себе нетривиальная. Вдобавок мы были в первой волне тех, кто пришел на "праздник", и многие решения пришлось обкатывать на ходу.

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

— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.

Детектив по материалам IT. Часть первая

Я осознаю, что писать очередную статью на тему Модель-Вид-Контроллер это глупо и вредно для «кармы». Однако с этим «паттерном» у меня слишком личные отношения – проваленный проект, полгода жизни и тяжелой работы «в корзину».

Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…

И тогда все встало на свои места. Оказалось что фактически на основе принципов мы пере-изобретали «original MVC». А то, что зачастую преподносится как MVC, не имеет к нему никакого отношения… впрочем также как и к хорошей архитектуре. И судя по тому сколько людей пишет о несостоятельности «классического MVC», спорит о нем и изобретает его всевозможные модификации, не одни мы столкнулись с этой проблемой.

Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.

Читать полностью »

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

Система кажется сложной. Несмотря на российские корни, изначально даже не было документации на русском языке. Чем же может помочь этот мощный инструмент обычным парням — программистам и начинающим разработчикам?

Попробуем написать простой занимательный сервис, способный выдержать большую нагрузку. И никакого SQL!
Читать полностью »

Архитекторы зачастую работают удаленно от офиса работодателя: при работе на выезде с клиентом, работе на подряде. Как в этом случае получить лицензию на ARCHICAD®? Покупать персональную лицензию – дорого. Но и лицензию ARCHICAD от работодателя получить сложно – чаще всего в организации работает сетевая версия ARCHICAD, которую с собой не заберешь. А если и используются локальные лицензии (что дороже), то передать удаленному работнику физический USB-ключ защиты CodeMeter бывает проблематично. Мало кто знает, что выход из этой ситуации есть: системные администраторы могут настроить для удаленного работника доступ к сетевому ключу защиты – и предоставить лицензию ARCHICAD.

Удаленное подключение к сетевому ключу CodeMeter для ARCHICAD - 1Читать полностью »

Архитектура микросервисов - 1

К сожалению, у меня нет опыта работы с микросервисами, но около года назад я очень активно интересовался этой темой и изучил все источники информации, какие смог найти. Я просмотрел несколько выступлений на конференциях, прочитал несколько статей очень авторитетных и опытных специалистов вроде Мартина Фаулера, Фреда Джорджа, Эдриана Кокрофта и Криса Ричардсона, чтобы как можно больше узнать о микросервисах. Эта статья — результат моих изысканий.
Читать полностью »

image

В части 1, части 2, части 3 были рассмотрены основные системы инфраструктуры ПЭП. В этой части будет рассмотрен порядок проектирования для практической реализации инфраструктуры. Сразу отмечу, что описание носит обобщенный характер, и не является ни туториалом, ни инструкцией, ни руководством. Как было отмечено в первой части, вся статья представляет собой только личное видение, основанное на практике внедрения ПЭП в информационные системы агентов, оказывающих сложные, многоэтапные технологические услуги. Цель внедрения ПЭП — расширить географию обслуживания за счет переноса в сеть Интернет документооборота при оказании услуги физическим лицам и минимизации необходимости личных визитов клиентов в офис компании. Для упрощения примера, не будем рассматривать большие компании со сложным документооборотом, а возьмем абстрактную компанию, оказывающей услуги домашней автоматизации. Документооборот услуги такой компании в минимальном варианте состоит из заявки на проектирование, договор с техническим заданием и акта выполненных работ.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js