Pull to refresh
46
0
Aleksandr Shpak @shpaker

Бью лапками по клавке

Send message

Создаем платформер за 30 минут

Reading time15 min
Views163K
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.

image

Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):



Исходники и exe — внизу статьи.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments14

DevExtreme: быстрое создание кросс-платформенного бизнес-приложения на HTML5 в Visual Studio

Reading time8 min
Views30K
В предыдущих статьях мы уже писали о нашем фреймворке для мобильной разработки — PhoneJS. Сегодня расскажем еще об одном продукте, который призван повысить продуктивность разработчика, в том числе и под мобильные платформы.

Речь идет о DevExtreme — наборе инструментов для Visual Studio 2010 и более поздних версий.

DevExtreme включает:
  1. Упомянутый выше PhoneJS.
  2. JavaScript-библиотеку для визуализации данных ChartJS.
  3. Шаблон проекта для Visual Studio.
  4. Мастер для быстрого создания кросс-платформенного приложения.
  5. Интегрированный в Visual Studio визуальный дизайнер.
  6. Симулятор мобильного устройства для отладки приложения в браузере.
  7. Средства для быстрого запуска на устройстве по QR-коду
  8. Средства упаковки приложений в нативные контейнеры.

Бизнес-приложение — это, как правило, интерфейс вокруг базы данных плюс бизнес-логика. Многие web-фреймворки (Ruby on Rails, Django, Yii, ASP.NET MVC и другие) включают инструменты скаффолдинга для моментальной генерации каркаса приложения на основе уже имеющихся данных.

DevExtreme предоставляет аналогичную возможность для создания так называемых multi-channel приложений, которые будут работать как на мобильных устройствах (включая iOS, Android, Windows Phone 8, Tizen и Microsoft Surface), так и в обычных веб-браузерах. Это делается с помощью специального генератора.

Давайте рассмотрим его работу в действии...
Total votes 41: ↑38 and ↓3+35
Comments2

API консоли Javascript

Reading time15 min
Views36K
Разработчикам удобно пользоваться консолью для отладки, но ещё удобнее, если будет оболочка, в которой учтены особенности реализации консоли в различных браузерах, поэтому тема обёрток для консоли устойчиво существует.

Рассмотрим ранее опубликованные решения, затем сделаем обзор методов консоли с помощью перевода недавней статьи Axel Rauschmayer-а, разработчика и консультанта с более чем 15-летним стажем, затем я опубликую некоторые свои решения, которые оказались удачными в процессе эволюции и отладки на ряде проектов.
UPD 2015: обновление таблицы команд до актуального состояния, Github (ru, en; разворачивание на javascript).
ой, сколько букв
Total votes 51: ↑50 and ↓1+49
Comments30

Создание гравитационной и портальной пушки. Как правильно убить персонажа в машине и создать теплый вязаный интерфейс

Reading time11 min
Views39K
Привет Хабра!

Эта статья продолжает цикл статей об игровом движке StalinGrad. В прошлой статье мы насиловали DHTML, а в этой — будем насиловать архитектуру и прототипы.

Кода практически не будет, поэтому, если вы не web разработчик, можете просто почитать про архитектуру и ООП. И таки да — про HTML5 тут снова ничего не будет, только DHTML-хардкор :)



Сразу короткое демо:
Пример 1 — паралельные миры
Пример 2 — один мир с разных камер
Пример 3 — боты
Пример 4 — нянкэт, облака и портальная пушка
Читать дальше →
Total votes 93: ↑88 and ↓5+83
Comments34

Meteor — Node.js для гуманитариев

Reading time6 min
Views58K

Введение


На хабре уже несколько раз упоминали о проекте Meteor, основанном в 2011 году семерыми энтузиастами web-технологий из Сан-Франциско. По сути Meteor является просто надстройкой над node.js, который сам ещё даже не дошёл до релизной версии. Тем не менее проект собрал более семи тысяч подписчиков на github и получил 11 миллионов долларов инвестиций.
С чего такая популярность? Дело в заявлении авторов о том, что они хотят кардинально переосмыслить способ написания современных web-приложений в сторону его упрощения. Не секрет, что написание кода на чистом node.js довольно сильно выворачивает мозг и вынуждает использовать различные костыли image в виде control flow средств. На Meteor, говорят авторы, писать крутые приложения сможет даже гуманитарий.
Ну что же, проверим. Имеется: 1 гуманитарий-социолог, закрывший сессию и желающий после Парсонса и Зиммеля перейти на что-нибудь полегче, компьютер с Ubuntu 12.10 и установленный node.js (не спрашивайте, как он оказался у социолога).

Вдохновимся обещаниями разработчиков, прекрасной девушкой-членом команды и начнём.
Подробности
Total votes 85: ↑60 and ↓25+35
Comments81

Node.js и новый фронтенд в вебе

Reading time5 min
Views46K
(Дата оригинала — 7.10.2013. У оригинала — очень оживлённая дискуссия в комментариях)

Фронтенд-разработчики имеют довольно долгую и сложную историю в программировании. Долгое время отправляемое в браузер было так легко отобразить, что не было настоящей потребности в этой специализации. Многие считали, что они были просто графическими дизайнерами с немного другими выразительными средствами. Мысль о том, что они могли в один прекрасный день специализироваться в веб-технологиях, HTML, CSS, Javascript — была смехотворной; в лучшем случае — пользовательский интерфейс их удел или, в конце концов, кто-то мог специализироваться на том и другом и иметь эту работу.
Читать дальше →
Total votes 75: ↑59 and ↓16+43
Comments40

Насилие над DHTML и вывод JavaScript на десктоп. Реставрация старых игр. Сборка web-приложений

Reading time12 min
Views24K

Реставрация старых игр


Привет Хабра! Это статья первая из цикла статей о игровом движке StalinGrad. Начну повесть о нем из далека, рассмотрев предпосылки для его создания. В статье речь пойдет о том, как делать игры, конвертировать JS -> APK, и прочих трудностях и проблемах.

Пример до реставрации и после (а еще для Android`a):

Читать дальше →
Total votes 93: ↑82 and ↓11+71
Comments14

Сборка и настройка Transmission в Debian или все что вы хотели знать о Transmission но боялись спросить

Reading time6 min
Views122K
Transmission LogoDebian LogoTransmission — один из самых популярных torrent клинтов в мире Unix-подобных операционных систем и, к примеру, является выбором по умолчанию в таких дистрибутивах как Ubuntu, Fedora и openSUSE. В своей работе Transmission потребляет заметно меньше системных ресурсов нежели другие torrent клиенты благодаря чему может и используется во многих встраиваемых ОС даже таких устройств как домашние WiFi роутеры/точки доступа или сетевых медиаплеерах. Кроме того, Transmission обладает встроенным web-интерфейсом и не требует для его работы ни Apache, ни Lighttpd, ни какого другого http сервера. Именно о установке и настройке новейшей версии этого замечательного torrent клиента я и хочу рассказать в этом посте.
Читать дальше →
Total votes 39: ↑28 and ↓11+17
Comments79

Создаем эмулятор приставки

Reading time15 min
Views27K
Вероятно, многие программисты если и не мечтали, то хотя бы задумывались о написании собственного эмулятора какого-либо процессора. Возможно, некоторые даже экспериментировали с чем-то вроде Z80. Но не многие дошли до финальной реализации эмулятора.



В этой заметке я хотел бы поговорить о создании простого эмулятора игровой платформы CHIP-8 из далеких 70-х. Во-первых, мы прикоснемся к истории, а во-вторых, эта платформа из за своей простоты позволит создать полностью функциональный эмулятор даже начинающим программистам.
Читать дальше →
Total votes 114: ↑111 and ↓3+108
Comments35

Я оглянулся посмотреть не оглянулась ли она… или история о том, как я был сам себе провайдером в начале 2000-х

Reading time8 min
Views64K
Интернет в нашем городе появился стандартно — в виде государственного монополиста связи, устроившего модемный пул в несколько десятков каналов. Доступ к Всемирной паутине пришел не на пустое место — уже несколько лет процветала сеть Fidonet, насчитывавшая у нас целых три ноды и до сотни подписчиков-поинтов. Номер своего поинта уже и не вспомню, но где-то в архивах на дисках еще пылится подборка нужного софта — тоссера, голдеда, продвинутой «звонилки» и прочего.
Так что модемы у многих были, равно как и желание поскорее приобщиться к мировой сети.



Читать дальше →
Total votes 156: ↑155 and ↓1+154
Comments53

Знай сложности алгоритмов

Reading time2 min
Views990K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Кейт Матсудейра: Масштабируемая веб-архитектура и распределенные системы

Reading time32 min
Views84K
Шесть месяцев назад ребром встал вопрос о тексте для моего дипломного перевода. Результатом помощи коллективного разума стало решение переводить главу Scalable Web Architecture and Distributed Systems за авторством Kate Matsudaira. Нужно отметить, что это мой первый перевод такого объема и сложности. Текст, был мною относительно успешно переведен, хотя по качеству перевода я поставил бы себе 6-7 из 10. Дабы мои усилия не пропали втуне, публикую результат своих трудов.

По просьбам читателей Хабра, теперь полная версия в виде топика.

The Architecture of Open Source Applications (Volume 2)

Масштабируемая веб-архитектура и распределенные системы


Кейт Матсудейра

Перевод: jedi-to-be.
Коррекция: Anastasiaf15, sunshine_lass, Amaliya, fireball, Goudron.


Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments5

Путь JavaScript модуля

Reading time28 min
Views121K


На момент написания этой статьи в JavaScript еще не существовало официальной модульной системы и все эмулировали модули как могли.

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

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

Дело в том, что раньше не думали, что на JavaScript можно делать огромные проекты, а не просто «пропатчить DOM», поэтому о модулях не думали. Да и вообще не думали о будущем. И тут Внезапно будущее нагрянуло! Все вроде-бы уже есть, а модули в JavaScript, мягко говоря, запаздывают. Поэтому разработчикам приходится крутиться и выдумывать какие-то эмуляторы модульности.

Думаю многие из вас читали прекрасную статью Addy Osmani Writing Modular JavaScript With AMD, CommonJS & ES Harmony, которая стала одной из глав его книги Learning JavaScript Design Patterns в этой статье рассказывается про «современные» JavaScript модули или же читали достаточно старую статью JavaScript Module Pattern: In-Depth 2010 года про «старые» модули.

Я не буду переводить эти статьи и не буду делать из них солянку. В своей статья я хочу рассказать о моем модульном пути. О том как я проделал путь от «старых» модулей к «новым» и что использую сейчас и почему.
Читать дальше →
Total votes 188: ↑185 and ↓3+182
Comments71

Особенности работы или «За что я люблю JavaScript»: Замыкания, Прототипирование и Контекст

Reading time17 min
Views103K
Зародившись как скриптовый язык в помощь веб-разработчикам, с дальнейшим развитием JavaScript стал мощным инструментом разработки клиентской части, обеспечивающий удобство и интерактивность страницы прямо в браузере у пользователя.

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

Думаю, что большинство программистов, писавших код на JavaScript больше пары дней, сталкивались с этими особенностями. Цель данного топика не открыть что-то новое, а попытаться описать эти особенности «на пальцах» и «недостатки» сделать «преимуществами».

В данном топике будут рассматриваться:

  1. Замыкания
  2. Прототипирование
  3. Контекст выполнения

Читать дальше →
Total votes 112: ↑91 and ↓21+70
Comments85

Использование SQLite в .NET приложениях

Reading time7 min
Views158K


В некоторых проектах достаточно часто возникает необходимость в хранении данных, объем которых уже нельзя назвать маленьким, но в тоже время использовать какую-либо СУБД слишком накладно из-за сложности развертывания приложения. И тут на помощь приходит такая прекрасная вещь как SQLite – компактная встраиваемая база данных.

Для тех, кто пишет с использованием платформы .NET приятным моментом станет наличие
Читать далее...
Total votes 61: ↑52 and ↓9+43
Comments48

Однажды фанера, atmega, да малина

Reading time6 min
Views106K

Введение.


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

Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments69

Эффектная анимация разрушения (Pixel Dust) на JavaScript

Reading time5 min
Views43K
В процессе развития нашей игры на HTML5, мы столкнулись с дилеммой: рисовать для каждого элемента эффект разрушения или попробовать сделать это программно на JavaScript (canvas). Если с первым способом всё понятно (проверенно работает, но много работы художнику), то со вторым у нас были сомнения относительно скорости рендера, ведь это 60FPS x 64 x 4 байта ~ 1 МБ/сек. на один элемент, а если их 40 на одном экране?

Как оказалось, наши сомнения были напрасны...
Total votes 105: ↑104 and ↓1+103
Comments55

Перечень российских научных журналов по теме информационных технологий

Reading time3 min
Views93K
Сущность научной работы — в борьбе с нежеланием работать. [ И. П. Павлов]

Несмотря на значительную долю чистых практиков, сфера IT также существует и в ипостаси фундаментальных исследований или научных разработок. В данном материале приводится перечень российских рецензируемых научных журналов по теме информационных технологий, входящих в список ВАК.


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


Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments34

Ностальгия: роемся у «Танчиков» под капотом

Reading time12 min
Views103K
Многие из нас выросли на «Танчиках», «Марио» и прочих нетленных шедеврах времён рассвета игровой индустрии. Приятно порой вспомнить, как днями напролёт резались с друзьями у экранов телевизоров, меняя джойстики как перчатки. Но время не стоит на месте, и одни интересы сменяются другими. Однако, порой любовь к старым-добрым игрушкам не угасает.
Я отношу себя к людям именно таким, и мой интерес к старым играм пошёл в сторону реверс-инжиниринга, что и привело меня в IT-сферу, где я и осел с концами.

Я хочу рассказать вам о том, что же под капотом у железных монстров из знаменитой игры Battle City (в простонародье «Танчики») с не менее знаменитой приставки Nintendo Entertainment System (сокращённо NES, в России более известен её китайский клон «Dendy»). Мне в своё время эта информация показалась довольно любопытной — надеюсь, такой же она покажется и вам.
Читать дальше →
Total votes 233: ↑232 and ↓1+231
Comments72

Переводы русского GUI на некоторые языки

Reading time1 min
Views1.7K
Занимались тут переводом наших гуёв на некоторые мировые языки. Особенно запомнился перевод на монгольский:

Русский -> Монгольский

Назад -> Буцах

Отмена -> Цуцлах

Демо-режим -> Танилцах горим

E-mail -> цахим шуудан

Выход -> Гарах

Нет -> Үгүй

Телефон -> Утас

Веб-сайт -> Вэб хуудас

Адрес сервера успешно установлен -> Серверийн хаягыг амжилттай суулгав.

Технология «Резервная копия» -> “Нөөц хувь” технологи

Уважаемый Пользователь! -> Эрхэм хэрэглэгч ээ!

Идет проверка диска -> Дискийг шалгаж байна

Идет соединение с сервером -> Сервертэй холбогдож байна

Если у вас нет серийного номера, вы можете его приобрести -> Хэрвээ танд цувралын дугаар байхгүй бол түүнийг худалдан авч болно

Лицензия не действительна (код ошибки ...) -> Лиценз хүчингүй байна (алдааны код ...)

Код оборудования (идентифицирует компьютер) -> Компьютерийн код (компьютерийг танихад хэрэглэнэ):

Серийный номер -> Цувралын дугаар
Total votes 76: ↑15 and ↓61-46
Comments14

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity