Как стать автором
Обновить
0
Виталий @s0Lread⁠-⁠only

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

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

Зачем заземляться

Время на прочтение3 мин
Количество просмотров335K
Приветствую хабровцев.

Для кого этот пост
Те кто знают и понимаю зачем нужно заземление — не откроют для себя ничего нового. Когда я сделал для себя это открытие — я с удивлением обнаружил, что многие мои знакомые (связанные с IT сферой) слабо понимают зачем вообще надо заземляться. Поэтому собственно сейчас вы видите этот пост.
Читать дальше →
Всего голосов 109: ↑97 и ↓12+85
Комментарии247

Жизненный цикл ViewController в iOS6

Время на прочтение4 мин
Количество просмотров8.9K
Некоторые из вас, возможно, заметили, что viewControllers больше не запрашивают viewWillUnload и viewDidUnload в iOS6. Это происходит потому, что контроллеры больше не выгружают свои представления (view) автоматически.
Ваша первая мысль может быть «Окей, как я могу вручную выгрузить мое представление при предупреждении о недостатке памяти (low memory warning)? Это выглядит, как шаг назад.»
Затем вы ищите ответы и пишите что-то вроде:

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    if([self isViewLoaded] && ![[self view] window]) {
        [self setView:nil];
    }
}

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии16

Математика с фиксированной точкой в Marmalade SDK

Время на прочтение4 мин
Количество просмотров4.7K
Не так давно на хабре был пост «Погружаемся в 3D с помощью Marmalade SDK», который оставил у меня достаточно много вопросов. В первую очередь это касалось магических шестнадцатиричных чисел, которые передавались в функции, т.е. вычислений с фиксированной точкой. В интернете достаточно плохо описана эта тема, поэтому пришлось экспериментировать. Если интересно — добро пожаловать под кат.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии9

Совместная акция RIM и Marmalade для разработчиков игровых приложений

Время на прочтение1 мин
Количество просмотров22K
Компании RIM и Marmalade объявили о старте акции, позволяющей разработчикам получить бесплатно планшет PlayBook и ограниченную по сроку мультиплатформенную лицензию на SDK. Единственное условие — выпустить своё игровое приложение для планшета канадской компании.

image
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии135

Работать с AdMob в России станет проще с 1 октября 2012 года

Время на прочтение2 мин
Количество просмотров6.6K
Для российских разработчиков мобильных приложений, использующих AdMob в качестве средства монетизации есть хорошие новости. С 1 октября вступает в силу новая инструкция ЦБ РФ О ПОРЯДКЕ
ПРЕДСТАВЛЕНИЯ РЕЗИДЕНТАМИ И НЕРЕЗИДЕНТАМИ УПОЛНОМОЧЕННЫМ
БАНКАМ ДОКУМЕНТОВ И ИНФОРМАЦИИ, СВЯЗАННЫХ С ПРОВЕДЕНИЕМ
ВАЛЮТНЫХ ОПЕРАЦИЙ…


В это инструкции, в отличие от устаревшего документа, явно присутствуют термины «оферта» и «публичная оферта».

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

«Концепты» на C++

Время на прочтение2 мин
Количество просмотров14K
Всем доброго времени суток.

Придумано и написано под влиянием некоторых публикаций Страуструпа на тему концептов в C++.
Захотелось мне однажды необычного — сделать так, чтобы нешаблонные функции/методы на C++ могли принимать в качестве аргумента любой объект, имеющий определенный набор методов, примерно так:
void fn(VectorWrapper<int> x)
{
    for (size_t i = 0; i < x.size(); ++i)
    {
        doSomething(x[i]);
    }
}

::std::vector<int> sv;
QList<int> qv;
OtherSuperVector<int> ov;

fn(sv);
fn(qv);
fn(ov);

Причем сделать это не используя наследование от базового класса.
Как это можно сделать, читайте под катом.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии17

Почта России — новые хотелки за 10 миллиардов

Время на прочтение2 мин
Количество просмотров77K
image
В конце октября в Госдуму поступит проект закона «О почтовой связи», в котором говорится о создании «Единой Электронной Почтовой Системы», благодаря которой граждане и предприятия получат официальные электронные почтовые ящики.
Борис Оникул (автор идеи), курирующий почтовую отрасль, заявил: " «Почта России» гарантирует, что только вы сможете получить персональный электронный адрес и пароль от почтового ящика, предъявив паспорт. Также «Почта России» сможет гарантировать защиту от несанкционированного доступа к персональному почтовому ящику".
Читать дальше →
Всего голосов 140: ↑134 и ↓6+128
Комментарии211

Сравнение методик обзора кода

Время на прочтение7 мин
Количество просмотров25K
Думаю, многие разработки знакомы с понятием code review или обзор кода по-русски (также данный термин переводят как просмотр кода, инспектирование кода или рецензирование кода – далее, для единообразия, будет использоваться вариант «обзор кода»). Недавно я столкнулся с необходимостью «разложить по полочкам» и классифицировать знания по этой теме. Результат – данная статья. Надеюсь, она окажется полезной, а также поможет внедрить обзоры кода в свой производственный процесс тем, кто только об этом задумывается.
wtf per minute
Обзор кода является одним из наиболее эффективных методов поиска и устранения дефектов программы. Обзоры проводятся человеком, что позволяет находить широкий класс ошибок, в том числе с трудом детектируемых или вообще не детектируемых автоматическими средствами. Безусловно, обзор кода, не отменяет использование анализаторов кода или других методик обнаружения ошибок, например, unit-тестирования. К сожалению, не существует метода, который один обеспечил бы обнаружение всех дефектов программы (в исследованиях эффективность обзора кода обычно оценивается как 30-50% обнаруженных ошибок в приложении).
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии18

Магия TestFlight, или Подробнее о технологиях Configuration Profile и URL Scheme

Время на прочтение4 мин
Количество просмотров8.2K
На Хабре уже были статьи про TestFlight (вот тут и тут), но в них речь шла главным образом про его использование и интеграцию/автоматизацию в процесс сборки. А мне всегда было интересно, как это работает изнутри:
• Как происходит сбор идентификаторов устройств? (Если вам непонятно, зачем собирать UDID’ы, пройдите по ссылкам выше)
• Как приложение устанавливается по переходу по ссылке?
• Как создается иконка на Home Screen?
• Все это хаки или легальные способы?

Если вы хотите построить свой TestFlight c блэк-джеком и всем остальным или просто интересуетесь, как сделано что-то из вышеперечисленного, – прошу под кат.

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

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

Время на прочтение6 мин
Количество просмотров138K
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.

diff and merge
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Читать дальше →
Всего голосов 53: ↑46 и ↓7+39
Комментарии45

Исследуем iOS SDK и используем недокументированные API

Время на прочтение19 мин
Количество просмотров33K
Из этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.

Erica Sadun, The iPhone Developer's CookBook
Оригинал
As you’ve seen in this chapter, and throughout this book, some of the nicest bits of iPhone programming are included in the public iPhone frameworks but not in the SDK. Apple’s unofficial policy on this is clear:You can use these items in your programs, but you do so at your own risk.Your code may break at each firmware release. Striking the balance between risk and reward is up to you.

Дисклеймеры


  • Приведенные здесь куски кода работают на обычных iPhone (включая 4S) и iPad (включая new iPad) и не требуют jailbreak.
  • Все решения написаны и протестированы на iOS 5. Все решения также протестированы на совместимость с iOS 4.3, т.е. работают с iOS 4, если не сказано обратное. Основная часть статьи была написана до выхода iOS 6, так что приведенные решения не тестировались на совместимость с iOS 6.
  • Использование недокументированных API может привести к тому, что ваше приложение не допустят в AppStore. А может и не привести :-)
    Для тех, кому интересно, как Apple опрделяет использование приваетных API:«Как Apple узнаёт, что ты используешь приватные API?»
  • Apple может изменить реализацию вместе со следующим релизом iOS, и в вашем коде что-то сломается. Впрочем, это решаемо, и ничем принципиально не отличается от реализации обратной совместимости для документированных API. Ниже я рассмотрел эту проблему чуть подробнее.
  • Я не могу гарантировать, что у найденных мной API нет побочных эффектов. Используйте на свой страх и риск.
  • Лицензионное соглашение Apple Developer Program запрещает реверс-инжинеринг iOS.
  • Статья в процессе доработки. Конструктивная критика приветствуется!

Краткая инструкция по поиску в SDK


Допустим, вам нужно сделать что-то, выходящее за рамки официальной документации.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии12

Как я принимал участие в IndieGala и что из этого извлек

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

Наверняка многие слышали про так называемые «бандлы» — мероприятия, организаторы которых собирают несколько различных игр в один пак и продают по системе Pay What You Want. Вырученные в итоге деньги делятся между разработчиками, организаторами и благотворительными компаниями. Наиболее ярким представителем компании-организатора бандлов является Wolfire Games с их популярнейшим Humble Indie Bundle. Кроме того, существуют такие бандлеры как Indie Royale и Indie Gala. Своим опытом в сотрудничестве с Indie Gala я и хотел бы с вами поделиться.

Если вам интересно то, как можно свою включить игру в бандл, как происходит организация данного события и, конечно же, процесс выплаты разработчикам, прошу под кат.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии7

Sublime Text 2

Время на прочтение12 мин
Количество просмотров306K
Пару месяцев назад я случайно наткнулся на массу положительных отзывов о текстовом редакторе Sublime Text 2. Попробовав его в деле, я не разочаровался. Теперь это мой основной рабочий инструмент.

Sublime Text 2 — это платный текстовый редактор, написанный на C++, который:

  • Работает в Linux, OS X и Windows
  • Обладает приличной скоростью работы
  • Приятным интерфейсом (включая всевозможные анимации)
  • Гибко настраиваем (правда, не в GUI, а в json-конфигах)
  • Имеет множество плагинов, число которых растёт как на дрожжах
  • Поддерживает VIM-режим
  • Использует fuzzy-поиск
Читать дальше →
Всего голосов 235: ↑208 и ↓27+181
Комментарии284

«Игрушечная» картография или 3D карты своими руками

Время на прочтение4 мин
Количество просмотров11K
Около полутора лет назад на Хабре был размещен пост про уникальные карты китайского поисковика Baidu (для тех, кто не видел, вот он: http://habrahabr.ru/post/115107/). Я был поражен тем, насколько кропотливо, детально и красиво эти карты сделаны, поэтому однажды мы, вместе с группой товарищей, решили разобраться в процессе создания Baidu-карт и сделать собственные карты всего мира, которые выглядели бы так же круто. Под катом много картинок, раскрытие секрета Baidu-подобных карт и то, что получилось у нас.



Читать дальше →
Всего голосов 214: ↑202 и ↓12+190
Комментарии118

Коаны о программировании

Время на прочтение4 мин
Количество просмотров36K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


Три дня и три ночи мастер не появлялся из своей кельи. На четвертый день монахи отправили послушника проведать его.

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →
Всего голосов 253: ↑240 и ↓13+227
Комментарии74

Как облегчить себе жизнь в Xcode. Shortcuts, tips&tricks

Время на прочтение2 мин
Количество просмотров60K
image
Эффективная работа в любой IDE, да и не только в IDE, определяется в немалой степени тем, как много вы используете клавиатурных сокращений и всяческих фич, призванных облегчить вашу жизнь.
В этом посте я попытаюсь поделиться тем, что знаю и использую сам, что накопалось в сети но так же очень рассчитываю на вашу помощь. Поделитесь своими находками и трюками. По результатам думаю сделать какой-то PDF, вроде известного Xcode-рам pdf c шорткатами от Colin Wheeler (не знаете? тогда вот линк)
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии24

От инженера до руководителя. Часть 1: Чувство справедливости

Время на прочтение9 мин
Количество просмотров35K
Работая продолжительное время инженером-программистом, я собирал помимо опыта и знаний ещё недовольство и замечания к рабочему процессу и начальству в частности. Каждый раз, когда я сталкивался с проблемой, я думал над тем, как мог бы я её решить и что я могу сделать в этой ситуации. Что-то удавалось сделать, а что-то разбивалось об процесс и руководящий аппарат. И каждый раз проблема и её решения откладывались мной, с осознанием того, что если бы у меня были нужные рычаги, уж тогда-то я смог бы изменить и сделать так, как правильно. Я даже сформировал ментальную систему, которую, впрочем, поленился формализовать на бумаге. Царящая вокруг меня несправедливость была для меня хоть и сокрытым, но комком в горле, превращающимся в камень на душе. Я ожидал шанса и возможности всё накопленное реализовать и поправить, и однажды возможность подвернулась.

Будьте осторожны в своих желаниях — они сбываются!



Так и случилось, что мне предложили нежданно-негаданно руководящую должность, оценившую мои таланты и навыки и позволяющую реализовать свои амбиции. Беседа с менеджером закончилась в лучших традициях “Ты теперь начальник — управляй”. И теперь мне предстояло воплощать в себе лучезарный и кристально-чистый светоч справедливости и делать людей счастливыми, нести слово и байт людям. Однако, почти сразу же оказалось, что это несколько сложнее, чем мне казалось ранее, что угол зрения на проблемы снизу и сверху несколько различается, и родной код оказался приветливее громадины проблем и забот. Поэтому сейчас я решил наконец-то оформить свои догмы на бумаге от лица исполнителя и с призмы начальника. Вряд ли я скажу что-то новое, кроме того, что уже до меня написано в хороших книгах, за исключением примеров из практики и шуток с прибаутками, поэтому либо пролистывайте сразу, либо добро пожаловать под кат.
Читать дальше →
Всего голосов 152: ↑133 и ↓19+114
Комментарии52

Конвертация PNG24/32 в PNG8 с сохранением прозрачности

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


Открылся веб-сервис TinyPNG, на котором можно быстро конвертировать полноцветные PNG24 в индексные PNG8 с сохранением альфа-прозрачности. Сайт работает на известных open source утилитах, так что квантование палитры можно сделать и без него, но здесь это просто удобнее.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии50

Видео: Стив Джобс на D8 (2010 год)

Время на прочтение1 мин
Количество просмотров1.1K
Приветствую, хабровчане!

Если вы помните, 2010 год был очень богат на события: это и презентация первого поколения iPad, и пропажа прототипа iPhone 4 в калифорнийском баре, и суициды на заводах Foxconn, и война с компанией Adobe по поводу отсутствия в платформе iOS технологии Flash. Журналисты Wall Street Journal не смогли проигнорировать эти вопросы, и по каждому из них Стиву пришлось держать ответ.


Читать дальше →
Всего голосов 58: ↑44 и ↓14+30
Комментарии15

Пишем эмулятор приставки ч2, или немного о CHIP16

Время на прочтение12 мин
Количество просмотров6.2K
В предыдущей своей небольшой заметке я описывал принцип построения эмулятора старой игровой платформы CHIP-8 из далеких 70-х. Здесь же речь пойдет о своего рода наследнице – CHIP16. Итак, что же такое CHIP16?

CHIP16 – “вымышленная” игровая приставка, которой никогда не существовало в “железе”. Всю спецификацию на нее разрабатывали (-ют) энтузиасты с одного англоязычного форума. Смысл в том, чтобы максимально упростить написание эмулятора, иметь хорошую документацию и поддержку комьюнити. Тем самым позволяя даже новичкам в программировании создать полностью рабочий эмулятор с нуля на фактически любом языке программирования. Сразу оговорюсь, что здесь я не буду приводить примеры кода эмулятора, цель – просто рассказать об этой платформе. И да, конечно все Just for fun!

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии19

Информация

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