Архив за 10 ноября 2014 - 3

Компания Motorola две недели назад анонсировала настоящий флагманский смартфон Droid Turbo. Напомним, в его конфигурацию входит дисплей 2K диагональю 5,2 дюйма, платформа Snapdragon 805 и аккумулятор ёмкостью 3900 мА•ч.

Через несколько дней стало известно, что это же устройство появится на международной версии под именем Moto Maxx. Первоначально устройство попало на рынок Бразилии.

Одними из самых востребованных классов в UIKit до выхода iOS версии 8 являлись UIAlertView и UIActionSheet. Наверное, каждый разработчик приложений под мобильную платформу от Apple рано или поздно сталкивался с ними. Показ сообщений или меню выбора действий — это неотъемлемая часть практически любого пользовательского приложения. Для работы с этими классами, а точнее для обработки нажатий кнопок, программисту требовалось реализовывать в своем классе методы соответствующего делегата — UIAlertViewDelegate или UIActionSheetDelegate (если не требовалось чего-то сверх, то достаточно было реализовать метод clickedButtonAtIndex). На мой взгляд это очень неудобно: если внутри объекта создавалось несколько диалоговых окон с разными наборами действий, то их обработка все равно происходила в одном методе с кучей условий внутри. С выходом 8 версии iOS в составе UIKit появился класс UIAlertController, который пришел на смену UIAlertView и UIActionSheet. И одной из его главных отличительных черт является то, что вместо делегатов он использует блочный подход:

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Hello" message:@"Habr!" preferredStyle:UIAlertControllerStyleAlert];
    
    [alertController addAction:[UIAlertAction actionWithTitle:@"Action" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        // код обработчика кнопки
    }]];

Такой подход позволяет писать более структурированный и логичный код. Отныне программисту больше не требуется разделять создание диалогового окна и обработку событий — UIAlertController устраняет это недоразумение, но одновременно с этим привносит историческую несправедливость из-за невозможности использования в iOS 7 и более ранних версиях. Решить эту проблему можно несколькими способами:

  • Не обращать внимание на UIAlertController и продолжать использовать устаревшие UIAlertView и UIActionSheet.
  • Использовать нестандартные диалоговые окна. Программист либо пишет собственную реализацию, что приводит к увеличению временных затрат, либо подключает сторонние компоненты (например, SIAlertView), использование которых имеет ряд недостатков:
    1. программные модули с хорошей поддержкой можно пересчитать по пальцам (зачастую их создатели быстро забрасывают это неблагодарное дело);
    2. если в проекте используются несколько компонентов от разных разработчиков, то при их взаимодействии могут возникать проблемы (редко, но это возможно).

  • Проверять версию iOS и создавать либо UIAlertController, либо UIAlertView или UIActionSheet.

Последний вариант наиболее логичен, и большинство разработчиков, я уверен, выбрали бы именно его, но данный метод имеет существенный недостаток — условие проверки версии операционной системы придется писать каждый раз, когда потребуется отобразить диалоговое окно. Столкнувшись с этим на практике, я создал специальный класс-обертку UIAlertDialog, который позволяет забыть об этой проблеме.
Читать полностью »

Наушники закрытого типа: большой обзор от Марко Армента

Сегодня мы решили представить вниманию наших читателей перевод большого обзора портативных наушников, который подготовил Марко Армент – человек, создавший Tumblr и Instapaper, а в настоящее время активно работающий в теме подкастов – и как соведущий (Марко ведет шоу Accidential Tech Podcast), и как создатель мобильного приложения для прослушивания подкастов Overcast. Марко, как меломан, ИТ-гик и человек, профессионально связанный со звукозаписью, постарался тщательно разобраться в качестве всех наушников, которые попали в его обзор – его мнение, разумеется, субъективно, но от этого не менее интересно.Читать полностью »

Перевыпускаем сертификат с SHA 2 — если Webnames не идет к Магомету…Как было объявлено 5 сентября 2014 года, разработчики браузера Chromium уже не очень жалуют алгоритм хеширования SHA-1. Сам вид адресной строки браузера будет давать понять посетителям https-сайтов, «закрытых» такими сертификатами, что с сайтом что-то «не те». Вид строки будет меняться со временем, давая время для более-менее плавного перехода, а в конце сертификаты с SHA-1 перестанут считаться вообще сколько-нибудь безопасными:

Перевыпускаем сертификат с SHA 2 — если Webnames не идет к Магомету…
Читать полностью »

История о том, как мобильный оператор списал деньги с разработчика Dr. Tariff (захватите попкорн)

На прошлой неделе мы решили рассказать читателям Хабра о том, как устроен профиль потребления абонента сотовой связью в России по агрегированным данным из Dr. Tariff (Google Play, App Store). Считали различные метрики, спорили о том, есть ли сезонность на рынке связи и как правильней считать эластичность спроса по цене. Вдруг завибрировал телефон…
Читать полностью »

Добрый день.

В продолжение GLPI и последние обновления временных зон в Windows.

К сожалению, в моей организации подобным образом (установка «левого» часового пояса) избавиться от проблемы было никак нельзя (ибо — государственная). А пользователей GLPI под пару тысяч. К тому же, правка скрипта, как описано в статье, ожидаемого эффекта не принесла — необходимы «правильные» браузеры, которые, как вы уже поняли, установить и заставить использовать только для ЭТОГО не реально.

Выход оставался только один — обратиться к разработчику. Что и было сделано.
Читать полностью »

Редмондские разработчики решили исправить былые проблемы, ключевой из которых являлась несовместимость Windows Phone с предыдущими поколениями, и готовят к выпуску WP 10.

Согласно информации, появившейся в сети, Windows Phone 10, релиз которой запланирован на 2015-й год, порадует не только покупателей современных девайсов, но и тех, кто пользуется гаджетами под управлением модификации 8 или 8.1.

Смартфоны Microsoft «познакомятся» с Windows Phone 10

Читать полностью »

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

Немного лирики. Я – разработчик мобильных игр. Силами небольшой инди-команды мы разрабатываем небольшую, довольно хардкорную игру в стиле «два замка» для мобилок. Пару месяцев назад мы добрались-таки до момента, когда необходимо было определиться с выбором издателя.

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

Electronic Frontier Foundation (EFF), Фонд Электронных Рубежей, некоммерческая правозащитная организация, от имени 77 учёных-компьютерщиков требуют от судей верховного суда пересмотра решения, согласно которому API (программный интерфейс для приложений) может быть объектом защиты авторских прав, как сообщает официальный сайт EFF. Это решение, принятое в мае, перевернуло с ног на голову сложившуюся за десятилетия практику.

Под петицией подписались пятеро обладателей Премии Тьюринга, четыре медалиста Национальной Технологической Премии, и множество людей из Ассоциации вычислительной техники, Института инженеров электротехники и электроники, и Американской академии науки и искусств. В списке также есть разработчики таких компьютерных систем и языков программирования, как AppleScript, AWK, C++, Haskell, IBM S/360, Java, JavaScript, Lotus 1-2-3, MS-DOS, Python, Scala, SmallTalk, TCP/IP, Unix, и Wiki.
Читать полностью »

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

Качество подаваемой электроэнергии в большинстве городов страны до сих пор остается не на самом высоком уровне. И если с какими-то изменениями напряжения в сети питания еще можно справиться с установкой качественных стабилизаторов напряжения, то с перебоями в самой подаче энергии все гораздо сложнее — просто источником бесперебойного питания обойтись нельзя, особенно если отключение электричества длительное. В этом случае приходится приобретать автономную дизельную электростанцию.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js