Как стать автором
Обновить
21
0
Андрей @serenheit

Пользователь

Отправить сообщение

Пишем игру-клон Super Mario Brothers (часть 1)

Время на прочтение23 мин
Количество просмотров88K
imageДля многих из нас Super Mario Brothers была первой игрой, которая по-настоящему завораживала своим игровым процессом.
Интуитивное управление SMB и великолепный дизайн уровней от Nintendo заставляли проводить часы напролет в виртуальной вселенной сантехника и его напарника.

В этом чудесном туториале от Джейкоба Гандерсена мы создадим собственный платформер; но, так как главным героем будет Коала, мы назовем нашу игру «Super Koalio Brothers!» ;]
Также, чтобы упростить механику, мы забудем о движущихся врагах. Вместо них мы будем использовать шипованные блоки, встроенные в пол. Это позволит нам полностью сконцентрироваться на сердце платформера — физическом движке.

Внимание! Под катом невероятное количество переведенного текста, картинок, кода (код не переведен) и руководство по созданию собственного физического движка!
Читать дальше →
Всего голосов 127: ↑120 и ↓7+113
Комментарии16

[ANN]ounce книг 11'2012

Время на прочтение5 мин
Количество просмотров19K
Подобные анонсы книг выходят у меня не так и часто, но от этого они не становятся менее полезными. Как обычно, я подготовил список новинок компьютерной или околокомпьютерной литераторы на русском и английском языках, которые вышли недавно в свет, или же появятся в какое-то ближайшее время.
Это не список рецензий, а всего лишь перечень книг, которые я сам с удовольствием прочитаю в ближайшее время. Так что мое мнение основано скорее на имени автора и какого-то «средневзвешенного» мнения народа в наших с вами интернетах, и оно вполне может измениться после более близкого знакомство с этими творениями. Тем не менее, все они, как минимум, заслуживают нашего с вами внимания и достойны добавиться в бесконечный список книг на полке “to-read”.


Читать дальше →
Всего голосов 33: ↑26 и ↓7+19
Комментарии14

Просмотр изображений OpenCV во время отладки C++ кода в Visual Studio

Время на прочтение10 мин
Количество просмотров19K


Если вы пишете код для обработки изображений на С++, вы наверняка используете замечательную библиотеку OpenCV. Уверен, вам не раз хотелось посмотреть на изображения в процессе отладки вашего кода. Для этого можно использовать такие удобные функции как imshow или imwrite. Однако это требует модификации исходного кода, а любая современная IDE во время отладки позволяет смотреть значения переменных на лету. Вот было бы здорово так же смотреть изображения?

Если в качестве IDE вы пользуетесь Visual Studio, то знаете, что с .NET в этом плане всё проще. Однако речь идёт про OpenCV, а это только native C++, только хардкор. В этой статье я расскажу, как всё-таки заставить Visual Studio показывать изображения прямо в процессе отладки и дам ссылку на готовое решение. А также коротко расскажу о способах кастомизации Visual Studio.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии6

Обучение на курсе CS50x

Время на прочтение4 мин
Количество просмотров62K
Добрый день.

Прежде чем записаться на курс Harvard CS50x я сначала пролистал поиск, выискивая отзывы о нём. С удивлением обнаружил, что результатов не так уж и много. Надеюсь эта краткая информация поможет другим страждущим понять, надо ли им это.

Итак, что же нам говорит сайт edX об этом курсе:
CS50x is Harvard College's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. As of Fall 2012, the on-campus version of CS50x is Harvard's largest course.

В переводе на русский это значит следующее: на курс можно записаться всем желающим, даже если у вас за спиной 3 класса церковно-приходской школы. В процессе изучения будут использованы C, PHP, JS, SQL, CSS и HTML. В отличие от курса MIT 6.00X, где требуется High School algebra, при поступлении на CS50x никаких требований к математике не выдвигается, что порадовало, так как с высшим образованием у меня отношения не сложились.

Пара слов о преподавателе курса, Дэвиде Малане

Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии26

Полезные штуки для iOS-разработчика #2

Время на прочтение3 мин
Количество просмотров38K
Некоторое время назад я прочитал интересный пост, посвященный полезным фрэймворкам и библиотекам для разработки под iOS. С вашего позволения и согласия Coder89 представляю «Полезные штуки для iOS-разработчика часть вторая».
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии19

За кулисами Android: что-то, чего вы можете не знать

Время на прочтение14 мин
Количество просмотров150K


0. Оглавление


  • 1. Предисловие
  • 2. Хак eMMC памяти HTC Desire HD с целью изменения идентификационной информации телефона
  • 3. Создание телефона-оборотня с использованием криптографии
  • 4. Ложная безопасность: обзор угроз несанкционированного доступа к данным
  • 5. Заключение


1. Предисловие


Мобильные гаджеты стали неотъемлемой частью нашей повседневной жизни, мы доверяем им свои самые сокровенные тайны, а утрата такого устройства может привести к серьезным последствиям. Сегодня много внимания уделяется освещению вопросов мобильной безопасности: проводятся конференции, встречи, крупные игроки выпускают комплексные продукты для персональной и корпоративной защиты мобильных устройств. Но насколько такие средства эффективны, когда устройство уже утрачено? Насколько комфортны они в повседневном использовании – постоянные неудобства с дополнительным ПО, повышенный расход батареи, увеличенный риск системных ошибок. Какие советы можно дать беспокоящимся за сохранность своих мобильных данных? Не хранить ничего важного на смартфоне? Тогда зачем он такой нужен – не птичек же в космос отправлять, в самом деле?
Сегодня я хочу поговорить с вами об устройствах под управлением ОС Android, созданной глубокоуважаемой мною компанией Google. В качестве примера я использую неплохой смартфон прошлых лет от компании HTC – Desire HD. Почему его? Во-первых, именно с него мы начали свою исследовательскую деятельность в области безопасности Android-устройств, во-вторых – это все еще актуальный смартфон с полным набором функций среднестатистического гуглофона. Он поддерживает все версии Android, в нем стандартный взгляд HTC на организацию файловой системы и стандартная же раскладка разделов внутренней памяти. В общем, идеальный тренажер для защиты и нападения.
С этим докладом я выступил на вот-вот только прошедшей конференции ZeroNights 2012 и теперь хочу презентовать его хабрасообществу. Надеюсь он будет вам интересен и даже немного полезен.
Читать дальше →
Всего голосов 108: ↑102 и ↓6+96
Комментарии33

Типичный день под присмотром Алисы

Время на прочтение6 мин
Количество просмотров135K
Недавно вышла новая версия комплекса MajorDoMo, о котором на Хабре была обзорная статья, и я решил, что было бы хорошо показать на живом примере, как оно работает. Возьмём самый обычный будний день и посмотрим, как Умный дом себя вёл в его течении.

Картинка для привлечения внимания

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии112

Собираем wi-fi устройство управления электроприборами с веб-сервером и JS-фронтэндом

Время на прочтение12 мин
Количество просмотров254K
Добрый день, уважаемые хабровчане. В этой статье я несколько отойду от своего традиционного подхода к DIY – нашей основной целью станет быстрое и эффективное получение результата, а не изобретение велосипедов с целью самообучения, поэтому даже люди, впервые держащие паяльник, смогут все это повторить и получить готовое устройство за ~1000 рублей и один день.
Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии37

Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 2

Время на прочтение5 мин
Количество просмотров61K

Great Appeal или девушка на миллион



Девушка на миллион

Итак, в прошлой статье мы закончили на том, что разобрались с тем, как получить «показы» нашего приложения в AppStore.

Иногда ошибочно считается, что запуск – это самое сложное. Это, мягко скажем, не так. Настоящая работа начинается после запуска.

Команда, искренне уверенная в качестве своего проекта, ждет вертикального взлета продаж с асимптотой к бесконечности… Но обычно получается больше похоже на новогодний фейерверк – короткий взлет, стремительное падение и забытье.

Кто виноват и что делать?
Всего голосов 116: ↑102 и ↓14+88
Комментарии27

Оптимизация игр под iOS платформу. Векторизация кода

Время на прочтение11 мин
Количество просмотров16K
Давно назревало желание написать парочку статей, в которых я смогу выложить свой опыт и знания на тему оптимизации игр под ARMv7 архитектуру CPU и PowerVR SGX 5 серию GPU, читай iOS платформу. Но все, или почти все, советы в равной степени применимы под другие системы с тем же железом, читай Андроиды. Данный материал в может быть применен не только в играх но и в большинстве ресурсоемких приложений — обработка изображений, аудио, видео и т.д. Начну свою первую статью с наиболее важной, ИМХО, оптимизации – векторизации кода под NEON.

Эта статья началась как доклад, на конференцию, которая состоится 24.11. Кладезь советов по оптимизации под iPhone можно найти здесь. Следующие статьи будут развивать в ширь и глубь темы материала из этой презентации.
Познакомиться с первой статьей
Всего голосов 54: ↑48 и ↓6+42
Комментарии33

Работа с файлами .plist в Cocoa/CocoaTouch

Время на прочтение6 мин
Количество просмотров27K
Всем доброго хабрадня!

Сегодня я бы хотел рассказать о некоторых аспектах сохранения настроек и прочих данных программы в OS X и/или iOS. Как обычно, у нас есть несколько вариантов: Core Data, «голый» SQLite, свои бинарные форматы, свои текстовые форматы, NSUserDefaults и, как Вы уже наверняка слышали, файлы типа PLIST, то есть XML Property List.

Вкратце, plist-файлы представляют из себя обычный XML, но с некоторыми оговорками. К примеру, порядок тегов в нём обусловлен некоторыми правилами: они идут парами «ключ-значение», но теги типа «ключ» и теги типа «значение» располагаются на одном уровне. Типичный пример:

	<key>identifier</key>
	<string>j3qq4-h7h2v</string>

Плисты умеют хранить основные типы данных Cocoa: NSString, NSNumber (int, float, BOOL), NSDate, NSArray, NSDictionary и NSData. Этим типам соответствуют следующие теги: , , , <true/>, <false/>, , , , . Собственно, plist состоит из тегов , за которыми следуют перечисленные теги со значением.

Под катом - описание дополнительных ограничений и, что самое главное, API для работы с такими файлами.
Как с ними работать
Всего голосов 18: ↑16 и ↓2+14
Комментарии23

7 бубей iOS разработчика игр

Время на прочтение4 мин
Количество просмотров19K
Долгих лет жизни читающему эти строчки.
В статье обобщен трехлетний опыт создания iOS игр для личного пользования.
Примеров программного кода не будет. За примерами программного Вы идите на stackoverflow.com.

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

Лентяям предлагаю посмотреть видео-ролик.


Остальных приглашаю в мир букв и забавных событий.
Читать дальше →
Всего голосов 63: ↑51 и ↓12+39
Комментарии40

Собираем и заставляем бегать бюджетного гексапода

Время на прочтение11 мин
Количество просмотров270K
Много чего предстоит сделать, прежде чем мы дойдем до вот этой картинки:



Опуская росказни о том, как именно я пришел к мысли построить гексапода (это были тонны видео на ютубе), перейду сразу к процессу выбора деталек. Это был январь 2012-го. Я сразу знал, чего я хочу от своего робота, а чего — нет. Я хотел:

— каждая нога должна иметь 3 степени свободы — 3dof (3 dimensions of freedom). Потому что более простой вариант 2dof — не дает такого ощущения насекомого, а 4dof — излишне, 3dof и так позволяет свободно перемещать кончик ноги в 3д пространстве;
— 6 ног; снова-таки, это уже не 4 (тогда робот неуклюже скачет), но и еще и не 8, как у пауков и уже чрезмерно;
— небольшой;
— дешевый;
— минимум плат и соединений;

Пост большой.
Читать дальше →
Всего голосов 224: ↑222 и ↓2+220
Комментарии60

Через тернии к Haskell. 1/2

Время на прочтение25 мин
Количество просмотров227K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Всего голосов 137: ↑133 и ↓4+129
Комментарии52

Создание красивого образа .dmg для программы в [Mac] OS X

Время на прочтение6 мин
Количество просмотров28K
Приветствую достопочтенных жителей Хабра!

Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

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

Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Приступим
Всего голосов 70: ↑64 и ↓6+58
Комментарии18

Комикс Xkcd на 13 гигапикселов

Время на прочтение1 мин
Количество просмотров68K


Вчерашний комикс Xkcd Click and Drag — это настоящий квест, на прохождение которого может уйти целый день. Комикс целиком занимает 165.888 x 79.872 px, то есть 13 гигапикселов. Если распечатать его с разрешением 300 dpi, то получится плакат 14 х 6,75 метра.
Читать дальше →
Всего голосов 145: ↑136 и ↓9+127
Комментарии81

Unix как IDE: Введение

Время на прочтение3 мин
Количество просмотров38K
Профессиональные программисты, как новички, так и опытные, обычно придерживаются концепции IDE, или «интегрированной среды разработки». Правда, удобно же иметь самые необходимые средства организации, написания, поддержки и тестирования кода в одном приложении с единым интерфейсом для всех инструментов? К тому же, среда, специально спроектированная для программирования, дает ряд преимуществ, таких как автодополнение, проверка и подсветка синтаксиса.

Подобные средства есть для всех распространенных настольных ОС, включая Linux и BSD, и многие из них совершенно бесплатны, так что вряд ли имеет смысл ограничивать себя в Блокнотом Windows, nano или cat.

Однако, в среде поклонников Unix гуляет в разнообразных вариациях мем о том, что «Unix — это IDE», в том смысле, что средства, которыми разработчики располагают в терминале, легко реализуют основные возможности современных IDE. Вы можете соглашаться или отказываться признать Unix «IDE» в том самом смысле, что Eclipse или Microsoft Visual Studio. Так или иначе, вас скорее всего удивит, насколько законченную среду разработки может являть собой скромный Bash.
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии71

Избранное Хабра в PDF

Время на прочтение3 мин
Количество просмотров17K
Всех с наступившими!

image

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

UPD:
— Исправлена ошибка «too large on page» (подробнее на github) Спасибо Bifidokk и StreetAngel
— Авторы топиков сделаны ссылкой
— Добавлена возможность сохранять избранное только из указанных блогов

Читать дальше →
Всего голосов 201: ↑192 и ↓9+183
Комментарии113

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность