Мейнтейнеры не масштабируются

Автор: admin от 21-01-2017, 22:20, посмотрело: 414

Мейнтейнеры не масштабируются

Система разработки и поддержки ядра Linux не так идеальна, как хотелось бы. Почему бы не улучшить нынешнюю систему, используя в качестве эксперимента успешный опыт других проектов? С таким предложением выступил разработчик Дэниел Веттер (Daniel Vetter). Он подготовил доклад на эту тему для конференции LCA 2017 (слайды), а также опубликовал более подробный текст в блоге.

Дэниел Веттер последние несколько лет занимается поддержкой драйвера ядра для графики Intel drm/i915, он работает в Intel Open Source Technology Center. Драйвер drm/i915 поддерживают два мейнтейнера, а примерно 19 разработчиков имеют право коммитить патчи сразу в основную ветку. «Это вполне нормальная ситуация для сообщества open source, но совершенно немыслимое дело для ядра Linux», — говорит Дэниел. Он считает, что такая организация работы над драйвером вполне успешно себя проявила и её вполне можно использовать в других местах. Например, в ядре Linux, где сейчас на мейнтейнеров приходится слишком большая нагрузка.

Категория: Операционные системы » Linux

 

Карточная игра на JavaScript и Canvas, или персональный Лас-Вегас. Часть 1

Автор: admin от 21-01-2017, 15:50, посмотрело: 735

Однажды на досуге я придумал карточную игру и, недолго думая, создал ее электронную версию. А потом добавил еще четыре игры, включая покер Техасский Холдем. А чтобы было еще интереснее, я встроил некое подобие прогресса: выигрываешь в одной игре – открывается новая. Запланировал я разместить свою игру в двух социальных сетях и в магазине Windows Store как html5-js приложение. А также, возможно, создать еще сборки под Android и iOs. Можно играть чрез сервер с другими людьми, а можно – офф-лайн с ИИ.

Для работы я, как всегда, не использовал никакие сторонние движки и библиотеки, даже jQuery мне не понадобилось. Только функции ванильного javascript, включая средства работы с холстом (canvas). Холст в игре – основа для вывода всей игровой графики. В WebGL, на этот раз, не было необходимости, поэтому зоопарк поддерживаемых браузеров расширился. Средой программирования, как обычно, стал продвинутый блокнот. Игра получилась объемом 3,8 Мб, из которых 3 Мб — это семь карт спрайтов в формате png. Запускается игра по html-файлу. Сервер на PHP. В случае выбора однопользовательской игры (то есть, с ИИ), запросы к серверу не отправляются и все расчеты ведутся на клиенте. Диздок не писал – он не нужен хипстерам.

Карточная игра на JavaScript и Canvas, или персональный Лас-Вегас. Часть 1


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

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

 

Верификация данных пользователей в онлайн приложениях

Автор: admin от 21-01-2017, 15:30, посмотрело: 396

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

Хочу предупредить, что статья нацелена на новичков. Людей которые хотели бы написать свою первую многопользовательскую игру. Если вы хоть раз занимались сетевым взаимодействием в играх, ничего полезного здесь не найдёте.

Техническое отступление


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

Приложение использует технологию canvas для графики и websockets для взаимодействия с сервером. Код не является предметом обсуждения, поэтому писался быстро (основная часть около 2-3 часов), без проектирования и рефакторинга. Я не рекомендую использовать его или его часть где бы то ни было.

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

 

Пишем универсальный UICollectionViewLayout

Автор: admin от 21-01-2017, 15:25, посмотрело: 292

UICollectionView может иметь практически любое расположение элементов. Элементы могут иметь как фиксированные размеры, так и динамические. В данной публикации внимание будет уделено только тем UICollectionViewLayout, размеры элементов которых фиксированы и задаются определенным алгоритмом (типичный пример — расположение иконок на экране Home вашего iPhone). Так же будет сделана попытка описать подход к формированию единого UICollectionViewLayout.

Главная особенность подобных UICollectionViewLayout состоит в том, что в каждом таком расположении можно выделить некую закономерность, по которой происходит повторение размеров и положений элементов. В дальнейшем будем называть это шаблоном. Соответственно, чтобы сделать UICollectionViewLayout нужно составить алгоритм, который формирует шаблон. Пример шаблона повторения:

Пишем универсальный UICollectionViewLayout

Категория: Веб-разработка, iOS

 

Security Week 03: закат SHA-1 продолжается, баг или фича в Whatsapp, уязвимости в роутерах не чинятся

Автор: admin от 21-01-2017, 10:50, посмотрело: 396

Security Week 03: закат SHA-1 продолжается, баг или фича в Whatsapp, уязвимости в роутерах не чинятсяSHA-1 — все. Или нет? Следить за развитием событий вокруг этого алгоритма хеширования легко и приятно: несмотря на очевидную серьезность проблемы, она остается малоприменимой для практических атак, как минимум — массовых. Впервые я упоминал о SHA-1 в дайджесте аж от октября 2015 года. Проблемы с ним появились из-за того, что вычислительные ресурсы подешевели несколько быстрее, чем ожидалось. Эксперт по криптографии Брюс Шнайер в 2012 году предрекал, что через три года для создания коллизии при генерации хэшей потребуется 11 лет вычислений на условном сервере. Три года прошли, и выяснилось, что на самом деле (за счет развития технологий параллельных вычислений, и благодаря новым исследованиям в области криптографии) этот срок значительно меньше — всего 49 дней.

Так как хеширование с помощью SHA-1 используется в весьма ответственных операциях, например при установке защищенного соединения с веб-сайтами, разработчики софта довольно оперативно начали делиться планами по выводу ненадежного алгоритма из эксплуатации. Начиная с 24 января (для Firefox, для других браузеров чуть позже) посещение сайта, не поддерживающего более стойкий алгоритм SHA-2 (обычно модификации SHA-256), будет приводить к разнообразным угрожающим предупреждениям у пользователей.

Категория: Информационная безопасность