Pull to refresh
51
0
Илья Панасенко @HDg

User

Send message

Простой класс для работы с XML

Reading time14 min
Views22K
Предисловие


Как-то давно, я столкнулся с проблемой под названием «Document Object Model». При всей простоте и интуитивной понятности самого по себе XML, большинство предлагаемых API парсеров являются чем-то громоздким и труднопонимаемым для человека, который только что начал вникать в особенности работы с XML. Да, я не спорю, всё это комплексные решения, охватывающие все возможные аспекты, но от этого не легче.

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

Тем не менее, пока что приходится изобретать велосипед для себя.

И что же я там изобрёл...

Пишем виджет ХабраКарма ex-CarmaWidget для Android

Reading time17 min
Views32K
Вчера я таки обновил CarmaWidget, виджет, который отображает вашу карму на рабочем столе смартфона. Сегодня я расскажу о том, как написать виджет.

image

Принцип таков:
  • Класс — настройки для виджета, который запускается при добавлении последнего на рабочий стол.
  • Класс — провайдер информации для виджета, в котором живут все таймеры.
  • База данных — для хранения информации о пользователе.
  • Два layout'а — для виджета и настройщика.


Читать дальше →

Война браузеров. Лето 2010

Reading time13 min
Views7.7K
Сразу хочу сказать, что данное тестирование будет проведено исключительно в исследовательских целях. Цели выявить лучший браузер нет. Данные будут представлены для ознакомления с имеющимися тенденциями на рынке браузеров.

Война браузеров началась в далёком 1996 году с жестокого противостояния между Netscape Navigator и Internet Explorer. Подробнее можно прочитать об этом на Википедии. Вдаваться в исторический экскурс и лирические отступления я не хочу, поэтому приступлю к самому сравнительному тестированию.
Читать дальше →

100 indie и просто разных игр за 10 минут

Reading time1 min
Views831
Превосходная нарезка геймплея кучи разных игр (как правило, indie, есть opensource, игр вроде Asassins Creed или FarCry тут нет). В углу есть название каждой игры. Записываем в блокнотик понравившиеся, ищем, качаем, играем.

Великолепная подборка инди-игр*. Часть четвёртая

Reading time5 min
Views7.2K
*или чем занять все выходные на полгода вперёд.

Четвёртая часть, последняя на сегодня(а может быть и нет. Подробности — в конце поста). Я надеюсь, что кто-нибудь живой(после трёх частей-то!) до сюда доберётся :)

Часть первая.
Часть вторая.
Часть третья.

La Mulana

La MulanaДлинная платформенная игра в стиле Индианы Джонса, большей частью основанная на Maze of Galious от Konami и других играх компьютеров MSX. Она невероятно сложна, включает в себя зверские битвы с боссами и трудные головоломки, но благодаря этому заработала себе многочисленных поклонников(мазохистов).

Бесплатная.
Windows.


Mount & Blade

Mount & BladeСуществует много игр, действие которых разворачивается в средневековье, но лишь парочка из них тянет на звание «реалистичных симуляторов». Игра, в который кавалерийские баталии реализованы настолько по-живому, что прям-таки ощущаешь себя в шкуре воина, не могла не понравиться тысячам игроков по всему миру. Пользователь напрямую управляет только одним персонажем в игре, но может нанимать и тренировать солдат для помощи в битве. Игра печально известна своим открыто-незаконченным геймплеем, но тем не менее стоит того, чтобы с головой в неё уйти на несколько дней.

$30 на сайте разработчика. Официально издана в России компанией 1C.
Windows.

Читать дальше →

Великолепная подборка инди-игр*. Часть третья

Reading time6 min
Views6.1K
*или чем занять все выходные на полгода вперёд.

Продолжаю баловать читателей Хабрахабра инди-играми в вечер пятницы. Части первая и вторая подборки для тех, кто пропустил по невнимательности :)

Chalk

ChalkЯ рассматриваю эту игру как шутер, хотя на самом деле вы ни во что стрелять тут не будете. Управляя куском мела мышью, вы уничтожаете врагов, пересекая их слабые места нарисованными линиями. Эта игра — отличный пример хорошей реализации талантливой идеи.

Бесплатная.
Windows.


Clean Asia

Clean AsiaДругой инновационный шутер, Clean Asia позволяет вам контролировать либо Майкла Р. Дола на корабле-привлекателе, либо Мики И. Дола на корабле-отражателе. Ваша цель? Уничтожение злобных глазных яблок, которые одурманили людей Азии(отсюда название). Но на самом деле, этот странный сюжет придуман лишь для обёртки находчивой игровой механики, которая заставляет вас разбивать на куски врагов, а затем использовать эти куски в роли пуль.

Бесплатная.
Windows.

Читать дальше →

Великолепная подборка инди-игр*. Часть вторая

Reading time7 min
Views8.6K
*или чем занять все выходные на полгода вперёд.

Вторая часть грандиозной подборки инди-игр для читателей Хабрахабра. Начало положено в этом посте.

Почему всё растянуто на четыре части, а не в одном посте? Нет, я не гонюсь за рейтингом. Изначально я хотел засунуть всё в один пост, но что-то не получалось с технической стороны. Пост достаточно большой выходил — около 85 килобайт одного текста. Тогда я написал в техподдержку, и уважаемый Shoohurt мне ответил:
Игорь <xrazont@gmail.com>
Я хочу запостить относительно большой топик(~85 килобайт текста с тегами), но не получается — после нажатия на кнопку «отправить» сначала ничего не происходит, а потом вылезает сообщение «Some error… We know...». Мне действительно лучше подождать, пока эту проблему(если это проблема вообще) починят, или же запостить как-нибудь по-другому? Очень не хотелось бы резать пост на части.

Alexander Savitsky <as@thematicmedia.ru>
Это не совсем баг, а, скорее, особенность механизма постинга на Хабре. В идеале столь большие топики лучше все-таки постить частями (можно одну за другой сразу). В противном случае нам придется возиться с этим топиком вручную, что едва ли хорошо :)

Я тут подумал, что препираться не стоит и разделил пост на четыре. Зато теперь можно ещё с десяток написать! Правда вот столько игр не наберётся хороших…

World of Goo

World of GooВдохновлённая Pontifex, World of Goo, выстрелившая на весь мир, стала одной из самых популярных инди-игр. Удивительно, но собирать башни и другие шедевры архитектурного Goo-искусства из живых капель грязи может быть весьма медитативным процессом, требующим некоторой подготовки и доставляющий истинное наслаждение прочностью всей конструкции. А прекрасный саундтрек отлично способствует всему этому!

$20.
Windows, Linux, Mac OS X, Wii.
Пост на Хабре про World of Goo


Caster

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

$5.
Windows, Linux, Mac OS X, iPhone.

Читать дальше →

Великолепная подборка инди-игр*. Часть первая

Reading time7 min
Views20K
*или чем занять все выходные на полгода вперёд.

В определении инди-игр я волен соглашаться с энциклопедией Google Knol(привет, Mio :):
Инди-игры (англ. indie games от англ. independent — «независимый») — видео-игры, созданные независимо от крупных издателей. Большинство изначально свободных игр также относится к этой категории. Инди-игры обычно — дешёвые или бесплатные, часть из них разрабатывается как open source. Разработчиками инди-игр руководят чаще всего «некоммерческие» мотивы — желание самореализации, воплощения своих идей и фантазии, некоторой славы и пр. На создание такой игры могут уйти годы или она может быть завершена за несколько дней или даже часов, в зависимости от её сложности, участников, оформления.

Читать дальше →

10 юзабилити-преступлений, которых вы не должны совершать

Reading time2 min
Views4.5K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →

TOP-10 Flash-игр

Reading time2 min
Views6K

Сегодня уже можно :)



1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
Читать дальше →

Топик добра или концепт хабрафутболок

Reading time1 min
Views651
image
Насколько я знаю, у хабралюдей до сих пор нет своих футболок от Хабра. Поэтому я решила предложить свой вариант их дизайна. Возможно, руководство Хабра обратит на них внимание и сделает их реальными.

В продолжении три футболки

Все «секреты» Windows 7

Reading time10 min
Views393K
По многочисленным просьбам — перевод статьи «The Bumper List of Windows 7 Secrets».

Здесь пропущено вступление о том как здорово, что Windows 7 вышла в свет, которое все равно все пропустят и будут читать сами «секреты».

1. Управление окнами


Вы, наверное, уже знаете, что Windows 7 делает работу с окнами во многом проще. Окно можно «прикрепить» к левой или правой половине экрана просто придвинув к соответствующему краю, а так же окно можно разворачивать/восcтанавливать по вертикали двойным щелчком по нижней границе окна. Но вот чего вы, наверное, не знаете, так это того, что все эти действия доступны через горячие клавиши.
  • Win+Влево и Win+Вправо — прикрепить окно
  • Win+Вверх и Win+Вниз — разворачивает и восстанавливает/сворачивает окно
  • Win+Shift+Вверх и Win+Shift+Вниз — разворачивает и восстанавливает окно по вертикали
Но это далеко не всё

Спокойной ночи!

Reading time6 min
Views21K
image Около месяца назад я приобрел HTC Hero. Основной причиной, по которой был выбран этот телефон, а не iPhone, была возможность полноценно разрабатывать приложения под Windows.

В качестве пробы пера я написал небольшую программу, которая выключает звук на ночь. Под катом описание процесса разработки и ссылка на программу.
Читать дальше →

Обзор ECMAScript 6, следующей версии JavaScript

Reading time6 min
Views99K
Для начала, ликбез и несколько фактов:
  • ECMAScript — это официальный стандарт языка JavaScript (Слово JavaScript не могло быть использовано, потому что слово Java являлось торговой маркой компании Sun) Т.е. JavaScript — это имплементация стандарта ECMAScript.
  • TC39 — комитет, развивающий стандарт ECMAScript и принимающий решения по включению фич в него.
  • ECMAScript стандартов много. Самый популярный из них — ECMA-262.
  • ECMAScript 5 — последняя редакция стандарта ECMA-262 (утвержден в 2009 году).
  • Предыдущие версии стандарта ECMA-262 были (совсем старые не упоминаю):
    • ECMAScript 3 — поддерживается большинством браузеров (утвержден в 1999 году).
    • ECMAScript 4 — не принят в виду слишком радикальных изменений в стандарте. Позднее в июле 2008 году в урезанном варианте (но все же намного богаче, чем ECMAScript 3) вылился в новый проект ECMAScript Harmony.

  • ECMAScript 6 (кодовое имя ECMAScript.next) должен утвердиться до конца 2013 года.


Итак, что же нас ждет в новой версии JavaScript?

Читать дальше →

CSS печатной версии страницы

Reading time3 min
Views170K


На многих сайтах есть возможность отобразить версию страницы для печати, но всегда ли удобно ими пользоваться?

Основными проблемами при распечатке документа становится плохая типографика, наличие лишней информации (например, элементы интерфейса) и неправильные цвета. Для стилизации можно использовать правило @media:
Читать дальше →

Про двумерную упаковку: offline алгоритмы

Reading time12 min
Views71K
Сегодня, дорогой Хабр, я расскажу тебе историю о комбинаторной оптимизации.
Издревле (как минимум, с начала прошлого века) математики задавались вопросом, как оптимально разместить некоторое количество пива нужных и полезных предметов в рюкзаке. Была сформулирована задача о ранце и ее подзадачи — тысячи их! — которые заинтересовали информатиков, криптографов и даже лингвистов.

От задачи о ранце отпочковалась задача об упаковке в контейнеры (Bin Packing Problem), одной из разновидностей которых является задача двумерной упаковки (2-Dimensional Bin Packing). Снова отбросив несколько вариаций, мы наконец придем к двумерной упаковке в полуограниченную полосу (2-Dimensional Strip Packing, 2DSP). Чувствуете, сколько интересного уже осталось за кадром? Но мы еще не закончили продираться сквозь классификацию. У 2DSP есть два варианта входных данных: когда набор упаковываемых объектов известен заранее (offline-проблема) и когда данные поступают порциями (online-проблема).

В этой статье рассматриваются алгоритмы решения offline-варианта 2DSP. Под катом немного матчасти и много картинок с цветными квадратиками.

В чем, собственно, проблема?


Читать дальше →

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views151K


В этой статье собраны полезные  и «правильные» стили и сниппеты, которые помогут ускорить процесс разработки сайта, а также оптимизировать верстку.
Читать дальше →

Бесплатные книги по JavaScript

Reading time2 min
Views66K

Javascript Enlightenment


Cody Lindley


Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

Открыть

Eloquent Javascript


Marijn Haverbeke


Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Открыть

Building A JavaScript Framework


Alex Young


Уровень знаний: продвинутый
Избранные статьи из цикла«Let’s Make a Framework».
Открыть

Читать дальше →

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity