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

Сегодня затраты на ИТ являются существенной частью бюджетов, и, как следствие — компании любых размеров заинтересованы в их сокращении. Ожидается, что ИТ будут приносить больше пользы при меньших затратах. При этом по мере развития все современные компании сталкиваются с вопросом увеличения потребностей в ИТ-ресурсах. В такой ситуации следует обратить внимание на облачные технологии, которые дают возможность модернизации подходов к управлению ИТ-инфраструктурой за счет использования новейших технологий, высокого уровня стандартизации, гибкости внедряемых решений и простоты масштабирования. OpenStack же является одним из самых распространенных решений для организации облачных сред типа Infrastructure as a Service (IaaS).

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

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

Как кое-кто уже мог догадаться, я сегодня расскажу про паттерн “Command” и как его использовать для разработки игр с использованием движка Unity 3D. Это один из ключевых паттернов в этом подходе. Код будет упрощенным, но рабочим и должен дать понимание процесса.
Читать полностью »

Суперскалярный стековый процессор: подробности - 1
Продолжение серии статей, разбирающих идею суперскалярного процессора с
OoO и фронтендом стековой машины.
Тема данной статьи — вызов функций, вид изнутри.
Читать полностью »

Суперскалярный стековый процессор: продолжаем скрещивать ужа и ежа - 1
Продолжение статьи, где удалось продемонстрировать, что фронтенд стековой машины вполне позволяет спрятать за ним суперскалярный процессор с OoO.
Тема данной статьи — вызов функций.
Читать полностью »

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

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

Алгоритмы — это лишь одна из переменных в уравнении - 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
Читать полностью »


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