Search
Write a publication
Pull to refresh
0
0
vovtil @vovtil

User

Send message

UITableView+sqlite3 для самых маленьких

Reading time6 min
Views31K
Предисловие

Приветствую вас хабролюди. Недавно сбылась мечта всей моей жизни и я купил себе Mac (13’ unibody). Поздний 2008, но для нашей деревни сойдет. С тех пор начал потихоньку вникать в разработку приложений для iOS (в частностни для iPhone).

Теперь ближе к делу. Я для начала решил написать простенькое приложение позволяющее создавать и просматривать заметки. Вот как оно выглядело в итоге:

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

Технология быстрого создания фонов для 2D-игр на базе 3D-заготовок (48 часов разработки)

Reading time15 min
Views151K

Вместо предисловия


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

Перед тем как начать я хотел бы сделать акцент на двух положениях:
Первое. Мы исходим из того что читатель знаком с такими пакетами как 3D Studio MAX (либо любым другим пакетом трехмерного моделирования) и Photoshop (или любым его аналогом). В данном конкретном случае я собираюсь использовать терминологию этих двух пакетов. Однако, не смотря на это те же самые принципы можно использовать, пользуясь любым другим софтом.

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

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

Хочу также отметить, что я не причисляю себя к мастерам, которые делают шедевры. Данное примечание я делаю для тех злых людей, которые говорят (или скажут после публикации), что я заносчив, что меня занесло под небеса, и тех кто вместо того чтобы работать предпочитает злословить словно ябедник Кийр из моей любимой книги Оскара Лутса «Весна».

С преамбулами покончено перейдем к сути.

Я утверждаю и не беспочвенно, что хороший фон можно и нужно создавать не за неделю, не за пять дней и даже не за три. Чтобы сделать хорошую картинку для казуальной игры, без разницы i-spy это, match-3 или аркада, достаточно 48 часов. Разумеется, при условии того, что человек занимается работой, а не просиживанием штанов.

image

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

Пишем свой Xcode plugin

Reading time3 min
Views8.9K
Зачастую возникают ситуации, когда функционал используемой IDE хочется расширить. Везет, если разработчику предоставлены средства и документация для того, чтобы это сделать. К сожалению, в случае c Xcode это не так. Документирование возможностей остановилось на версии Xcode 3.0, так что никто не гарантирует, что в следующей версии написанный вами плагин заработает.

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

Плавная анимация интерфейса (easing)

Reading time5 min
Views20K
Приветствую всех читателей!
Хочу поделиться с вами простым, но эффектным способом анимировать юзер-интерфейс вашего приложения или сайта. В статье представлен готовый код на С++, который я использовал для анимирования iOS и Android приложений, основанный на анимационных слайдерах.


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

iOS Console App — пишем программу для iOS без GUI

Reading time7 min
Views18K
Доброго дня всем хабравчанам!

Сегодня я расскажу вам о том, как можно легко, быстро и просто написать консольную программку для запуска на iOS-девайсе. Разумеется, нам потребуется для этого jailbreak-нутый девайс, без него, увы, никак: iOS AppStore (он же iTunesStore) не позволяет распространять консольные утилиты.



Писать HelloWorld — дело не особо интересное. Поэтому, мы будем писать полезную утилиту, позволяющую просмотреть некоторую информацию о системе, полученную через приватные API.

К примеру, информацию об установленных программах и их версиях.

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

Итак, под катом — описание процесса создания консольной программки прямо в Xcode.
Поехали

Сохранение игры в Unity3D

Reading time19 min
Views170K
Иногда сохранения просто не подразумевает жанр... Если вы пишете не казуалку под веб и не беспощадный суровый рогалик, без сохранения данных на диск не обойтись.
Как это делается в Unity? Вариантов тут достаточно — есть класс PlayerPrefs в библиотеке, можно сериализовать объекты в XML или бинарники, сохранить в *SQL*, можно, в конце-концов, разработать собственный парсер и формат сохранения.
Рассмотрим поподробнее с первые два варианта, и заодно попробуем сделать меню загрузки-сохранения со скриншотами.

Будем считать, что читающий дальше базовыми навыками обращения с этим движком владеет. Но при этом можно не подозревать о сущестовании в его библиотеке PlayerPrefs, GUI, и ещё в принципе не знать о сериализации. С этим всем и разберёмся.
А чтобы эта заметка не стала слишком уж увлекательной и полезной, ориентирована она самый неактуальный в мобильно/планшетно/онлайновый век вариант — сборку под винду (хотя, конечно, более общих моментов достаточно).

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

Пройти на следующую локацию

О подключении самописного Objective-C плагина к игровому движку Unity 3D

Reading time7 min
Views10K


Доброго всем дня.

Начнем собственно с того что такое Unity 3d В кратце это трехмерный игровой движок. На официальном сайте доступна бесплатная версия, pro версия и версия с возможностью заливать приложения на мобильные платформы уже стоят денег.
Читать дальше →

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views125K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


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

Автоматическое обновление номера сборки проекта в Xcode

Reading time3 min
Views6.8K
При передаче приложения тестировщикам или конечным пользователям не стоит забывать увеличивать версию проекта / номера сборки для того, чтобы в будущем можно было без проблем идентифицировать установленное приложение.

Память, как известно, бывает подводит. Здесь на помощь приходит простой и действенный чудо-рецепт автоматической установки номера сборки проекта.

Готовый проект с кратким описанием доступен на github: github.com/eshurakov/XcodeAutoBundleVersion
Подробнее

Подбор маски ввода по телефонному номеру

Reading time7 min
Views174K
Данный плагин для jQuery позволяет автоматически подбирать подходящую маску ввода на основе введённого начала телефонного номера. Это позволяет сделать ввод номера телефона на странице web-cайта более быстрым и безошибочным. Кроме того, разработанный плагин может быть использован в других областях, если правила ввода возможно представить в виде нескольких масок ввода.
Читать дальше →

Псевдо 3D эффект

Reading time4 min
Views47K
В последнее время обратил внимание на ролики программ, в которых реализован так называемый псевдо 3D эффект: когда картинка приложения изменяется в зависимости от положения пользователя относительно телефона. Или телефона относительно пользователя: смотря с какой стороны вы находитесь :). Для достижения этого эффекта можно использовать либо сенсоры либо отслеживать положение глаз пользователя (т.н. head tracking). Второй способ несколько сложнее, хотя даёт более правдоподобный результат.

В качестве эксперимента мы решили попробовать сделать такой 3Д фон в программе Deluxe Moon Pro (В версии на маркете пока этот эффект не реализован!).

Вот пример того, что у нас получилось:


Итак начнем.
Читать дальше →

Мониторинг сообщений и звонков в Android

Reading time5 min
Views58K
На разрабатываемом мною проекте под Android возникла необходимость мониторинга входящих и исходящих звонков и сообщений. Полез читать документацию и подручные книги и к сожалению понял, что задача не совсем из тривиальных, так как каждая часть одной проблемы требует различного подхода к реализации. Вообще заметил, что многие книги или же статьи всегда стараются подавать более легкие примеры, например обработка входящего сообщения, а вот про исходящее ни слова если реализация более сложна. Возможно это мое предубеждение, но уже не первый раз обращаю на это внимание
Решил собрать все воедино и поделиться с теми, кто возможно будет набивать себе оскомину пытаясь найти решение данной проблемы. На оптимальность не претендую, так как сам учусь
Читать дальше →

Unity3d. Начало работы, практические советы. Рецензия

Reading time9 min
Views259K
Доброго времени суток. Данная статья посвящена мультиплатформенному инструменту Unity3d. В статье рассмотрены оптимальные, по моему мнению, способы работы с движком, даны практические советы по эксплуатации и дополнительные (общие) сведения; рассмотрены перспективы развития Unity3d.

Содержание:

  • Раздел 1. Введение
    • Что такое Unity ?
    • Возможности Unity3d
    • Проблема дополнительных знаний

  • Раздел 2. Начало работы
    • Вспомогательная литература
    • На это стоит обратить внимание
      • NB!
      • Сцены
      • Отладка

    • Структурирование

  • Раздел 3. Практические советы
    • Написание скриптов
    • Видеоуроки
    • Устранение ошибок

  • Раздел 4. Завершение работы
    • Выводы
    • Публикация игры
    • *Оптимизация

  • Раздел 5. Дополнительная информация
    • Теория графики
    • Полезные ссылки
    • Мнение
      • Что хочется увидеть в будущем?


  • Источники информации


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

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

Reading time3 min
Views38K
Некоторое время назад я прочитал интересный пост, посвященный полезным фрэймворкам и библиотекам для разработки под iOS. С вашего позволения и согласия Coder89 представляю «Полезные штуки для iOS-разработчика часть вторая».
Читать дальше →

Как распространять iOS приложения минуя AppStore

Reading time3 min
Views121K
При создании мобильного приложения под iPad для одной крупной компании перед нами встал вопрос — как распространять данное приложение. Самый распространённый вариант — конечно, через AppStore.

Но данный вариант нам не подошел, так как приложение создавалось для работников компании, а не для общего пользования. Остался только второй вариант — Enterprise Program (подробнее о Developer Program и Enterprise Program).

Клиент купил лицензию, мы занимались разработкой, и вот настало время выкладывать приложение. До этого мы выкладывали приложения в AppStore, а вот опыта работы с in-house приложениями (они предполагают внутреннее использование в компании и не предназначены для выкладывания в общий доступ) не было. К нашему удивлению, мы не нашли полноценных статей, описывающих данный процесс, поэтому решили составить некую инструкцию, которая поможет сэкономить кому-то время.

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

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

Reading time14 min
Views151K


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


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


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


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

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 7

Reading time22 min
Views111K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике SemenOk2 переводит седьмое занятие. Форматирование 9e9names. Редактор Astropilot

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего шага
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →

Core Data в iOS 5: как загрузить и импортировать существующие данные

Reading time8 min
Views14K
Здравствуй Хабр. Я предлагаю вам перевод статьи, с помощью которой мне стали очевидны основные возможности Core Data.

Примечание:
Член команды обучающей программы iOS Adam Burkepile любезно обновил ряд Core Data в iOS 5. — В этом посту я немного расскажу об этом.



Это руководство было полностью переписано, чтобы показать более изящный способ предварительно загрузить данные, используя только Core Date вашего iPhone.
Читать дальше →

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 1

Reading time11 min
Views722K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод первого занятия. Если пост покажется стоящим — продолжу переводить и выкладывать.

Конспект лекций — Питер Тиль (курс: CS183) Стартап — Стэнфорд, весна 2012 г.


Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →

Интерполяция + (линейная | логарифмическая) шкала + С++

Reading time15 min
Views81K
Понадобилось мне как-то сделать интерфейс для загрузки в микроконтроллер график функции «сопротивление -> температура» (график решили задавать по нескольким точкам, а потом их интерполировать). По ходу дела выяснилось, что график будет оч-чень нелинейным (180 Ом -> 100o, 6 000 Ом -> 0o, 30 000 Ом -> -30o). Поэтому пришлось мне погрузиться в тему логарифмических шкал… и сразу вынырнуть, так как я не нашел того, что мне нужно. А нужно-то мне было всего лишь понять математику (и реализацию на С++) таких дел. ЧуднО — вроде такая нужная тема, а не расписано! Ну да ладно — мозги заскрипели и вспомнили высшую математику из университета, и программа была написана. Решил описать я свои мытарства тут — может, кому пригодится.

В этой статье я распишу теорию (а также базовые виртуальные классы), в следующей возьмусь за конкретные реализации средствами Qt.

Осторожно: в тексте много графики!
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity