Как стать автором
Обновить
171
0
Igor aka digest @digest

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

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

Кросскомпиляция библиотек под iOS, делаем это правильно

Время на прочтение4 мин
Количество просмотров11K
Во время разработки большого проекта наступает такой момент, когда надо встроить в приложение библиотеку из мира open source с подходящей лицензией. Например, вам захотелось ускорить декодирование картинок, или понадобился sqlite3 с fts4, или нужны какие-то плюшки из libicu, которых нету в системной libicucore.

Для этого библиотеку, которая понадобилась, нужно будет собрать для 5 архитектур: armv7, armv7s, arm64, i386, x86_64. С кросскомпиляцией есть много подводных камней, на которые не хотелось бы наткнуться, когда есть уже проверенные решения. В этом коротком посте я расскажу об автоматизации сборки библиотек на примере protobuf и sqlite3.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии4

Google Chrome — убираем рутину с помощью кастомного поиска

Время на прочтение1 мин
Количество просмотров61K
Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

Например:


Как настроить?
Всего голосов 120: ↑108 и ↓12+96
Комментарии73

Выбраться из комнаты

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

Идею игр типа escape the room (англ. «выбраться из комнаты») связывают прежде всего с популярными браузерными играми на flash, в которых нужно было искать и применять друг к другу предметы, чтобы найти выход (многие помнят Crimson Room).

Мы живем в то время, когда идеи, еще недавно высказанные в литературе, кино и компьютерных играх — обретают жизнь. Американцы делают экзоскелет по мотивам «Железного человека», фильм «Игра» Дэвида Финчера вдохновляет на создание ARG, а «Форт Боярд», «Пила» и технологии умных домов — на постройку комнат-квестов.

Впервые из компьютера в реальность такую игру перенесли в 2006 году. Команду из нескольких человек запирают в помещении, и им нужно оттуда выбраться (как правило, за один час), открывая тайники, разыскивая подсказки, применяя найденные вещи, вычисляя коды и добывая ключи. Очень похоже на компьютерную игру, но в настоящей комнате с реальными предметами.

Идея витала в воздухе, поэтому ее реализовали в США и в Гонконге одновременно. Статья на Википедии говорит, что некие программисты сделали эскейп-рум по мотивам Агаты Кристи достопримечательносью Кремниевой долины, но мне не удалось найти тому подтверждения. В Гонконге же это были изначально кампусные студенческие игры. В 2008 году несколько колледжей даже объединилось, чтобы провести большую игру на 60 человек.

А вот в 2007 — действительно «понеслось». Японская компания SCRAP с момента открытия провела игры для 200 000 человек (включая масштабные игры на несколько сотен человек на стадионах).
Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии56

OpenVX: стандарт компьютерного зрения

Время на прочтение4 мин
Количество просмотров28K
Автор: Виктор Ерухимов, исполнительный директор Itseez, председатель рабочей группы OpenVX

The Khronos Group 18 ноября 2013 года представила предварительную спецификацию стандарта OpenVX 1.0 для компьютерного зрения. Поскольку Itseez был одним из инициаторов этой деятельности и активно участвовал в создании спецификации, мы решили рассказать про этот стандарт аудитории Хабрахабра.

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

Разработка NFC приложений для Android

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

NFC (near field communication) – стандартизированная технология обмена данными на короткие расстояния, позволяющая осуществлять взаимодействия между двумя электронными устройствами простым и интуитивно понятным способом. Например, с помощью оснащенного NFC смартфона вы можете делать покупки, раздавать визитные карты, скачивать купоны на скидки и так далее. Множество новых применений для NFC будет найдено в ближайшее время.
Эта статья описывает технологии, использующие NFC и способы их применения на сегодняшний день. Также показано, как использовать NFC в Android приложениях и, наконец, приведены два примера NFC приложений с исходными кодами.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии21

Как узнать, что ваш PHP сайт был взломан

Время на прочтение11 мин
Количество просмотров134K
Сайт моего друга недавно был взломан, на нем была запущена старая версия IP.Board, в которой есть уязвимость локального внедрения кода (local file inclusion). Этот пост не будет посвящен IP.Board или другому php коду, он покажет, как найти потенциально вредоносный php код на ваших серверах. Наконец, покажу пример того, что злоумышленники могут загрузить на взломанный сайт.

Проверьте логи доступа


Что бы с чего-то начать, я бы хотел поделиться некоторыми записями из журнала доступа (access log) взломанного сайта моего друга.

IpreMOVED - - [01/Mar/2013:06:16:48 -0600] "POST /uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
IpreMOVED - - [01/Mar/2013:06:12:58 -0600] "POST /public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"

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

Два файла выше это загруженные взломщиком скрипты, как они туда попали, большой роли не играет, так как код на любых двух серверах, вероятно, будет различным. Тем не менее, в данном конкретном примере, уязвимость в устаревшей версии IP.Board была использована, и атакующие смогли добавить свои собственные скрипты в директории доступные для записи, такие как пользовательский каталог загрузки и каталог, в котором IP.Board хранит кэшированные изображения темы оформления. Это общий вектор атаки, много людей изменяют права на эти каталоги на 777 или дают им доступ на запись, подробнее об этом чуть позже.

Рассмотрим подробнее приведенные выше строки журнала, ничего не цепляет вас?

Обратите внимание, что в журнале доступа POST запросы, а не GET запросы.
Скорее всего, злоумышленники хотели сделать журнал доступа более неприметным, так как большинство журналов не сохраняют post данные.
Читать дальше →
Всего голосов 109: ↑82 и ↓27+55
Комментарии122

Настройка WinDbg

Время на прочтение3 мин
Количество просмотров95K
WinDbg — позволяет отлаживать 32/64 битные приложения пользовательского уровня, драйвера, может быть использован для анализа аварийных дампов памяти, WinDbg поддерживает автоматическую загрузку отладочных символов, имеется встроенный скриптовый язык для автоматизации процесса отладки, скачать отладчик можно тут.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии17

Google: альтернативы поисковому гиганту

Время на прочтение5 мин
Количество просмотров62K
Google постоянно работает над новшествам и улучшениям своих сервисов. Только за последние несколько недель компания добавила возможность автоматической коррекции изображений при загрузке в Google+, запустила сеть воздушных шаров для обеспечения доступа к интернету в местах со слабо развитой инфраструктурой, открыла доступ к новому сервису подписки на музыку и обновила сервис карт.

Но пока компания отчитывается о последних доходах и достижениях, инвесторы заинтересованы лишь в одной вещи — показателями доходов от контекстной рекламы компании
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии69

Python Tools для Visual Studio, о новинках из первых рук

Время на прочтение6 мин
Количество просмотров52K
Эта статья написана Павлом Минаевым int19h — разработчиком из команды PTVS специально для публикации в нашем корпоративном блоге на Хабрахабре. Делитесь вашими впечатлениями в комментариях. Все отзывы будут переданы команде.

Здравствуйте! Я – разработчик из команды Python Tools for Visual Studio. На днях мы выпустили новую бета-версию нашего продукта, и, воспользовавшись поводом, в этот раз я хотел бы поподробнее рассказать о том, что из себя представляет PTVS, и что он может вам предложить.

image
рассказ о новинках из первых рук...
Всего голосов 125: ↑118 и ↓7+111
Комментарии49

OVH: заказываем микро-сервер у крупнейшего хостера в мире

Время на прочтение3 мин
Количество просмотров110K
OVH — на данный момент является крупнейшим хостинг-провайдером в мире, 120 тысяч серверов в Европе и еще 360 тысяч — в Канаде. Дичайшая конкуренция на французском рынке держит цены на низком уровне (особенно на трафик).

Интерес эта компания у многих вызывала давно, до 2011-года они вообще работали только с резидентами ЕС, после — регистрироваться приходилось в разных отделениях в разное время, оставалось много неясных (для меня) вопросов. Их я и решил прояснить.

Под катом — краткий рассказ о том, в какой валюте придется платить, как избавиться от НДС, какие документы требуют и краткий тест выделенного сервера на Atom-е за 10 евро в месяц.
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии127

Защита Android приложений от взлома

Время на прочтение5 мин
Количество просмотров48K
В данной статье мы кратко расскажем о том, как можно защитить свою программу от взлома, не интегрируя стандартное решение от Google и предоставим пример рабочего кода. Интересно? Просим под кат!

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

Вывод текста в iOS: CoreText, NSAttributedString

Время на прочтение11 мин
Количество просмотров9.5K
Я хотел бы Вам рассказать про вывод текста на экран в iOS. Вначале это задумывалось как туториал, затем как сбор неочевидных фактов, а получилось что получилось.

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

  • UIKit — привычные UI контролы. Дают только базовые возможности по отображению, совсем мало возможностей по форматированию
  • UIKit + NSAttributedString — привычные UI контролы с возможностью установки строки с атрибутами отображения. Куча возможностей по форматированию
  • CoreText — фреймворк для работы с текстом и текстовыми представлениями. В связке с NSAttributedString дает массу возможностей по форматированию текста и, благодаря нескольким уровням абстракций над элементами текста, расширенные методы по их отображению
  • CoreGraphics — с помощью него тоже можно отрисовывать текст

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

Распознавание коридоров в тексте

Время на прочтение2 мин
Количество просмотров27K
Коридор (river) — совпадение пробелов по вертикали или наклонной линии в трёх и более смежных строках, один из дефектов вёрстки. Дефект устраняется довольно легко, но сложность заключается в его автоматическом обнаружении.

Коридор появляется не только из-за специфичного расположения пробелов, но из-за формы глифов. Например, в двух текстах пробелы расположены в одинаковых местах. В первом хорошо заметны два коридора, а во втором дефекта нет.

               
Читать дальше →
Всего голосов 83: ↑75 и ↓8+67
Комментарии48

Пишем свой плагин для XBMC. Пока без блекджека и всех остальных

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

Всем привет. Речь в топике пойдёт о создании плагина (программного дополнения, аддона) к замечательной программе XBMC. Уровень сложности: для начинающих. Понадобятся знания HTML и общее представление о работе сайтов; не помешает знать как выглядит Python. Не ждите под катом уникальных алгоритмов и магического кода, это скорее отправная точка и общее объяснение механики работы плагинов. Код будет, надеюсь, наглядным.

Некоторые из вас могут спросить: «Ведь есть репозиторий seppius, который решает почти все проблемы с воспроизведением онлайн-контента в рунете (в контексте XBMC). Зачем велосипеды?». Я приведу свои доводы в небольшом предисловии.

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

Разработка игры-бесконечной гонки для iOS при помощи Cocos2D-iphone

Время на прочтение9 мин
Количество просмотров43K
Сегодня я хочу вам рассказать о создании игры для iOS на основе Cocos2D на примере недавно вышедшей игры «Пчелогонки» (анг. – Bee Race).
Геймплей не содержит в себе ничего сложного – это по сути бесконечный ранер, в котором нужно собирать поинты и уворачиваться от препятствий. Только вместо рыжей девочки или кладоискателя – здесь летает двухмерная пчелка.
Для заинтересовавшихся, прошу под кат (Ахтунг! Минен унд много буквирен).
Основные разделы для рассмотрения:
  1. Очень краткое введение в Cocos2D
  2. Используем Cocos2D одновременно с StoryBoard
  3. Краткое описание геймплея и структуры проекта
  4. Покупаем инструменты и что делать, если душит жаба
  5. Чем не пахнет приложение или подключаем in-app билинг
  6. Социализируем. Подключаем Game Center и создаем мультиплеерную версию на два игрока
  7. В чём промахнулся Акела
  8. Паблиш


Спойлер:

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

DivShot — онлайн-сервис прототипирования Bootstrap

Время на прочтение1 мин
Количество просмотров74K
DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

Читать дальше →
Всего голосов 155: ↑145 и ↓10+135
Комментарии21

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

Время на прочтение3 мин
Количество просмотров38K
Некоторое время назад я прочитал интересный пост, посвященный полезным фрэймворкам и библиотекам для разработки под iOS. С вашего позволения и согласия Coder89 представляю «Полезные штуки для iOS-разработчика часть вторая».
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии19

Талмуд по формулам в Google SpreadSheet

Время на прочтение13 мин
Количество просмотров412K
Обычно мы пишем про хостинги, в частности про зарубежный shared хостинг в США. Но чтобы писать, нужно иметь аналитические данные под рукой. Вот как раз тут требуется помощь Google Docs, если файл получится предположительно меньше 400 000 строк.

За несколько месяцев работы с таблицами Google пришлось много раз анализировать посредством формул разного рода данные. Как и ожидалось — то, что можно было решить в MS Excel, можно реализовать и в Google таблицах. Но многочисленные попытки решить проблемы с помощью любимого поисковика приводили только к новым вопросам и почти к нулевым ответам.
Посему, было решено облегчить жизни другим и прославить себя.

Кратко о главном


Для того чтоб Excel, либо spreadsheet (таблица Google) поняли что написанное — это формула, необходимо поставить знак "=" в строку формул (Рисунок 1).

ok
Рисунок 1
Далее, начинаем писать формулу с клавиатуры либо выделяем мышкой те ячейки, с которыми мы собираемся работать.
Читать дальше →
Всего голосов 111: ↑103 и ↓8+95
Комментарии81

Сравнение адаптивных CSS фреймфорков: Bootstrap, Foundation и Skeleton

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


Недавно Brian Haveri в блоге vermilion.com сделал отличное наглядное сравнение популярных CSS-фреймворков (статья), которые можно использовать для разработки адаптивных сайтов.

За последний год мне удалось поработать со всеми этими фреймворками: Bootstrap, Foundation и Skeleton, и могу сказать, что в свое время такая табличка сохранила бы кучу времени. Поэтому я перевел ее на русский язык, добавив немного своих комментариев. Надеюсь будет полезно хабровчанам.
Читать дальше →
Всего голосов 93: ↑80 и ↓13+67
Комментарии32

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →
Всего голосов 248: ↑243 и ↓5+238
Комментарии58

Информация

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