Search
Write a publication
Pull to refresh
47
0
Григорий Усков @guskov

User

Send message

Повышение удобства разработки и эффективности с помощью приложения Alfred (OSX)

Reading time3 min
Views24K
image

Введение


Не нашел на Хабре подробных статей о таком замечательном инструменте автоматизации под OSX, как Alfred.
Я бы хотел немного рассказать про упрощение рутинных запросов, и перечислить несколько интересных расширений (в оригинале workflows) для этой программы.

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

Компания Lytro представила пленоптическую камеру второго поколения

Reading time2 min
Views134K
Компания Lytro, основанная выходцем из Стэнфордского университета Рена Нг (Ren Ng), занимается коммерциализацией пленоптической фотографии, или фотографии светового поля, когда матрица с помощью системы микролинз фиксирует не плоскую картинку, а полную информацию о световом поле объекта съемки — фокусировку таких снимков можно производить уже после съёмки, а кадры, полученные такой камерой, позволяют получить стереоизображение. Очень подробную и большую статью о принципе работы такой камеры опубликовал хабраюзер Antelle. Первая камера Lytro была больше похожа на забавную игрушку, чем на серьёзный фотоаппарат, и качество снимков было не слишком высоким — при рендеринге в обычное плоское изображение разрешение составляло всего около мегапикселя.

Камера второго поколения, названная Lytro Illym, уже гораздо больше похожа на настоящий фотоаппарат, как по внешнему виду, так и по характеристикам. Диагональ сенсора увеличена с 1/3" до 1", разрешение снимков составляет 40 мегалучей (в этих единицах измеряется разрешение пленоптических камер) против 11 у первой Lytro. Плоские отпечатки со снимков Lytro Illym могут теперь иметь разрешение порядка 4 мегапикселей, пропорционально выросла и точность фокусировки. Большую часть камеры занимает зум-объектив с эквивалентным фокусным расстоянием 30-250 мм и постоянной апертурой F2. Камера имеет поворачивающийся 4-дюймовый видоискатель разрешением 800х480 пикселей. Её цена — 1600 долларов. Первые поставки ожидаются в июле.

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

ForkLift — продвинутая замена Total Commander для Mac OS

Reading time2 min
Views66K
image

Очень много ребят жалуется на отсутствие замены Total Commander под Mac OS и не знают о существовании файлового менеджера ForkLift, который вполне может заменить Total Commander.

Краткий обзор возможностей:

Поддерживаемые протоколы
image FTP, SFTP, WebDAV, S3, iDisk, SMB, AFP, NIS
Возможность монтировать удаленную файловую систему и работать с ней, как с локальной. При редактировании файлов на удаленной системе в локальном редакторе, изменения сразу применяются без необходимости отдельного подтверждения «загрузить новую версию файла?».

Также существует возможность подмонтировать любую из удаленных файловых систем как локальный диск, таким образом файлы будут доступны из системы как локальные.
Читать дальше →

Русский перевод Apple iPhone Developer Program License Agreement + Schedule 2 v19

Reading time1 min
Views15K
Всем привет!

На прошлой неделе появилась необходимость предоставить в банк договор, по которому были получены деньги из App Store. Если перевод оригинального iPhone Developer Program License Agreement нашелся в сети довольно быстро, то перевода последней версии Schedule 2 (на текущий момент v19) нигде не было. Мы доперевели разницу и готовы поделиться этими документами.

Создание Today Extension для iOS 8

Reading time14 min
Views19K
С выходом iOS 8 компания Apple представила новою концепцию под названием App Extensions, с помощью которой, Вы сможете делиться функциональностью Вашего приложения с другими приложениями, и из самой ОС.

Один из этих типов расширений являются Today Extensions, также известные как Widgets. Они предоставляют Вам возможность отображать информацию в Центр Уведомления, который является отличным способом предоставления самой актуальной информации, которой интересуется пользователь.

В этой статье, Вы напишете приложение на основе расширения Today Extension, которое представит текущую рыночную стоимость Bitcoin на основе доллара США.

Еще никогда не было так просто и так быстро предоставлять нужную информацию для Ваших пользователей. Давайте начнем!
Читать дальше →

Поддержка интерактивных нотификаций iOS 8 в приложении

Reading time3 min
Views10K
Одним из нововведений iOS 8 являются интерактивные нотификации. Таким нотификациям можно назначить до четырех действий, каждое из которых будет представлено отдельной кнопкой внизу баннера с текстом нотификации. Таким образом, у пользователя появляются дополнительные возможности отреагировать на сообщения без активации (обычно) приложения. Рассмотрим, как добавить поддержку подобного функционала.
Читать дальше →

Не нужно бояться Core Data

Reading time11 min
Views34K
Давно подметил, что среди многих своих коллег по цеху присутствует некоторая подозрительность и даже в некотором роде неприязнь к Core Data, причем некоторые к фреймворку даже и не притрагивались. Чего уж там, и я в начале своего пути освоения новой платформы относился к нему предвзято, пойдя на поводу у подобных комментариев. Но не стоит поддаваться предрассудкам и мифам, не потрогав продукт самостоятельно. Тем из нас, кто пошел «против системы», но еще не постиг инструмент полностью, я и посвящаю эту статью. На основе небольшого примера, основанного на реальной задаче разработки мобильного клиента нашей социальной сети Мой Мир, я хочу рассказать о некоторых «подводных» камнях и заострить внимание начинающего разработчика на важных моментах оптимизации использования Core Data. Предполагается, что читающий уже имеет представление, для чего нужны основные элементы Core Data (NSManagedObjectContext, NSPersistentStoreCoordinator и т.д.) и хотя бы поверхностно ознакомлен с API.

Наш кейс: необходимо разработать приложение, позволяющее хранить и структурировать большой объем фотографий с различной метаинформацией о них. Для этого нам потребуется Core Data… и все.

Core Data rulezzz!
Читать дальше →

«Используйте стандартный контрол» или как мы воровали календарь у Apple

Reading time4 min
Views21K
В данной статье хотелось бы познакомить читателей с довольно распространенной задачей по созданию календаря, которая была поставлена нашей команде в рамках одного проекта.

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

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

Всех заинтересованных прошу под кат.
Читать дальше →

Нативный segue слева направо в iOS

Reading time3 min
Views14K
Предупреждаю сразу, это трюк. Он подойдёт далеко не всем и не всегда, но если вам нужно вывести окно с какой-то информацией слева от основного — то мой способ будет в самый раз.

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

Для начала, немного вводных данных. Segue — это способ смены экранов в iOS. Одна из самых популярных разновидностей, это push (с версии iOS 8 — show). Push segue всегда замещает текущий вид справа налево. То есть, у вас как-бы справа есть второе окно, и при нажатии кнопки оно переезжает налево, замещая первое.

Такое поведение вы видите в телефонной книге при выборе абонента. При этом, вверху появляется кнопка возврата на предыдущее окно, и, при нажатии на него, происходит искомая анимация слева направо.

Проблема в том, что мне нужно было сделать всё тоже самое, но в зеркальном отражении и стандартных способов для этого не существует (если верить Google). Есть масса инструкций, как сделать custom segue с похожей анимацией, но все они режут глаз своей неестественностью по сравнению с родным push.

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



Используются исключительно стандартные методы и 0% кастомной анимации. Готовый пример на GitHub.
Читать дальше →

Руководство для дизайнера по DPI

Reading time27 min
Views324K


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

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →

Рекомендации к ролику приложения для App Store, жесткие правила по IDFA и $2,5 млрд за Minecraft — главные мобильные новости за неделю

Reading time4 min
Views5.1K


Рекомендации к App Preview


С выходом iOS 8 у разработчиков появилась возможность добавлять на страницу приложения в App Store видео игры. Ролик будет располагаться на месте первого скриншота и будет одним из первых элементов, который игрок увидит на странице приложения.

Ролик будет выступать главным аргументом, почему игрок должен скачать ваше приложение. За 15-30 секунд вы должны будете показать содержимое приложения и его особенности. Не такая уж простая задача. Чтобы помочь решить ее хорошо, мы составили список всех рекомендаций и требований от Apple:

Видео можно будет снять с вашего устройства на iOS 8. Для этого его нужно подключить к компьютеру с OS X Yosemite через Lightning кабель. После этого ваше устройство будет работать как камера, записывая все, что происходит на экране.

  • Видео должно быть сделано отдельно для iPhone- и отдельно для iPad-версии, по аналогии со скриншотами.
  • Есть возможность сделать один набор роликов ipad/iphone/ipod для каждой локализации отдельно.
  • Не нужно делать ролики с людьми, которые взаимодействуют с вашим приложением.
  • Не нужно накладывать поверх видео двигающие руки для отображения навигации и мультитач-жестов.
  • Не нужно использовать зум.
  • Необходимо следить за тем, чтобы переходы между сценами в приложении реально существовали.
  • Нет необходимости добавлять в ролик цену. Она и так отображается на странице приложения, и эта информация будет избыточной.
  • При добавлении текста учитывайте, что он должен быть читаем. И если вы сделали только одну локализацию, а игра доступна во всем мире, то ценность этого текста теряется.
  • Можно добавлять поверх ролика музыкальное сопровождение и звуковые эффекты к действиям с пользовательскими интерфейсами.

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

Input — новый шрифт для программирования

Reading time1 min
Views100K
Компания Font Bureau разработала новое семейство шрифтов Input, важнейшим из которых в данном случае для нас является шрифт Input Mono. Кириллица присутствует. Для персонального использования шрифты бесплатны.

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

Отобразить уведомление на Android Wear, не показывая его на телефоне

Reading time1 min
Views13K
Решил я все же, не смотря на свой скепсис, начать переносить приложения на Android Wear.

Первое дело — показывать уведомления, ИМХО, первая и важнейшая функция смарт-часов.
Открываю мануал и узнаю что уведомления на часы можно отправить только прицепом к общесистемному уведомлению Android. На Sony все было разделено и даже слишком, а тут все интегрировано и само собой работает. Гвоздями прибито.
Читать дальше →

Использование MagicalRecord при разработке iOS приложений

Reading time20 min
Views23K
Хабралюди, добрый день!

Сегодня Вашему вниманию хочу представить очередной перевод, не судите строго :) Надеюсь, Вам этот материал пригодится в работе.

В течение многих лет, Core Data была неотъемлемой частью многих OS X и iOS-приложений, обеспечивая сохранение и запрашивая пользовательские данные. Компания Apple тратит много усилий для того, чтобы API Core Data было проще в использовании и облегчала разработчикам процесс интегрирования в приложения.

Этот факт указывает на то, что Core Data является сложно-модифицируемой проектом. Даже если вы знаете как пользоваться Data Core, выполнение простых, ежедневных задач может показаться вам сложной и объемной работой. Хорошо, что существует MagicalRecord – независимая библиотека для Core Data, созданная MagicalPanda. А это учебное пособие научит Вас, как ускорить работу с MagicalRecord быстро и легко.

MagicalRecord – прост в использовании, хорошо разработан и популярен. Авторы проекта заявил, что основная задача MagicalRecord – очистка кода который Вам нужно писать для использования Core Data и с помощью одной простой строки кода сделать выборку данных, одновременно позволяя пользователю оптимизировать производительность. «Как это возможно?» — подумаете Вы. Это возможно благодаря удобной технологии, которая использует один и тот же шаблон для настройки, запросов и обновления Core Data. Особенностью дизайна является влияние Ruby on Rails’ системы хранения данных ActiveRecord.

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

Как легко сделать Navigation Drawer и вкладки, используемые в популярных приложениях от Google

Reading time15 min
Views126K
При использовании популярного приложения Play Маркет многие обратили внимание на вкладки для переключения контента. Такое применение вкладок можно найти и в других приложениях от Google, таких как Play Музыка, Play Пресса.



На этой почве возникает интерес, а иногда и необходимость (если заказчик просит) реализовать увиденное. Я не стал исключением и при проектировании нового приложения, дизайн которого был набросан на черновике, присутствовал очень схожий дизайн, хотя и имел всего несколько вкладок. Казалось бы, что сложного? Сейчас откроем официальную документацию, просмотрим необходимые разделы и приступим к делу. Но, изучив документацию, не смог обнаружить соответствующих примеров — и тут же возник новый вопрос. Почему Android разработчики из компании Google по умолчанию не предоставляют примеров с необходимой функциональностью, чтобы сделать это довольно просто, ведь это реализовано в каждом их приложении? Также, погуглив, нашлись аналогичные вопросы на Stack Overflow. Исходя из этого, оказалось, что существует проблема или, по крайней мере, нераскрытый вопрос, в котором следует разобраться.

Ниже хочу рассказать о том, как всё же можно реализовать паттерн Navigation Drawer вместе с вкладками, как в популярных приложениях от Google.
Читать дальше →

Часы на кривых Безье

Reading time1 min
Views67K


Bézier Clock — часы на кривых Безье, где цифры плавно перетекают из одной формы в другую. Автор говорит, что это его первый проект на Processing.js, исходный код опубликован. Можно отредактировать его и изменить, например, скорость анимации.

При выключенной анимации цифры трансформируются за 5 секунд до смены значения, а при включенной (пробелом) — в течение всего времени. Например, в 12:30:35 цифра «2» будет уже на полпути к превращению в «3». Направляющие скрываются кликом мыши.

Yandex слышит тебя, dude

Reading time4 min
Views44K
image
Неожиданно пришел приказ — написать приложение под iOS, использующее Yandex Speechkit для распознавания русской речи. Точнее, для распознавания коротких фраз на произвольную тему. Цель задания — сравнить успехи яндекс-двигателя с нашим, саровским движком.

Приказали — сделал следующие шаги.

  1. Зашел на yandex.ru в раздел распознавание речи
  2. Зарегистрировался и получил ключ, он же API_KEY
  3. Отправил письмо в yandex с просьбой активировать ключ


На вопрос, как будет использоваться ключ, я ответил, что выпускаю карточную игру Diablo 3-13, управляемую голосом.

Через два дня ключ активировали. Я поначалу нетерпеливо бил копытом, затем понял, что в yandex работают вдумчивые, синхронные сотрудники.
В своем приложении в дальнейшем я также отказался от асинхронных запросов к yandex.api.
Читать дальше →

Введение в Size Classes в Xcode 6

Reading time6 min
Views62K
Привет всем! Сегодня хотелось бы сделать небольшое введение в такую штуку, как Size Classes. Она появилась недавно вместе с Xcode 6, документации по ней от самой Apple совсем немного.

Итак, для чего же предназначена Size Classes? Все мы знаем, что на подходе уже iPhone 6 двумя (как минимум) разными размерами дисплея (4,7 и 5,5), после чего разработчикам еще больше придется заморачиваться с версткой UI для них + само собой расширения iPad«ов. В итоге количество всех поддерживаемых экранов будет около 7 (маленький привет Android). Герой сегодняшнего дня — Size Classes — как раз и предназначен для того, что бы помочь решить данную проблему.
Читать дальше →

Встраиваем Touch ID в iOS приложение

Reading time8 min
Views30K


Вступление


Начиная с iOS 8 Apple открывает доступ к возможности использования технологии Touch ID (аутентификации с помощью сканера отпечатков пальцев, встроенного в iPhone 5s) в сторонних приложениях. В связи с этим я хотел бы поделиться с вами подробной информацией о том, что же именно стало доступно разработчикам, как это встроить в свое приложение, каким поведением это обладает, а также поделиться удобной «оберткой», которая реализует наиболее, на мой взгляд, вероятный сценарий использования Touch ID.
Читать дальше →

От Objective-C к Swift. Рекомендации

Reading time10 min
Views41K
Swift это новый язык программирования от компаний Apple, который она презентовала в этом году на WWDC. Вместе с языком программирования, Apple выпустила отличный справочник по языку Swift, который я рекомендую прочитать или ознакомиться с ним. Тем не менее, читать книгу это очень долго! Так что если у Вас нет много времени и Вы просто хотите узнать о новом языке Swift, то эта статья для Вас.

В данной статье я бы хотел поделиться некоторыми размышлениями по поводу перехода от Objective-C к Swift. Я постараюсь дать Вам несколько советов и указать на недостатки при разном подходе к обеим языкам. Поэтому без лишних отступлений, перейдем к самой статье.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity