Как стать автором
Обновить
9
0
Андрей @fu2re

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

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

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

Время на прочтение3 мин
Количество просмотров120K
При создании мобильного приложения под iPad для одной крупной компании перед нами встал вопрос — как распространять данное приложение. Самый распространённый вариант — конечно, через AppStore.

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

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

Читать дальше →
Всего голосов 82: ↑74 и ↓8+66
Комментарии21

Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

Время на прочтение4 мин
Количество просмотров59K
Здравствуйте, Хабраюзеры.

Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
Читать дальше →
Всего голосов 228: ↑208 и ↓20+188
Комментарии337

История создания Absolute Games

Время на прочтение13 мин
Количество просмотров23K
Статья, которую можно назвать “Тёмная история AG.ru”, представляет собой описание подробностей возникновения и развития проекта Absolute Games, которые смогли сообща вспомнить его создатели — Zombiek и ваш покорный (Sly). Статья написана по просьбам уважаемых хабровчан, интересующихся проектом.

Добавление от Зомбика: ну, моего в тексте мало — основные дифирамбы пойте Слаю. Я лишь дополнял статью техническими деталями, на которые у меня оказалась на редкость хорошая память.

Прошу прощения за сумбурное изложение — ностальгические слёзы периодически душили автора, запас салфеточек убывал с угрожающей скоростью. Также простите за непонятные слова — Фидо, ББС, резидентная программа, MS-DOS и пр. К сожалению, если расшифровывать их все, статья превратится в роман. А писать автобиографию мне ещё рано.
Читать дальше →
Всего голосов 261: ↑250 и ↓11+239
Комментарии131

Ещё 10 батареек для джанго

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

Продолжаем делиться своим опытом использования полезных батареек для Django.
Первая часть
Ещё рекомендуем «Сумбурные заметки про python и django» и «Django проект PR Hero: что внутри и полученный опыт».

Для Django написано огромное количество пакетов. Из них мы выбрали 10, которые использовали сами в своих последних проектах и которыми остались довольны. Все они есть на PyPI. Они продокументированы и покрыты тестами, где-то больше, где-то меньше. Исключение составляет django-sphinx, о котором отдельно.

Читать дальше →
Всего голосов 60: ↑56 и ↓4+52
Комментарии42

Параметризованные запросы и производительность django orm

Время на прочтение7 мин
Количество просмотров9.6K
Столкнувшись с существенными потерями производительности на использовании django orm, я стал искать выход из положения, рассматривая разные способы использования orm. Что у меня получилось — смотрите подкатом.

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии19

Внедрение высокопроизводительного Pony ORM в проект Django

Время на прочтение3 мин
Количество просмотров12K
Предыдущий пост посвященный производительности, описывал Pony ORM, показавший фантастические результаты по сравнению с Django ORM и SQLAlchemy.

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

Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии27

Снова о производительности ORM, или новый перспективный проект — Pony ORM

Время на прочтение6 мин
Количество просмотров23K
В своей первой статье на Хабрахабре я писал об одной из основных проблем существующих ORM (Object-Relational-Mapping, объектно-реляционных отображений) — их производительности. Рассматривая и тестируя две из наиболее популярных и известных реализаций ORM на python, Django и SQLAlchemy, я пришел к выводу: Использование мощных универсальных ORM приводит к очень заметным потерям производительности. В случае использования быстрых движков СУБД, таких как MySQL — производительность доступа к данным снижается более чем в 3-5 раз.

Недавно со мной связался один из разработчиков нового движка ORM под названием pony и попросил поделиться своими соображениями по поводу этого движка. Я подумал, что эти соображения могут быть интересны и сообществу Хабрахабр.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии18

Борьба с производительностью Tastypie API

Время на прочтение7 мин
Количество просмотров8.1K
Как я перетащил пакет Tastypie на Pony ORM и что из этого получилось.

Данная статья продолжает историю моей борьбы за производительность приложений на python и django.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии9

Инструкция по настройке Ejabberd с транспортом J2J/ICQ(с корректной кодировкой) на Ubuntu Server

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

Сегодня мы будем настраивать свой собственный jabber-сервер для example.org на Ubuntu Server Edition.
На этом сервере будет транспорт в аську и jabber. Логи будут писаться в директорию example.org/logs. Логи можно будет удобно смотреть с мобильного устройства(fancyindex+htpasswd+fail2ban).
Подразумевается, что минимум в Linux вы уже знаете. Также стоит отметить: инструкция является путеводной звездой, дает общее направление и не призывает выполнять ее на 100% так, как в ней написано. Также она не охватывает 100% настроек, нужно уметь настраивать web-сервер и работать с mysql.

Далее для примера я буду использовать Clodo.ru в качестве хостера. Естественно различные куски инструкций можно применять на любом другом дистрибутиве/хостере.

Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии32

Операционная система реального времени QNX: Знакомство

Время на прочтение6 мин
Количество просмотров138K
Так сложилось, что моя деятельность связана с операционной системой реального времени (ОСРВ) QNX. Уже несколько лет занимаюсь разработкой как под эту ОС, так и некоторых частей самой системы. Обратил внимание на то, что поиск на хабре выводит немного результатов по запросу QNX, однако, мне кажется, что эта ОСРВ может быть интересна не только специалистам по встраиваемым и высоконадёжным системам, но и более широкой публике. Не секрет, что планшетный компьютер BlackBerry PlayBook производства компании RIM основан на QNX и имеет популярность и у нас.

Немного о QNX


ОСРВ QNX это не клон или дистрибутив Linux или ответвление какой-то другой UNIX-подобной системы. QNX самостоятельная UNIX-подобная операционная система реального времени, основанная на микроядре и передаче сообщений. Современные версии QNX имеют поддержку стандартов POSIX (и сертифицированны по ним). Первая версия QNX вышла в далёком 1981 году. С тех пор утекло достаточно много времени и поколения QNX сменяли друг друга: QNX2, QNX4 и, наконец, QNX 6 (или QNX Neutrino). Старичок QNX2 и сейчас ещё используется, хотя его расцвет пришёлся на 80-е годы прошлого столетия. Надёжная и более современная ОСРВ QNX4 могла конкурировать на десктопе с Windows в середине 90-х
Да, я хочу узнать больше о QNX.
Всего голосов 123: ↑117 и ↓6+111
Комментарии70

Объединяя C++ и Python. Тонкости Boost.Python. Часть вторая

Время на прочтение10 мин
Количество просмотров26K
Данная статья является продолжением первой части.
Продолжаем мучить Boost.Python. В этот раз настала очередь класса, который нельзя ни создать, ни скопировать.
Обернём почти обычную сишную структуру с необычным конструктором.
И поработаем с возвращением ссылки на поле объекта C++, так чтобы сборщик мусора Python его не удалил ненароком. Ну и наоборот, сделаем альтернативный вариант, чтобы Python прибрал мусор после удаления того, что ему отдали на хранение.
Поехали…
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии3

Метаклассы в Python

Время на прочтение10 мин
Количество просмотров188K
Как сказал один из пользователей StackOverflow, «using SO is like doing lookups with a hashtable instead of a linked list». Мы снова обращаемся к этому замечательному ресурсу, на котором попадаются чрезвычайно подробные и понятные ответы на самые различные вопросы.

В этот раз мы обсудим, что такое метаклассы, как, где и зачем их использовать, а также почему обычно этого делать не стоит.

Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии17

Как я встретил новый год

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


Сейчас, пока я пишу этот текст, мои руки дрожат, а мысли путаются. Уже утро, а я всё не могу отойти от того, что я увидел и узнал в эту ночь.
Часто приходится слышать, что люди хотят встретить новый год необычно, так, чтобы он запомнился надолго. Если спросить меня, то я бы предпочёл ничего не помнить. Провести эти несколько часов так же, как и все мои сограждане, в обнимку с оливье и алкогольными напитками, спокойно и привычно.
Но обо всём по порядку. Хотя, повторюсь, связное изложение мне сейчас даётся с трудом.
Читать дальше →
Всего голосов 318: ↑241 и ↓77+164
Комментарии213

Ретенция, или почему пользователь вернется в игру?

Время на прочтение7 мин
Количество просмотров66K
Привет, Хабр!

Меня всегда интересовал геймдев. Несколько лет назад я сделал шаг и окунулся в этот мир. Меня поражал успех Энгри Бердс (Angry Birds), взлёт и падение Зинги (Zynga), и одна мысль мне не давала спать — «Как же они сделали такие классные игры?».

Прошло немало времени, накопился ящик опыта, в закромах образовались какие-то отрывочные записи и комментарии. Я решил все структурировать и систематизировать, стараясь ответить на один из краеугольных вопросов — «Почему же пользователь вернётся в игру?».
Читать дальше →
Всего голосов 77: ↑73 и ↓4+69
Комментарии66

Адаптивный и мобильный дизайн с CSS3 Media Queries

Время на прочтение7 мин
Количество просмотров586K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии32

Сколько стоит создать приложение или вся правда о деньгах

Время на прочтение7 мин
Количество просмотров71K
Узнав, что я занимаюсь разработкой мобильных приложений, мои знакомые время от времени, спрашивают: «сколько стоит разработать приложение?». И я честно отвечаю: «от 200 долларов». Приложение будет писать на экране HELLO WORLD, его не пропустят в магазин из-за «bad user experience», но работать-то приложение будет!

Самое удивительное, что огромное количество разработчиков и вправду создает что-то за 3000 долларов и даже выкладывает это в App Store.

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

Так и хочется, заглянуть им в глаза и проникновенно спросить:

— Ребят, а вы из какой сказки?

А то в моей суровой реальности разработка качественного, пусть и не большого приложения для Appstore – это долго, непросто и дорого.

Основные статьи расходов при создании проекта:

Статья Расход
Дизайн приложения $ 13 000
Создание уникальности $ 10 000
Производство графики $ 35 000
Программирование $ 45 000
Текстовый контент $ 5 000
Локализация $ 3 000
Музыка и звук $ 1 000
Полировка $ 17 000
Маркетинг $ 30 000
Управление $ 30 000
Итого: $ 189 000


Вся раскладка будет сделана на примере нашего приложения "МоиЭмоции". Приложение бесплатное, весь функционал можно посмотреть.

Почему так дорого?
Всего голосов 221: ↑174 и ↓47+127
Комментарии213

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

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

Содержание:

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

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

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

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

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

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


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


Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии37

Точка фокуса в адаптивных изображениях

Время на прочтение2 мин
Количество просмотров20K
На сегодняшний день существует несколько техник адаптации изображений для просмотра на экранах любых размеров. Большинство из них сводится к простому масштабированию. В этой статье рассмотрим немного более хитрый способ — фокусирование на определенных точках.



Focal Point — это HTML/CSS фреймворк, представленный на GitHub, автор — Adam Bradley. Один из простых способов работы с адаптивными изображениями — это обрезание сторон, которые не помещаются на экране. Однако при этом можно случайно обрезать полезное пространство изображения. С помощью Focal Point можно указать важные точки фокуса картинки, которые не будут обрезаны:
Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии35

Что нужно знать про арифметику с плавающей запятой

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


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

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Всего голосов 245: ↑242 и ↓3+239
Комментарии75

SQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных

Время на прочтение13 мин
Количество просмотров5.4K
Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.

О том, как снять это ограничение, рассказано под катом.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

Информация

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