Несколько студентов израильской академии искусств Бецалель в качестве выпускного проекта сняли отличную короткометражку про то как может (и скорее всего будет) выглядеть наша жизнь с распространением технологий дополнительной реальности. Хоть в фильме и используется устройства на пару поколений опережающие нынешнее технологии вроде прототипа Google Glass, но у меня не возникает сомнений, что и в социальном и технологическом плане все идет к тому, что именно такие технологии и способы их использования станут повсеместны. Так как вы думаете, сколько времени пройдет, до того, как мы, наподобие главного героя, будем смотреть телевизор на пустой стене, приготовление еды превратиться в социальную игру с «ачивками», а во время свидания специальное приложение будет подсказывать нужные фразы и не только...? Это вопрос десятилетий или это уже вот-вот за углом?
Александр @demand
Пользователь
Руководство Эпл по проектированию интерфейсов
1 мин
4KВнимание! Новая информация о переводе!
Здравствуй, подхабр переводов. Я хочу обратиться к тебе с просьбой. Суть просьбы, как все уже догадались, в том, что нужна помощь в переводе. Переводим руководство Эпл по проектированию интерфейсов.1 Это полезный и важный документ для всех разработчиков и дизайнеров ПО. Да и не только ПО. В нём описываются как общеизвестные, так и не очень распространённые принципы, следование которым сделает дизайн, окружающий нас, на порядок лучше.
+66
JDK concurrent package
7 мин
47KПеревод
Модель памяти, существующая на данный момент в Java, гарантирует ожидаемый порядок выполнения многопоточного кода, при отсутствии в этом коде гонок потоков. И для того, чтобы обезопасить ваш код от гонок, придуманы различные способы синхронизации и обмена данными между ними.
Пакет
Пакет
java.util.concurrent
, входящий в состав HotSpot JDK, предоставляет следующие инструменты для написания многопоточного кода:- Atomic
- Locks
- Collections
- Synchronization points
- Executors
- Accumulators _jdk 1.8_
+8
Time Machine: бекапим OS X Lion на Ubuntu 12.04 LTS сервер
4 мин
28KЕсли кто не знает, Time Machine — это такой замечательный бэкап-сервис из коробки для Apple OS X, тут и тут можно почитать поподробнее. Если у вас есть мак, и вы не пользуетесь «машиной времени», то это совершенно напрасно. Time Machine делает постоянные дифференциальные бэкапы, поэтому она удобна даже в случае прекрасной жизни ваших HDD / SSD. Можно в любой момент открутить назад историю и восстановить случайно удаленный файл, или, что еще важнее, предыдущую версию измененного файла.
Предполагается, что пользователи будут использовать либо обычный жесткий диск, либо специальный сетевой девайс Time Capsule. Традиционный внешний жесткий диск — решение для очень организованных людей, которые регулярно (хотя бы ежедневно) будут его подключать для автоматического бэкапа, иначе польза от тайм машины будет весьма ограничена (хотя прошлогодний бэкап все же лучше, чем совсем ничего). С тайм-капсулой будет гораздо удобнее и надежнее. Кроме функции бэкапа, она может выполнять еще и функцию сетевой шары, раздачи Wi-Fi (фактически Time Capsule — это Wi-Fi роутер с HDD). Но устройство стоит денег, и оно не такое универсальное. Мне захотелось прикрутить на свой сервер работающий на Ubuntu возможность делать бэкапы тайм-машиной. И это не так сложно, о чем и будет эта заметка.
+33
Как я не спал год или создание социального Android приложения
8 мин
35KДоброго времени суток, уважаемые хабражители. Я работаю в большой IT компании Android-разработчиком.
Все началось примерно год назад. Тогда, я решил начать свой первый проект. Идея приложения пришла мне практически сразу. Ее первоначальная версия звучала примерно так — «Я хочу, чтобы каждый мог узнать независимое мнение людей всего мира, по интересующему вопросу».
Начать рассказ, про свой интересный путь создания приложения, я решил с конца, с этапа его продвижения. Это связано с тем, что информация, которой я хочу поделиться, актуальна на текущий момент, и с течением времени будет устаревать.
В статье присутствуют цены на те или иные услуги сайтов с которыми мне удалось связаться.
Все началось примерно год назад. Тогда, я решил начать свой первый проект. Идея приложения пришла мне практически сразу. Ее первоначальная версия звучала примерно так — «Я хочу, чтобы каждый мог узнать независимое мнение людей всего мира, по интересующему вопросу».
Начать рассказ, про свой интересный путь создания приложения, я решил с конца, с этапа его продвижения. Это связано с тем, что информация, которой я хочу поделиться, актуальна на текущий момент, и с течением времени будет устаревать.
В статье присутствуют цены на те или иные услуги сайтов с которыми мне удалось связаться.
+109
Мягкие ссылки на страже доступной памяти или как экономить память правильно
13 мин
165KВсе java-разработчики, рано или поздно, встречаются с пресловутой ошибкой OutOfMemoryError.После этой встречи мы начинаем более бережно относится к используемой памяти, экономить ее. Начиная с версии 1.2 в Java появился пакет java.lang.ref.* с классами SoftReference, WeakReference, PhantomReference. Далее я расскажу вам о том, как помогут эти классы в борьбе с OutOfMemoryError. И что более интересно, приведу реальные примеры их использования. Начнем.
+57
Eclipse for Java Developers. Навигация и редактирование
6 мин
187KНаблюдая за со своими знакомыми, которые недавно начали изучать программирование или перешли на Eclipse c другой IDE, я часто замечаю что они почти не используют вспомогательные инструменты среды разработки. Они либо не знают о них вообще, либо не понимают какую практическую пользу они могут принести.
Данная статья предназначена в основном для начинающих в работе с Eclipse. Но в процессе подготовки статьи я сам узнал о нескольких простых и удобных инструментах, которые за два года активной разработки ни разу не использовал.
В данной статье речь пойдет о навигации и редактировании.
Внутри скриншоты.
+69
Книги, которые должен прочитать Java программист: от новичка до профессионала
4 мин
650KПеревод
Книги, которые должен прочитать Java программист: от новичка до профессионала
[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]
Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
+64
AnnotatedSQL lib — автоматическая генерация базы данных в Android
7 мин
8.6KПри разработке приложения под Android мы часто пишем руками скрипты для создания схемы.
Все бы ничего когда это надо сделать одни раз, но когда приложение развивается, то часто приходится менять базу.
И когда это размазано по нескольким классам — то возникают проблемы, где-то забыл добавить/удалить колонку, изменить тип и прочее. Еще и копипаст «помогает»: добавлял колонку — забыл поставить запятую.
Как раз для решения этих проблем и была придумана эта библиотека.
Все бы ничего когда это надо сделать одни раз, но когда приложение развивается, то часто приходится менять базу.
И когда это размазано по нескольким классам — то возникают проблемы, где-то забыл добавить/удалить колонку, изменить тип и прочее. Еще и копипаст «помогает»: добавлял колонку — забыл поставить запятую.
Как раз для решения этих проблем и была придумана эта библиотека.
+29
Поиск контакта по номеру телефона
1 мин
19KВ одном из приложений встал вопрос поиска контакта по номеру телефона (при приёме SMS). Задача оказалось не такой уж простой – в базе контактов телефоны часто записываются в произвольном (удобном пользователю) формате: тут и использование 8 вместо кода страны, и скобки и/или пробелы для разделения частей номера. А тут еще оператор добавил своего креатива и номер автора SMS преобразовывал в более читаемый формат – код страны, код оператора и сам номер телефона разделяется пробелами.
+5
2 бесплатных бумажных шаблона для прототипирования мобильных приложений
1 мин
41KНа сайте Smashing Magazine выложены два новых полезных инструмента для мобильных разработчиков. Это набор заготовок для рисования набросков интерфейсов распространённых типов мобильных утсройств Outline и шаблоны для подбора размеров элементов тач-интерфейса с учётом разрешения и физического размера реальных устройств Tapsize. Оба набора предназначены для распечатки на бумаге.
+47
Android SDK: боремся с ограничением размера памяти для картинок
5 мин
16KВ графическом приложении для рисования используется SurfaceView и пара Bitmap размером с экран (например, я хочу изобразить плавное листание страниц книги).
На многих устройствах с большим разрешением экрана приложение падает c ошибкой
AndroidRuntime: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
Проблема в том, что память для Bitmap, а также для SurfaceView резервируется из общей кучи процесса. Лимит размера кучи — невелик, как правило немногим больше 10Мб. И задается этот лимит при сборке системы.
Попытки улучшить ситуацию урезанием формата пикселя с 32 бит до 16 не слишком помогают. Проблема просто вылезает позже — например, при открытии окна поверх SurfaceView (видимо, при этом создается еще один Bitmap размером с экран).
Ограничение размера графических буферов программы в 3-4 экрана — это до обидного мало! Попробуем исправить такую несправедливость.
На многих устройствах с большим разрешением экрана приложение падает c ошибкой
AndroidRuntime: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
Проблема в том, что память для Bitmap, а также для SurfaceView резервируется из общей кучи процесса. Лимит размера кучи — невелик, как правило немногим больше 10Мб. И задается этот лимит при сборке системы.
Попытки улучшить ситуацию урезанием формата пикселя с 32 бит до 16 не слишком помогают. Проблема просто вылезает позже — например, при открытии окна поверх SurfaceView (видимо, при этом создается еще один Bitmap размером с экран).
Ограничение размера графических буферов программы в 3-4 экрана — это до обидного мало! Попробуем исправить такую несправедливость.
+27
Взаимодействие между приложением и службой
5 мин
20KВведение
В данной публикации хочу показать пример взаимодействия (получение и отправки данных) приложения и службы, в операционной системе Андроид. Публикация рассчитана на начинающих программистов, теории практически не будет, так как основная цель рассказать, как это сделать.
+29
Continuous Integration для Android
7 мин
18KПосле реализации пары проектов под Android, стало понятно, что, несмотря на их небольшие размеры и кажущуюся простоту, без автоматизированных сборок и тестирования не обойтись. Родилось желание получить следующие возможности:
- unit тестирование,
- интеграционное тестирование,
- тестирование интерфейса,
- тестирование этих типов тестов на различных версиях Android и конфигурациях девайсов,
- рассылка по email в случае сломанного билда;
- таже не помешает автоматическая сборка релизов.
+32
Шокирующий Objective-C для Java программистов
4 мин
26KО чем эта статья?
Два факта. В мире много Java программистов. Популярность Objective-C растет. Вывод: Java программист, изучающий Objective-C не такая уж редкость. Если знать ключевые различия между языками, то можно эффективно использовать существующие знания Java и быстрее начать писать на Objective-C.
+52
Стилизация приложений часть первая
4 мин
79KВсе идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…
Ну или пойдем по другому пути — у вас имеется своя контора Васей Пупкиных с некой деятельностью в мировой сети (допустим продажа хомячков), и (о ужас!) у вас есть целый сайт. Сайт, ага, сайт то у нас красивый, зелененький/красненький/желтенький ну и т.д. и есть программа-клиент для этого сайта, и мы хотим раскрасить свое приложение в цвета сайта.
Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
+55
Делаем простейший сборщик ошибок для Android
3 мин
27KПри разработке приложения неизбежно приходится сталкиваться с ошибками в коде и/или окружении. И очень печально когда подобные ошибки встречаются не на тестовом телефоне/эмуляторе а у живых пользователей. Еще печальнее если это не ваш друг бета-тестер и толком никто не может объяснить что и где свалилось.
Обычно при внезапном падении приложения Android предлагает отправить отчет об ошибке, где будет и подробный стэк-трейс и информация о версии вашего приложения. К сожалению пользователи не всегда нажимают кнопку «отправить отчет» а для дебаг-приложений или приложений не из маркета такая функциональность и вовсе недоступна.
Что же делать? На помощь приедет возможность языка Java обрабатывать исключения (Exceptions), в том числе и непойманные (unhandled).
Обычно при внезапном падении приложения Android предлагает отправить отчет об ошибке, где будет и подробный стэк-трейс и информация о версии вашего приложения. К сожалению пользователи не всегда нажимают кнопку «отправить отчет» а для дебаг-приложений или приложений не из маркета такая функциональность и вовсе недоступна.
Что же делать? На помощь приедет возможность языка Java обрабатывать исключения (Exceptions), в том числе и непойманные (unhandled).
+45
Создание расширения FireFox для начинающих
8 мин
48KВ данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.
Это не моя статья, а моего друга (его мыльце: templar8@gmail.com).Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Это частичный перевод оригинальной статьи.
Это не моя статья, а моего друга (его мыльце: templar8@gmail.com).
+84
Работа с Java в командной строке
11 мин
653KТуториал
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
+67
Помещаем файлы из Assets на SD-карту с помощью Infles
8 мин
8.5KДоброго времени суток, Хабравчане!
Почти все пользователи ОС Android знают практику приложений использовать файлы с SD карты.
Большинство приложений скачивают с интернета эти файлы и помещают их в свою папку, но не у всех пользователей есть возможность скачивать их из сети и не у всех разработчиков содержать свой сервер, а вручную копировать файлы, согласитесь, неудобно.
Поэтому что бы упростить всем жизнь и была написана программа «Infles», она распространяется бесплатно с открытым исходным кодом и по лицензии MIT. Программа позволяет в 1 клик установить необходимые файлы в указанную в настройках папку на SD карте. Для этого необходимо поместить их в папку «assets», в коде в файле "\Infles\src\ru\boomik\infles\InflesActivity.java" в переменной «COPY_DIR» указать путь на карте памяти и скомпилировать программу.
Идея программы появилась как раз при использовании приложения, для доступа ко всем возможностям которого необходимо было скопировать файлы на флэшку в определенную папку, а встроенного механизма небыло.
Описание:
Почти все пользователи ОС Android знают практику приложений использовать файлы с SD карты.
Большинство приложений скачивают с интернета эти файлы и помещают их в свою папку, но не у всех пользователей есть возможность скачивать их из сети и не у всех разработчиков содержать свой сервер, а вручную копировать файлы, согласитесь, неудобно.
Поэтому что бы упростить всем жизнь и была написана программа «Infles», она распространяется бесплатно с открытым исходным кодом и по лицензии MIT. Программа позволяет в 1 клик установить необходимые файлы в указанную в настройках папку на SD карте. Для этого необходимо поместить их в папку «assets», в коде в файле "\Infles\src\ru\boomik\infles\InflesActivity.java" в переменной «COPY_DIR» указать путь на карте памяти и скомпилировать программу.
Идея программы появилась как раз при использовании приложения, для доступа ко всем возможностям которого необходимо было скопировать файлы на флэшку в определенную папку, а встроенного механизма небыло.
+12
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность