По поводу информационного экрана/пульта управления — мне понравилась идея использовать для этой цели Kindle. Они дешевле, энергоэффективнее и лично мне приятнее на e-ink экран смотреть.
Но нужное ПО для управления на написать, наверное, сложнее, если вообще возможно.
К слову про Эппл, сколько там «инноваций» в новеньком 5S, м?
То люди жалуются, что в телефонах Apple нет «инноваций», то говорят, что Apple не надо обновлять старые телефоны на новые версии ОС, т.к. они тормозят (iPhone 4 у меня на iOS7 работает без проблем).
ресурс Dev и QA, хоть и не ископаемый, но все-же ограниченный
Можно подумать, что вместо поддержки старых устройств, этот ресурс делает новые великолепные продвинутые версии андроида.
Может новые девайсы с умом будут делать, а не по принципу — сделаем рекламу, что у нас все круче, чем у Apple (которая от всех отстает с выпуском «инноваций», ай-яй-яй), выкинем на рынок — и бегом делать следующую прогрессивную версию флагмана, а пользователи пусть дальше сами разбираются?
Торможение прогресса — принуждение разработчиков приложений под Android поддерживать этот зоопарк версий! Почему-то HTC не может себе позволить QA и адаптацию новой версии Android, но блин конечные разработчики должны все это поддерживать и мучиться с подобной фрагментацией?
Судя по вашему комментарию — Apple — мечта любого «халявщика». Но почему-то у этой фирмы иная репутация.
QL-плагин, помимо отдельного распространения, может быть включен в обычное приложение для OS X — apple.stackexchange
В этом обсуждении автор Pleasant3D говорит о том, что в его продукте есть stl плагин для OS X, но он не работает на 10.9 — он столкнулся с проблемами с OpenGL. Исходный код Pleasant3D открыт, можно посмотреть, как там устроен QL плагин.
По вопросу реализации такого плагина — думаю разумно сделать так: проверить наличие приложения (3D редактора?) в системе, запустить его с определенным параметром и полученную информацию (изображение) вернуть в QuickLook.
Да, вы правы.
Этот код я в взял из ProvisionQL — там иконка подгружается из ipa и заранее не известно, какой из файлов какому разрешению соответствует. Взгляните на алгоритм выбира из Info.plist кандидата на самую подходящую иконку (в идеале нужна основная — 60x60@2x): github/shared.m.
Действительно, было бы очень круто, если бы массово поддерживались одновременно iOS и Android.
Пока доминируют проприетарные мультимедиа-системы, у меня вообще бывает ощущение, что я пользуюсь бытовым плеером начала 2000ых.
И это в то время, как удобнейшие, постоянно обновляемые и подобранные с учетом личных предпочтений навигатор и медиаплеер у многих людей уже находятся в кармане.
Например, iFixit сильно снижали ремонтопригодность для rMBP (retina MacBook Pro), т.к. там все было запаяно и залито клеем. Т.е. для замены батареи или SSD rMBP нужны не только сменные фирменные комплектующие — но и большие усилия по доступу внутрь и замене.
Heroku рекомендует хостить статику с помощью Ruby with Rack. Я тоже не имею опыта в Ruby, самое простое найденное решение — подключение небольшой вспомогательной библиотеки Vienna
Получается, нужно создать 2 файла в корне, Gemfile:
Опыта использования ни одного из этих инструментов у меня нет, просто после ознакомления с простой и ясной документацией Kiwi процедура по установке и интеграции Cedar мне показалась чрезмерно усложненной.
Xcode 5 мне кажется первым Xcode который реально сделали качественно. Переход на него не чреват обилием багов (некоторые, конечно, есть), добавлено много интересных фич, интерфейс стал более удобным. CI-решение от Apple радует, надо только разобраться, насколько это все функционально.
Товарищи, поделитесь вашим подходом к автоматизированному тестированию obj-c проектов. Я вот решил взяться за ум и выбираю:
Использую для собственных мобильных приложений, но OAuth2 был выбран для упрощения интеграции с другими сервисами, стандартизации и избегания самописных реализаций.
Спасибо за рекомендации. Я добавил краткое описание коллекций и описания некоторых шагов в «5. Access control».
Хэши, алгоритмы и соли — это чрезвычайно обширная и спорная тема. Советую всем интересующимся внимательно ознакомится с данной областью на специализированных ресурсах. Ну или в предметных топиках, здесь же.
Кстати, в процессе изучения этих вопросов открыл для себя security.stackexchange.com/ — там есть дискуссии с описаниями, плюсами и минусами различных алгоритмов.
Этот код используется для сохранения в сессии объекта «клиент». Сессия используется для хранения транзакции в процессе аутентификации, состоящего из нескольких http-запросов. В примере из статьи сессии не используются, авторизация происходит только через username-password flow, в 1 запрос.
1. Если это разные сущности — в чем проблема после изменения n сущностей (с помощью, например, bulk data update через PUT) найти в базе все неизмененные, отредактировать по нужному алгоритму и сохранить?
P.S. Изменение/удаление/создание сразу нескольких сущностей сделать несложно, но в моем примере не отражено. Пример можно найти в этой статье (тоже Express & Mongoose) под заголовком Bulk Actions for UPDATE and DELETE.
2. Возвращать ли созданную сущность? — я предпочитаю возвращать сразу, если это не займет много траффика.
Таким образом на клиенте мы меняем минимум 2 элемента, максимум — все.
Как сохранять изменения?
Если я правильно понял вопрос — предлагаю присваивать все доступные в запросе параметры в схему mongoose, а затем вызвать метод схемы, который расставит по особому правилу все остальные, незаполненные атрибуты. А затем уже можно сохранить.
В примере по полю password заполняются сразу хэш и соль, но это не метод схемы, а виртуальное поле.
мы создаем новую сущность пост запросом тру вей не возвращать сущность в запоросе
Почему так не следует делать? Я в примере возвращаю созданную сущность. В принципе можно только id новой записи возвращать, а в случае необходимости — делать по данному id GET запрос.
В Express.js имеется излишняя функциональность, предназначенная для браузерных приложений. Цель создания Restify — избавиться от излишнего функционала и сосредоточиться на одной задаче. Но, как можно увидеть, Express не так уж и плох, а альтернативы, подобные Restify не всегда справляются со своей единственной задачей.
Однообразные стандартные вызовы middleware — правильнее и удобнее, чем лаконичный, но нечитаемый код.
И я чаще встречаю проекты с проблемами в коде намного серьезней, чем неиспользуемые в некоторых случаях переменные в функции.
По поводу информационного экрана/пульта управления — мне понравилась идея использовать для этой цели Kindle. Они дешевле, энергоэффективнее и лично мне приятнее на e-ink экран смотреть.
Но нужное ПО для управления на написать, наверное, сложнее, если вообще возможно.
Digital Sky Technologies = Mail.Ru Group.
Но по поводу разработчиков — при разработке массовых продуктов поддерживать много версий все-таки приходится.
Доля 2.x = 22,6% — несколько больше, чем доля пользователей win 3.11, не правда ли?
У Nexus нет зоопарка устройств.
То люди жалуются, что в телефонах Apple нет «инноваций», то говорят, что Apple не надо обновлять старые телефоны на новые версии ОС, т.к. они тормозят (iPhone 4 у меня на iOS7 работает без проблем).
Можно подумать, что вместо поддержки старых устройств, этот ресурс делает новые великолепные продвинутые версии андроида.
Может новые девайсы с умом будут делать, а не по принципу — сделаем рекламу, что у нас все круче, чем у Apple (которая от всех отстает с выпуском «инноваций», ай-яй-яй), выкинем на рынок — и бегом делать следующую прогрессивную версию флагмана, а пользователи пусть дальше сами разбираются?
Торможение прогресса — принуждение разработчиков приложений под Android поддерживать этот зоопарк версий! Почему-то HTC не может себе позволить QA и адаптацию новой версии Android, но блин конечные разработчики должны все это поддерживать и мучиться с подобной фрагментацией?
Судя по вашему комментарию — Apple — мечта любого «халявщика». Но почему-то у этой фирмы иная репутация.
QL-плагин, помимо отдельного распространения, может быть включен в обычное приложение для OS X — apple.stackexchange
В этом обсуждении автор Pleasant3D говорит о том, что в его продукте есть stl плагин для OS X, но он не работает на 10.9 — он столкнулся с проблемами с OpenGL. Исходный код Pleasant3D открыт, можно посмотреть, как там устроен QL плагин.
По вопросу реализации такого плагина — думаю разумно сделать так: проверить наличие приложения (3D редактора?) в системе, запустить его с определенным параметром и полученную информацию (изображение) вернуть в QuickLook.
Этот код я в взял из ProvisionQL — там иконка подгружается из
ipa
и заранее не известно, какой из файлов какому разрешению соответствует. Взгляните на алгоритм выбира из Info.plist кандидата на самую подходящую иконку (в идеале нужна основная — 60x60@2x): github/shared.m.Действительно, было бы очень круто, если бы массово поддерживались одновременно iOS и Android.
Пока доминируют проприетарные мультимедиа-системы, у меня вообще бывает ощущение, что я пользуюсь бытовым плеером начала 2000ых.
И это в то время, как удобнейшие, постоянно обновляемые и подобранные с учетом личных предпочтений навигатор и медиаплеер у многих людей уже находятся в кармане.
Получается, нужно создать 2 файла в корне,
Gemfile
:и
config.ru
:Этого достаточно, чтобы отдавать всю статику из папки
public/
Товарищи, поделитесь вашим подходом к автоматизированному тестированию obj-c проектов. Я вот решил взяться за ум и выбираю:
Эти мне изначально не понравилось, но тоже пользуется популярностью:
Кстати, на OS X Server можно бесплатно получить промокод в iOS developer center.
Хэши, алгоритмы и соли — это чрезвычайно обширная и спорная тема. Советую всем интересующимся внимательно ознакомится с данной областью на специализированных ресурсах. Ну или в предметных топиках, здесь же.
Кстати, в процессе изучения этих вопросов открыл для себя security.stackexchange.com/ — там есть дискуссии с описаниями, плюсами и минусами различных алгоритмов.
P.S. Изменение/удаление/создание сразу нескольких сущностей сделать несложно, но в моем примере не отражено. Пример можно найти в этой статье (тоже Express & Mongoose) под заголовком Bulk Actions for UPDATE and DELETE.
2. Возвращать ли созданную сущность? — я предпочитаю возвращать сразу, если это не займет много траффика.
Если я правильно понял вопрос — предлагаю присваивать все доступные в запросе параметры в схему mongoose, а затем вызвать метод схемы, который расставит по особому правилу все остальные, незаполненные атрибуты. А затем уже можно сохранить.
В примере по полю password заполняются сразу хэш и соль, но это не метод схемы, а виртуальное поле.
Почему так не следует делать? Я в примере возвращаю созданную сущность. В принципе можно только id новой записи возвращать, а в случае необходимости — делать по данному id GET запрос.
И я чаще встречаю проекты с проблемами в коде намного серьезней, чем неиспользуемые в некоторых случаях переменные в функции.