Search
Write a publication
Pull to refresh
0
0
Send message

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views382K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →

ИИ на пяльцах: 5 полезных приемов

Reading time4 min
Views5.5K

Вашему вниманию представляю свой вольный перевод, обещанный г-ном Takezo в его комменте о будущем ИИ в GameDev.

Введение


Прикольно наблюдать за внутриигровой визуализацией, особенно если ты сам ее и создал! Однако, в погоне за этим ярким впечатлением легко забыть, что не нужно визуализировать все подряд.
Ниже вы найдете видео туториал по визуализации геймплея и ИИ, записанный в секретной исследовательской лаборатории AiGameDev.
Читать дальше →

Мобильная разработка с Corona SDK

Reading time5 min
Views32K
Здравствуйте!

Захотелось поделится своим опытом работы с Corona SDK — средством кроссплатформенной разработки для Android/iOS от Ansca Mobile (основатели компании в прошлом работали в Adobe над Flash Lite). Статей здесь про него не так много, хотя движок один из самых популярных и не без причины. Corona SDK предназначен прежде всего для разработки игр, но нем можно писать и бизнес-приложения — для этого в движке есть набор UI-компонентов со сменными стилями. Главным преимуществом движка является значительное увеличение скорости разработки для опытных программистов, а также снижение технического барьера для новичков в мобильном gamedev’е. Продолжение под катом…
Читать дальше →

Шаблоны проектирования при разработке под Android. Часть 4 — Сохранение данных. Domain Model, Repository, Singleton и BDD

Reading time10 min
Views15K
Сразу хочу сказать, что в статье я не буду описывать как надо работать с Data Provider-ом. Это можно найти и в документации и в многочисленных статьях в интернете.
Здесь я расскажу про шаблоны проектирования Domain Model, Singleton, Repository, про подход Behavior Driven Development (BDD) и как я их использовал в своей программе.

Шаблон Domain Model используется в тех случаях когда разработка ведется от предметной области, в таких случаях есть понятная предметная область и ее термины просто воплощаются в байтах.

Например, в моей программе предметная область состоит из данных расписания, заданного в виде нескольких будильников, для будильника можно задать дни недели и время, а также признак «будильник включен». Так же есть несколько алгоритмов, например получить будильник, который сработает следующим и дату и время его срабатывания. Поскольку будильник может дремать, получается что у одного будильника есть несколько срабатываний с разными действиями: первое срабатывание, дремание, и последнее дремание, когда кнопка дремать уже не доступна. Поэтому есть еще алгоритм поучения ближайшего абсолютного времени и действия.
Так же есть алгоритмы для создания нового будильника и редактирования/удаления существующих.

То есть в моей предметной области есть данные в виде нескольких будильников и несколько алгоритмов, которые реализуют логику предметной области.

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

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

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

Такой подход называется Behavior Driven Development. Его достоинство в том, что я могу тестировать модель в терминах предметной области, то есть в модульных тестах я имитирую обычное поведение пользователя. Благодаря тому, что это реализовано через механизм модульных тестов, я перед каждым релизом могу эти тесты прогнать и быть уверенным, что моя программа программа нормально отрабатывает основные действия пользователя.

Если бы я использовал отдельный класс для редактирования/сохранения будильников и отдельный класс для вычисления ближайшего будильника, то я конечно бы протестировал их по отдельности, но не смог бы проверить их вместе и не смог бы проверить основные действия пользователя.
Читать дальше →

Android ViewPager. Как заменить один фрагмент на другой

Reading time3 min
Views20K
В этой статье хочу поделиться опытом использования ViewPager и FragmentStatePagerAdapter, появившихся в compatibility package. Точнее, рассказать, с какими проблемами пришлось столкнуться и как они были решены. В частности, замена одного фрагмента на другой.

Вдохновившись постом в официальном блоге android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html, стал пробовать. Суть задачи заключалась в том, чтобы в качестве одной из page были фрагменты почтового приложения, другими page’ами – фрагменты приложения инстант-мессенджера.

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

Использование карты памяти /sdcard/ приложениями в Android

Reading time2 min
Views212K
Друзья, поклонники зеленых роботов, разработчики приложений, просто пользователи:
как Вы используете карту памяти /sdcard/ в Вашем Android-девайсе?
image

Рассмотрим, для начала данный вопрос на примере большинства рядовых пользователей устройства под управлением ОС Андроид:
Читать дальше →

Работа с фотографиями контактов в android 2.1+

Reading time3 min
Views2.5K
По ходу обучения программированию под систему Android, мне была поставлена задача написания своего контакт-менеджера, пусть не в замен системному, а именно как обучающее задание.
Работа с контакт-листом была уже описана тут, и не один раз, потому напишу только про то, что я тут не встретил, а, именно, про работу с фотографией контакта (аватара контакта).

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

SDK Android 4.0 Ice Cream Sandwich будет доступно через… Уже доступно!

Reading time1 min
Views2.9K
Новость одной строкой — SDK для разработки под Android Ice Cream Sandwich можно скачать на официальной странице

image

Google просит приступить к тестированию ваших приложений на совместимость с Android 4.0 «так быстро, насколько это возможно». Теперь препятствий для этого практически нет. SDK 4.0 включает в себя и эмулятор Android 4.0

P.S.: А ещё ходят слухи что дамп приложений из ICS уже доступен, например, вот в этой ветке форума xda-developers.com.
И он таки там доступен.

P.P.S.: Интересная информация в примечаниях к релизу, эмулятор Android 4.0 имеет графические оболочки для разрешений:

QVGA (240x320, low density, small screen)
WQVGA400 (240x400, low density, normal screen)
WQVGA432 (240x432, low density, normal screen)
HVGA (320x480, medium density, normal screen)
WVGA800 (480x800, high density, normal screen)
WVGA854 (480x854 high density, normal screen)
WXGA720 (1280x720, extra-high density, normal screen) new
WSVGA (1024x600, medium density, large screen) new
WXGA (1280x800, medium density, xlarge screen)

Пишем живые обои с часами

Reading time4 min
Views25K
ClockНедавно я решил разобраться, как делать живые обои для андроида, а разбираться лучше всего на хорошем примере — таком, который потом пригодится. Я всегда хотел удобные часы. Для андроида уже существует достаточное количество подобных обоев, но обычно они рисуют большие часы в каком-нибудь фиксированном углу экрана и перекрываются виджетами, которых у меня немало. Мне хотелось, чтобы часы были разбросаны по всему экрану, тогда вероятность увидеть их будет выше.
Как сделать такое читайте дальше

Flurry Analytics. Как держать руку на пульсе приложения

Reading time3 min
Views39K
Около года назад, после первого знакомства с Flurry у меня прямо вырвалось — она же рвет Google Analytics как Тузик грелку тряпку какую-то материю. И обещался написать об этом повесть. Еще до знакомства с Flurry, для своего первого приложения пришлось использовать именно гугловую аналитику, стабильную но в бета-версии. С того момента все повзрослели но я так и остался с Flurry. Пост о том, какой от нее прок и как ее готовить. А готовить ее как два пальца яйца о сковородку.
Читать дальше →

Разработка игры с использованием Box2D на ActionScript 3

Reading time6 min
Views9.1K
Доброго времени суток, дорогой читатель!
Недавно была опубликована статья, где описывалась работа с движком Box2D.
Однако, движок на сайте был версии 2.1a работа с которым, к сожалению, отличалась от работы предоставленной в статье. К сожалению скудная иностранная документация по этой версии движка заставила во многом разбираться самому. Частью своих изысканий я бы хотел поделиться с тобой, дорогой читатель.
Читать дальше →

Встать на рельсы за четыре месяца или Finance on rails

Reading time4 min
Views52K

Обойдусь без копипастов и даже ссылок о том, что Ruby за зверь такой, ибо написано было уже сполна. В данном посте просто хочу рассказать о пути изучения Ruby (и, впоследствии фреймворка Ruby on Rails) человека далекого от программирования.

1. Любопытство

«Насколько далекого?», спросите вы, а я отвечу — «Чуть менее, чем полностью», так как в десятом классе в школе у меня были уроки программирования, парочка из которых были уделены Паскалю. Признаюсь, впоследствии о html узнал, и даже мог в Dreamweaver-e сверстать страничку или поставить готовый движок, да по инструкции налепить плагинов, но не более.
Хотя компьютеры мне нравились, пошел я учиться на экономиста* — бакалавриат, магистратура по бух. учету и аудиту, аспирантура по финансам, работа в банке, преподавание, страхование. Но не жилось мне спокойно в финансах, — финансовый калькулятор удовлетворял необходимости решения тривиальных задач, но не удовлетворял мой мозг. А ему хотелось посчитать не только будущую и приведенную стоимость актива, но и создать массив данных из исторических стоимостей этого актива за n лет, высчитать среднюю доходность, дисперсию и, в конце-концов построить красивый график!
Читать дальше →

Начинаем работу с jPCT — бесплатным 3d движком для Java

Reading time8 min
Views26K
jPCT — 3d движок для Java позволяющий использовать OpenGL и Software рендеры, разрабатывать 3d приложения для десктопа, интернет и Android. Так давайте попробуем его в действии написав на нем небольшую игру.
image
Читать дальше →

Создание приложения на framework Cocos2d под iOS

Reading time5 min
Views11K
Здравствуйте, хабражители!

Первая моя игра была написана iPhone SDK про писающего мальчика, она очень тормозила на 3G и 3GS. Вторую сделал с меньшей нагрузкой на процессор, при этом я уже слышал о cocos2d, прочитав документацию про него, я решил к SDK, больше не возвращаться и начал программировать под эту платформу. В этой статье я не буду описывать как устанавливать cocos2d, это описано здесь, постараюсь не повторяться с этим постом. Могу лишь добавить есть стабильная 1.0.1 версия. В этой статье я расскажу как создать меню, анимацию и переход между слоями.

Итак, к делу.
Читать дальше →

Разработка под Android с использованием Linderdaum Engine

Reading time8 min
Views9.9K
Привет хабрасообщество!

Тема написания приложений под андроид на С++ незаслуженно забыта. Сегодня мы узнаем как писать многоплатформенные приложения под Android используя Linderdaum Engine.

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

Как получить наибольшую выгоду от Crash Reports или упрощаем себе жизнь

Reading time3 min
Views15K
Привет хабродроидеры!
Если ваше приложение падает в production и вам нужно быстро понять почему, на каком девайсе, с какой прошивкой и конфигурацией, то этот маленький топик расскажет об одном способе решения данной проблемы.
Под катом описание возможностей ACRA.
Читать дальше →

История создания fermer.mobi

Reading time3 min
Views3.5K
Хочу рассказать вам, как я создал браузерную онлайн игру для мобильных устройств, которая на текущий момент:
— занимает 3-е место в рейтинге waplog.net (это самый крупный счетчик рувапа);
— 4-е место в мобильных одноклассниках (m.odnoklassniki.ru);
— аудитория игры ~300 тысяч хостов в сутки;
— онлайн днем ~12 тысяч;
— количество регистраций уже приближается к 500 тысячам.

Эта история, на мой взгляд, интересна тем, что:
— игру создал, запустил и раскрутил я один, без инвесторов, без партнеров;
— я никогда не был менеджером, бизнесменом, маркетологом, я программист;
— помимо денег на содержание моей семьи я вложил в раскрутку всего 50 тысяч рублей.

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

Погружаемся в 3D с помощью Marmalade SDK

Reading time4 min
Views12K
Приветствую, братья по цеху, а также просто интересующиеся мобильными платформами и 3D-графикой читатели. В предыдущем посте (а также в майском номере журнала «Хакер») я уже писал о том как начать работать с AirplaySDK (с некоторых пор он теперь называется Marmalade) — инструментарием, позволяющим создавать мобильное приложение на C++ один раз и впоследствии компилировать его на множество платформ: iOS, Android, Windows Mobile, Bada, Symbian и т. д. HelloWorld-приложение — это уже что-то, но останавливаться на достигнутом мы с вами не любим, а потому в этой статье речь пойдёт уже о создании небольшого 3D-приложения. Описываемый SDK имеет добрую документацию, а потому я ограничусь лишь небольшим примером создания 3D-модели, её загрузки в наше мобильное приложение и смены ракурса камеры для просмотра сцены. Ну что же, приступим?
Читать дальше →

Пишем игру для Android c помощью AndEngine. Часть 2

Reading time6 min
Views11K
Всем привет!
Как и обещал, вторая часть статьи.
Во избежание недопонимания, перед прочтением ознакомьтесь с первой частью статьи.
Уже ознакомились? Тогда добро пожаловать под кат где я познакомлю читателя с игровыми объектами.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity