Почти манифест дизайн-мышления

Автор: admin от 27-05-2017, 11:35, посмотрело: 25

Большинство людей готово безмерно трудиться, чтобы избавиться от необходимости немного подумать. Простые и полезные инструменты для анализа системы, поиска новых решений и создания уникальных продуктов лежат у нас под ногами – остается их только взять и использовать. В Программе «Единая Фронтальная система» мы генерим огромное количество идей. Выявлять самые жизнеспособные из них и успешно решать существующие проблемы помогает дизайн-мышление.

Почти манифест дизайн-мышления


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

Категория: Программирование » Веб-разработка

 

Реверс-инжиниринг игры Lost Vikings

Автор: admin от 27-05-2017, 00:40, посмотрело: 29

После интересной обратной разработки игрового движка Comprehend (см. Recomprehend) я подбирал новый проект для реверс-инжиниринга игры под DOS. За долгие годы разные люди реверсировали множество старых популярных игр и опубликовали для них спецификации и инструменты. Например, на сайте shikadi.net есть куча информации об играх, в которые я играл в детстве.

Я обнаружил, что для реверс-инжиниринга игры The Lost Vikings компании Blizzard (тогда она называлась Silicon and Synapse), похоже, не предпринималось никаких серьёзных попыток. Игра была выпущена в 1993 году, на закате эры DOS, и очень нравилась мне в юности. The Lost Vikings — это головоломка-платформер, в которой игрок управляет тремя викингами, каждый из которых имеет собственные умения. Викингам нужно объединить свои силы для решения загадок и прохождения уровней с различной тематикой: космический корабль, доисторический мир, Древний Египет. На изображении ниже показан первый уровень игры (источник: Strategy Wiki):

Реверс-инжиниринг игры Lost Vikings

Казалось, что эту игру разобрать будет довольно просто. Уровни основаны на тайловых картах и содержат простые загадки: кнопки, включающие и отключающие объекты, передвижные ящики и поднимающий предметы кран. И на самом деле, бoльшая часть проекта по обратной разработке была достаточно прямолинейной. У игры есть один пакетный файл данных, содержащий сжатые блоки файлов. Блоки кодируют различные ресурсы игры, такие как спрайты, карты, звуки и т.д. Я написал несколько утилит, которые можно использовать для просмотра ресурсов игры: The Lost Vikings Tools.

Категория: Программирование » Веб-разработка

 

О дженериках в PHP и о том, зачем они нам нужны

Автор: admin от 26-05-2017, 21:25, посмотрело: 33

О дженериках в PHP и о том, зачем они нам нужны


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

Категория: Программирование

 

К вопросу о константах

Автор: admin от 26-05-2017, 21:20, посмотрело: 33

Есть ли в мире что либо более постоянное, чем временные переменные.



Просматривая тематический форум, увидел традиционное «Не работает скетч, подскажите, в чем дело» — таких постов чуть меньше, чем все, но в заголовке фигурировала работа с SD карточкой, поэтому решил глянуть. Больше всего порадовала фраза, что «скорее всего, дело в карточке, но решил попросить посмотреть код, может, что интересного увидите» — не ручаюсь за точность цитаты, но смысл передал верно. Действительно, интересного там наблюдалось много, мой взгляд зацепился за выражение
unsigned long Interval = 2000;…
while (micros() < StartInterval + Interval) {};
причем дальше эта переменная использовалась, как константа в запуске задержки. Оставим за скобками способ обращения с временем, сейчас речь не об этом.

Сначала я, действуя на автомате, написал, что следует применять #define, «да призадумалась, а сыр во рту держала». Может быть, я чего-то не знаю, и применение констант в таком формате может быть выгодно при определенных условиях? Вдумчивое чтение мануалов на разные микроконтроллеры (МК) привело к интересным находкам, которыми (вместе с ответом на мой вопрос) и собираюсь поделиться под катом.

Категория: Программирование

 

Russian Code Cup — по следам отборочного раунда

Автор: admin от 26-05-2017, 21:05, посмотрело: 32

Russian Code Cup — по следам отборочного раунда


14 мая прошёл отборочный раунд Russian Code Cup 2017. По традиции выкладываем разбор задач и подводим итоги.


A. Маленькие числа
B. Новая клавиатура
C. Складывание фигуры
D. Остроугольные треугольники
E. Объединение массивов
F. Два поддерева


В раунде участвовали 603 человека: приблизительно по 200 лучших программистов с каждого квалификационного раунда. По результатам отборочного раунда мы взяли в финал 55 участников.

Категория: Программирование

 

Прокторинг в онлайн-экзаменах: как это работает?

Автор: admin от 26-05-2017, 18:00, посмотрело: 45

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

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

Прокторинг в онлайн-экзаменах: как это работает?


Узнать про контроль онлайн-экзаменов

Категория: Программирование » Веб-разработка

 

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Автор: admin от 26-05-2017, 17:25, посмотрело: 27

Скит, Core, рок-н-ролл: как прошёл DotNext 2017 Piter

Когда IT-конференция проходит много лет подряд, она становится своего рода «годичными кольцами»: по ней можно проследить, как технологии росли и развивались со временем. Скажем, в прошлом июне можно было увидеть на петербургском DotNext, как Дино Эспозито распекал (ASP).NET Core за неготовность к реальным задачам. А в декабре на московском DotNext интонация уже изменилась: мол, тащить Core в продакшен ещё не требуется, но вот разбираться с ним уже стоит.

Теперь в Петербурге прошёл новый DotNext (впервые длившийся два дня вместо одного). Какое состояние .NET Core показал он? Какие ещё тенденции можно было заметить по его докладам? Как выступил Джон Скит и другие звёзды .NET-мира? Кто это такой харизматичный на фотографии выше? Все подробности — под катом.

Категория: Программирование

 

Путь к трансдьюсерам на чистом JavaScript

Автор: admin от 26-05-2017, 15:35, посмотрело: 26

Если вы наслышаны о так называемых «трансдьюсерах», но до сих пор не применяете их в javascript-разработке, сегодня у вас есть шанс найти ответы на вопросы: «Что такое трансдьюсеры?» и «Как ими пользоваться?». Это позволит вам понять, нужны ли они в ваших проектах, и, если нужны — поможет приступить к их использованию.

Путь к трансдьюсерам на чистом JavaScript


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

Категория: Программирование » Веб-разработка

 

Топ-10 докладов конференции Гейзенбаг 2016 Moscow

Автор: admin от 26-05-2017, 10:30, посмотрело: 29

Сегодня пятница, впереди выходные и много свободного времени – пора публиковать десятку лучших докладов с Гейзенбаг 2016 Moscow! Подборка получилась весьма разнообразная и охватывает тестирование со всех сторон. Рейтинг, как всегда, предельно объективен, никем не проплачен и основан на отзывах тех, кто был на докладах.

Топ-10 докладов конференции Гейзенбаг 2016 Moscow


Впрочем, вы можете проверить всё сами: полные видео докладов под катом.

Категория: Программирование » Веб-разработка

 

Тонкости отладки или Как (не)убить полдня с debug'ом

Автор: admin от 26-05-2017, 06:20, посмотрело: 23

Вчера потратил полдня в попытках разобраться с причиной появления исключения в PHP-коде, а с утра в голову пришла мысль, что причиной был я сам. Вернее, использование мной отладчика в IDE PhpStorm для трассировки хода выполнения кода.


Тонкости отладки или Как (не)убить полдня с debug'ом


Условия возникновения ситуации — под катом.

Категория: Программирование