Как стать автором
Поиск
Написать публикацию
Обновить
31
0
Кучеренко Александр Сергеевич @TiTanium

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

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

RedBeanPHP — еще одна ORM библиотека

Время на прочтение3 мин
Количество просмотров32K
RedBeanPHP logo
На хабре нашел пару упоминаний про эту ORM, да и то давно и в комментариях. Недавно обнаружил, что вышла уже вторая версия. Желающим — вот ссылка на загрузку (GitHub) и на документацию
Цель этой статьи — кратко познакомить читателей с этой ORM-библиотекой.
RedBeanPHP — еще одна ORM-библиотека. Основное ее отличие от коллег, типа Propel или Doctrine, в отсутствии необходимости ручного конфигурирования объектов. Т.е. никаких xml, yml или ini-файлов. RedBenPHP на лету создает таблицы, поля и индексы. Любой объект можно связать с другим. Из БД поддерживаются MySQL, SQLite и Postgres.
Читать дальше →

Линейная алгебра для разработчиков игр

Время на прочтение19 мин
Количество просмотров796K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →

Использование паттерна mediator для переключения между activity

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


В простейшем случае для запуска Activity в Android нужно создать Intent c указанием класса вызываемого activity и Bundle из параметров. И всё хорошо, пока у нас в приложении пара экранов. Сложности начинаются тогда, когда количество экранов в нашем приложении будет исчисляться десятками. В данной статье я бы хотел предложить относительно несложный способ организации работы с большим количеством Activity.
Читать дальше →

iOS vs WP7 18 октября в Санкт-Петербурге

Время на прочтение2 мин
Количество просмотров8.3K
imageМеньше недели осталось до очередной ежемесячной конференции разработчиков под iOS — Apple Developers Community. Предварительный анонс можно прочитать здесь, а в этом посте будет рассказ о главных действующих лицах встречи — докладчиках.

Начать безусловно стоит с Вадима Башурова. Если по имени его кто-то может не знать, то логин Papabubadiop на Хабре должен быть знаком каждому iOS-разработчику. Помимо того, что Вадим пишет замечательные игры под iPhone, в его портфолио значится, например, «Поле Чудес». Да-да, та самая легендарная игра нашего детства с героями Винни-Пуха и сникерсами.

image

Применительно к Вадиму отлично подходит фраза «Талантливый человек талантлив во всём» — сейчас он успешно зарабатывает на разработке игр под iOs и имеет в своем арсенале множество интереснейших кейсов. На встрече он выступит с докладом «Как откусить от яблока миллион», в котором расскажет о своем опыте заработка в App Store.
Читать дальше →

Создание QuickAction диалогов в Android

Время на прочтение8 мин
Количество просмотров8.1K
О том как написать Хеллоу Ворлд в интернете полным полно, так что я решил рассказать о более интересных вещах. Официальное приложение Twitter для Android использует паттерны и возможности графического интерфейса появившиеся в последних версиях sdk, такие как Dashboard, Search Bar, QuickAction и Action Bar. Диалог QuickAction является одной из самых интересных новинок, он отображает контекстное действия для данного элемента ListView. Этот диалог используется также в приложении контактов, начиная с версии 2.0
Читать дальше →

Кастомизация виджета Action Bar

Время на прочтение4 мин
Количество просмотров28K
imageСтатья является переводом топика из блога android-developers. В ней показывается, как стилизовать виджет Action Bar нужным вам образом. В качестве примера рассматривается изменение оформления виджета под общую цветовую гамму вышеописанного блога.
Читать дальше →

Основные UI паттерны разработки Android приложений

Время на прочтение3 мин
Количество просмотров26K
Поскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
Читать дальше →

Взгляд изнутри: CD и HDD

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


Предисловие


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

Структуры данных в картинках. HashMap

Время на прочтение6 мин
Количество просмотров1.2M
Приветствую вас, хабрачитатели!

Продолжаю попытки визуализировать структуры данных в Java. В предыдущих сериях мы уже ознакомились с ArrayList и LinkedList, сегодня же рассмотрим HashMap.



HashMap — основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Разрешение коллизий осуществляется с помощью метода цепочек.

А почему бы и нет?

Краткий список WYSIWYG редакторов от Марка Андреева

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

Однажды мне потребовался WYSIWYG редактор, я помнил как он выглядит, его функции, но не помнил названия. Через 45 минут я все же его нашел… Тогда я поставил перед собой задачу помочь многим, в том числе и себе: сделать сводный список всех чуть более известных WYSIWYG редакторов.
Читать дальше →

Делаем простейший сборщик ошибок для Android

Время на прочтение3 мин
Количество просмотров28K
При разработке приложения неизбежно приходится сталкиваться с ошибками в коде и/или окружении. И очень печально когда подобные ошибки встречаются не на тестовом телефоне/эмуляторе а у живых пользователей. Еще печальнее если это не ваш друг бета-тестер и толком никто не может объяснить что и где свалилось.

Обычно при внезапном падении приложения Android предлагает отправить отчет об ошибке, где будет и подробный стэк-трейс и информация о версии вашего приложения. К сожалению пользователи не всегда нажимают кнопку «отправить отчет» а для дебаг-приложений или приложений не из маркета такая функциональность и вовсе недоступна.

Что же делать? На помощь приедет возможность языка Java обрабатывать исключения (Exceptions), в том числе и непойманные (unhandled).

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

Разработка мобильных приложений на Adobe Flash + AIR: обзор возможностей

Время на прочтение14 мин
Количество просмотров26K
Недавно замечательная flash-игра Machinarium заняла 1 место в рейтинге платных игр для iPad. Тем не менее много талантливых разработчиков flash-игр с опаской смотрят в сторону мобильных платформ. На русском языке информации по теме крайне мало. Надеюсь эта статья немного улучшит положение вещей. Желаю приятного прочтения.


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

Способы «защиты» flash-приложений

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

Здравствуйте. Я попытаюсь рассказать о нескольких способах защиты от исследования кода, мошенничества и воровства, используемых при разработке flash-приложений, а также о том, как можно обойти некоторые из них.
Стоит заметить, что сейчас существует немало отличных презентаций и работ на эту тему (см. ссылки в конце статьи), однако, я бы хотел немного подробней расписать некоторые нюансы, и объединить множество информации по теме в одном месте. По крайней мере, я постараюсь это сделать.
Читать дальше →

Физика на Flash. Создание Ragdoll в Nape на AS3

Время на прочтение8 мин
Количество просмотров5.8K
image
Надо было сделать физику на флеше, но с одним маленьким нюансом. Необходимо было на сцене отобразить порядка 10 — 15 регдолов (для не незнающих. Регдол — это кукла. Имитация человеческого тела). Попробовав реализовать подобное на распространенном Box2D, пришел к неутешительному выводу, что Box2D это не под силу сделать. Немного погуглив нашел относительно новый движок Nape (). Который и решил в общем данную проблему.
К своему удивлению не нашел на хабре упоминаний Nape и решил описать начало работы с ним.
Под катом, описание создание регдола и примеры для сравнения на Box2D и Nape, а так же исходники примера.

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

Пьеса «Разработка многопользовательской сетевой игры.» Часть 3: Клиент-серверное взаимодействие

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


Часть 1: Архитектура
Часть 2: Протокол
Часть 4: Переходим в 3D

С третьей частью я немного задержался. Но как говорится лучше поздно чем никогда…

Итак, продолжаем разговор.

В третьей части нашей постановки мы реализуем протокол, напишем сервер и клиент которые будут взаимодействрвать по сети. И (ОМГ!) танки будут ездить!
Под катом то, что вы давно хотели, но боялись спросить…

Добро пожаловать в зрительный зал.

Свой инструмент нужно знать в лицо: обзор наиболее часто используемых структур данных

Время на прочтение8 мин
Количество просмотров65K
image
Некоторое время назад я сходил на собеседование в одну довольно большую и уважаемую компанию. Собеседование прошло хорошо и понравилось как мне, так и, надеюсь, людям его проводившим. Но на следующий день, в процессе разбора полетов, я обнаружил, что в ходе собеседования ответ на как минимум один вопрос был неверен.

Вопрос: Почему поиск в python dict на больших объемах данных быстрее чем итерация по индексированному массиву?

Ответ: В dict хранятся хэши от ключей. Каждый раз, когда мы ищем в dict значение по ключу, мы сначала вычисляем его хэш, а потом (внезапно), выполняем бинарный поиск. Таким образом, сложность составляет O(lg(N))!

На самом деле никакого бинарного поиска тут нет. И сложность алгоритма не O(lg(N)), а Amort. O(1) — так как в основе dict питона лежит структура под названием Hash Table.

Причиной неверного ответа было то, что я не удосужился досконально изучить те структуры, которые лежат в основе работы с коллекциями моего любимого языка. Правда, по результатам опроса нескольких знакомых разработчиков, оказалось что это не только моя проблема, очень многие вообще не задумываются, как работают коллекции в их любимых ЯП. А ведь используем мы их каждый день и не по разу. Так родилась идея этой статьи.
Читать дальше →

Создание полноразмерных скриншотов web-ресурсов

Время на прочтение3 мин
Количество просмотров13K
Довольно полезным сервисом является создание полноразмерных скриншотов web-ресурсов.
Реализуем этот сервис буквально за 5 минут.

Задачи:


1) Создание полноразмерных скриншотов сайтов (полный скриншот по длине и ширине, а не захват окна браузера)
2) веб-интерфейс

Технологии:


— ОС — Ubuntu 10.04
— xvfb — Виртуальный фреймбуффер (Fake Xserver)
— CutyCapt — кроссплатформенная утилита для рендеринга web-страниц
— php — для веб-интерфейса
Читать дальше →

Определение кодировки текста в PHP, часть 2 — биграммы

Время на прочтение3 мин
Количество просмотров8.2K
В прошлой статье был реализован алгоритм автоматического определения кодировки текста на основе частот распределения символов. В комментариях отметили: если использовать биграммы (триграммы), результат будет более точный. Тогда я отмахнулся, мол, и на одиночных символах неплохой результат получается. Но сейчас подумал, что неплохо было бы добавить надежности и точности в алгоритм, тем более использование биграмм вместо одиночных символов сильно кушать не просит.

Под катом — пример реализации алгоритма на биграммах, исходники и результаты его работы.
Читать дальше →

Партиционирование таблиц в mySQL

Время на прочтение4 мин
Количество просмотров188K
Начиная с версии 5.1 mySQL поддерживает горизонтальное партицирование таблиц. Что это такое? Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям.. На нижнем уровне для myISAM таблиц, это физически разные файлы, по 3 на каждую партицию (описание таблицы, файл индексов, файл данных). Для innoDB таблиц в конфигурации по умолчанию – разные пространства таблиц в файлах innoDB (не забываем, что innoDB позволяет настраивать индивидуальные хранилища на уровне баз данных или даже конкретных таблиц).

Как это выглядит?

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

Мой опыт разработки игры под Android. Часть вторая

Время на прочтение5 мин
Количество просмотров16K
В этой статье я закончу свой рассказ о разработке моей первой игры под Android. Для тех, кто не видел/не прочел — часть первая.
Читать дальше →

Информация

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