Рубрика «архитектура» - 23

Прочитал весьма занимательную статью про важность алгоритмов, вывод из которой показался мне весьма спорным

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

Алгоритмы — это лишь одна из переменных в уравнении - 1

Все дело в том, что разработка ПО — это не просто алгоритмы или языки.
Читать полностью »

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

«Мама, он и меня посчитал!», или Откуда растут ноги у анализа пешеходного трафика - 1
Читать полностью »

От переводчика: — я давненько интересуюсь тем, как сделать код Android-приложений чище, и это, наверное, первая статья, после которой у меня не возникло мыслей: "Зачем вот это вот все?" и "Он вообще пробовал когда-то это использовать в жизни?" Поэтому решил перевести, может, еще кому-то будет полезно.

Написать Hello World всегда легко. Код выглядит просто и прямолинейно, и кажется, что SDK очень адаптирована под ваши нужды. Но если у вас есть опыт написания более сложных Android-приложений, вы знаете, что с рабочим кодом все не так. Можно провести часы за попыткой понять, почему ваша корзина покупок не обновляется после изменения ориентации телефона, если недоступен WiFi. Вы предполагаете, что решением проблемы, возможно, будет добавить ещё один if в 457-строчном методе onCreate() вашей активити — где-то между тем кодом, который исправляет падение на самсунгах с Android 4.1 на борту, и тем, который показывает купон на 5$ в день рождения пользователя. Что ж, есть способ получше.

Мы в Remind (прим. пер. — название компании, где работает автор) выкатываем новые функции каждые две недели, и для того чтобы поддерживать эту скорость и высокое качество продукта, нужен способ сохранять код простым, поддерживаемым, разделённым (прим. пер. — "decoupled", в смысле слабой связанности) и тестируемым. Использование архитектурного паттерна MVP позволяет нам делать это и сосредоточиваться на самой значимой части нашего кода — нашей бизнес-логике.
Читать полностью »

Суперскалярный стековый процессор: скрещиваем ужа и ежа - 1
В данной статье мы будем разрабатывать (программную) модель суперскалярного процессора с OOO и фронтендом стековой машины.
Читать полностью »

Проблемы разграничения доступа на основе списка доступа в ECM системах (часть 2) - 1В моей дебютной статье мы по шагам проектировали модель разграничения доступа к предметной области, рассматривая в качестве примера выдуманную ECM систему, которая от простой постепенно становилась не очень простой. Мы столкнулись с проблемами, которые не смогли легко и просто решить в рамках той модели, что у нас получилась в результате. В этой статье попытаемся исправить положение.
Читать полностью »

Когда-то давно, когда деревья были большими, трава — зеленее, а слово “биоинженерия” ещё не придумали, мне очень хотелось стать биоинженером, когда вырасту. Но это слово лично для меня тогда обозначало что-то на стыке биологии, электроники и механики, результатом же должны были быть разнообразные устройства, сочетающие в себе живые (или уже мёртвые) биологические структуры и электрические схемы управления.

Бионическая инженерия: первые ростки - 1
Читать полностью »

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

Почему 3D-печать? Архитектура - 1Читать полностью »

Android VIPER на реактивной тяге - 1

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

Проблемы разграничения доступа на основе списка доступа в ECM системах - 1В этой статье речь пойдёт о самом скучном интересном в ИТ – об архитектуре ПО, а именно, об одной из самых важных её частей – security.

Определимся с терминами

Под ПО я буду понимать в первую очередь ECM системы, и будем мы рассматривать security только в части разграничения доступа к объектам предметной области.
Читать полностью »

Это статья о городе и архитектуре. Хотя про красивые домики тут ничего не будет. О них было немного в предыдущей статье и, увы, это отвлекло внимание от собственно информационной составляющей и направило дискуссию в русло обсуждения 3D-моделей городов — и геоинформационных систем (ГИС), которые в том или ином виде эту модель предоставляют или дают возможность поучаствовать в моделировании. Итак, двух- и трёхмерным ГИС разного рода несть числа. Почему же тогда геоинформационные системы до сих пор не привели к революции в градостроительстве?

Виртуальный город: почему геоинформационные системы до сих пор не перевернули мир архитектуры - 1
Читать полностью »


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