Как стать автором
Обновить
11
0
Артём @kolipass

Мобильный разработчик

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

Песочница дополненной реальности

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


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

Этот проект создан командой специалистов по геологии и визуализации. Система построна на основе камеры Microsoft Kinect, работающей в связке с топографическим ПО и 3D-проектором. Немало времени ушло у авторов, чтобы научить своё детище быстро и точно реагировать на действия детей.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии20

8 ловушек программирования

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


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

Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
Читать дальше →
Всего голосов 276: ↑256 и ↓20+236
Комментарии83

Разработка Chromecast Ready приложения под платформу Android

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

1. Что такое Chromecast и как он работает?


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

Устройство стоимостью 35$ было анонсировано 24 Июля 2013 года и названо гаджетом года по версии Time's 2013. В первую очередь это технология передачи медиа контента с телефонов, планшетов или ноутбуков на устройство с большим экраном — например на телевизор.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Исключение — твой друг

Время на прочтение3 мин
Количество просмотров18K
image
В середине девяностых, когда я переходил с программирования под DOS на Windows, мой наставник познакомил меня с механизмом исключений.
С тех пор в моём сознании укоренилось мнение: программа, падающая с исключением — плохая программа. Все исключения надо обрабатывать и завершать работу приложения в случае нештатной ситуации самостоятельно.
И это вполне актуально для обычного приложения под Windows. Ведь в случае падения приложения пользователь получает невнятное сообщение об ошибке и, как результат, негативное восприятие нестабильно работающего приложения.
Моё мнение начало меняться после знакомства с инструментами автоматической обработки исключений (таких как EurekaLog и аналогов).
И окончательно поменялось после знакомства с системой отчетов Google Play.
Этот пост — крик души против тех тысяч примеров, которые учат нас пихать в свой код необдуманные проверки.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии25

Новый SwipeRefreshLayout из библиотеки Android support — «потяните чтобы обновить»

Время на прочтение3 мин
Количество просмотров44K
Тихо и незаметно вместе с обновлением библиотеки Android support до версии 19.1 в нее прокрался новый компонент, который часто бывает нужным и полезным в быту. Сей совсем крохотный росчерк я посвящаю ему, SwipeRefreshLayout.

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

Очень похоже, что компонент был создан для GoogleNow, а потом перекочевал в support lib (очень похожа анимация).
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии7

[видео] Как поставить человека на место: 10 реальных вопросов про давление в переговорах

Время на прочтение2 мин
Количество просмотров229K
Видео про 8 способов противостояния формуле нужды оказалось неожиданно популярным, набрав 8,000 просмотров за два дня. Мы решили продолжить тему.

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

Мы отобрали 10 самых любопытных, на наш взгляд, вопросов в этой теме и снова заперли в студии Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП и нашего хорошего друга, чтобы он рассказал, что конкретно делать:



10 реальных ситуаций, которые удалось осветить — под катом:

Читать дальше →
Всего голосов 157: ↑138 и ↓19+119
Комментарии62

Полезное для Android разработчика #2

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

Полезное для Android разработчика #2



Привет, теперь я постараюсь еженедельно выпускать дайджесты на интересные библиотеки и находки для Ваших проектов.

Сегодня в выпуске

Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии8

λ-исчисление. Часть вторая: практика

Время на прочтение5 мин
Количество просмотров48K
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

Первая часть дала нам теоретическое представление о том, что есть лямбда-исчисление. В этой статье мы последуем неофициальной його-заповеди «Practice-practice-practice» и увидим его в действии.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии1

λ-исчисление. Часть первая: история и теория

Время на прочтение6 мин
Количество просмотров158K
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

UPD: в текст внесены некоторые изменения с целью сделать его более понятным. Смысловая составляющая осталась прежней.

Вступление


Возможно, у этой системы найдутся приложения не только
в роли логического исчисления. (Алонзо Чёрч, 1932)


Вообще говоря, лямбда-исчисление не относится к предметам, которые «должен знать каждый уважающий себя программист». Это такая теоретическая штука, изучение которой необходимо, когда вы собираетесь заняться исследованием систем типов или хотите создать свой функциональный язык программирования. Тем не менее, если у вас есть желание разобраться в том, что лежит в основе Haskell, ML и им подобных, «сдвинуть точку сборки» на написание кода или просто расширить свой кругозор, то прошу под кат.
Читать дальше →
Всего голосов 64: ↑54 и ↓10+44
Комментарии34

Yii связь многие ко многим

Время на прочтение4 мин
Количество просмотров19K
many-to-many

Вступление


Привет, хабр! Многие, наверное, сталкивались с необходимостью реализовать функционал связи многие-ко-многим в Yii. Казалось бы, тут нет ничего сложного, и скорее всего разработчики фреймворка уже постарались за нас реализовать необходимый функционал связи, и нам остаётся только прописать необходимые связи в модели, и, пользуясь привычными методами, сохранить данные.
Читать дальше →
Всего голосов 11: ↑7 и ↓4+3
Комментарии13

Делаем сервер своими руками

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


Предисловие


Несколько лет разрабатывали с другом проект, для которого в конечном итоге понадобился сервер. И мы задумались: как реализовать нашу идею?
Для начала позвонили местному интернет-провайдеру, чтобы узнать расценки стоимости размещения своего сервера в дата центре. Узнали, оказалось, что стоимость размещения зависит от количества юнитов, из которых состоит сервер. И для себе решили, что для нас идеальным вариантов будет размещения сервера размером в 1U.
Читать дальше →
Всего голосов 160: ↑140 и ↓20+120
Комментарии116

Синхронизация в Android приложениях. Часть первая

Время на прочтение6 мин
Количество просмотров63K
image
На дворе 2014 год, доля Android JellyBean перевалила за 60%, появились новые тренды в дизайне. В общем, случилось много всего интересного. Но синхронизация данных с сервером осталось неотъемлемой частью большинства приложений. Существует много способов реализации ее в приложении. Android предоставляет нам SyncAdapter Framework, который позволяет автоматизировать и координировать этот процесс и предоставляет множество плюшек в довесок.

Account


Для начала нам потребуется собственный аккаунт на устройстве. Сначала, я думаю, стоит ответить на вопрос, зачем? Действительно, зачем?

Краткое резюме преимуществ:
  • Поддержка фоновых механизмов вроде SyncAdapter
  • Стандартизация способа авторизации
  • Поддержка различных токенов (прав доступа)
  • Шаринг аккаунта с разграничением привилегий (возможность использовать один аккаунт для различных приложений, как это делает Google)

Шаги для получения плюшек:
1) Создание Authenticator'а
2) Создание Activity для логина
3) Создание сервиса для общения с нашим аккаунтом

Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии12

Отладка Android CMake проекта по-взрослому

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

После перевода наших проектов на CMake, встал вопрос об отладке нативной части Android. Так как инструменты NDK стали неактуальны, пришлось залезть в дебри и научить Eclipse запускать удалённую отладку CDT-проекта, что называется, вручную. В идеале, чтобы это выполнялось в один клик.

Если вам не чужда разработка с использованием Android NDK, и вы хотите познать некоторые тонкости отладки, велкам под кат.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии6

Пишем эффективный blur на Android

Время на прочтение8 мин
Количество просмотров54K
image
Сегодня мы попытаемся разобраться с методами размытия (blur) доступными для Android разработчиков. Прочитав определенное число статей и постов на StackOverflow, можно сказать, что мнений и способов выполнить эту задачу достаточно много. Я попытаюсь собрать все это в кучу.

И так, зачем?


Все чаще и чаще можно заметить эффект размытия в приложениях появляющихся на просторах Google Play Store. Взять хотя бы замечательное приложение Muzei от +RomanNurik или тот же Yahoo Weather. Глядя на эти приложения можно заметить, что при умелом обращении размытием можно добиться очень впечатляющих результатов.

Читать дальше →
Всего голосов 50: ↑41 и ↓9+32
Комментарии11

Полезные материалы для мобильного разработчика #42 (24 февраля-2 марта)

Время на прочтение3 мин
Количество просмотров13K
В этой подборке* анализ мобильных игровых тенденций на 2014 год, блокирование Apple аккаунтов российских разработчиков, довольно пессимистический прогноз развития индустрии от Олега Якубенкова, новости с MWC, новый сводный рейтинг продуктовых разработчиков.

Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии0

Новая жизнь старого синтезатора. Часть 1

Время на прочтение6 мин
Количество просмотров83K
Внешний вид синтезатора
Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это из-за того, что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.
Перейти ко вскрытию пациента
Всего голосов 109: ↑105 и ↓4+101
Комментарии57

Вопросы и задания для русскоязычной книги Thinking in Java (Философия Java) Брюса Эккеля

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


На вопрос «С какой книги начать изучение Java?» очень часто отвечают: Thinking in Java Брюса Эккеля.
Но вот беда — эта книга (4-е издание) не содержит в конце каждой из глав вопросы и практикум…

Именно того, что способствует наиболее эффективному изучению языка!

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

Почему бы не поделиться этими заметками-вопросами с Вами?

Приведен список составленных на данный момент вопросов.
Вопросы типа «Что такое внутренний класс?» отсутствуют. Такие определения, на мой взгляд, четко формируются по мере чтения главы и не требуют скучного и банального вопроса для подкрепления.

А также отсутствуют вопросы, наподобие «что такое stack? каковы особенности его работы?». Они являются базовыми для многих языков и для всего программирования в целом. Поэтому старался их избегать.

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

В конце вопросника приведен сделанный мной перевод некоторых упражнений-заданий, опубликованных в англоязычном оригинале книги. Указаны страницы, на которых эти упражнения напечатаны.

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

Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии21

Об открытости данных в Android-приложениях

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


Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии17

Страсть к программированию. Глава 8. Будь специалистом

Время на прочтение4 мин
Количество просмотров41K
Продолжаем переводить книгу Чеда Фоулера «Страсть к программированию» совместными усилиями. Готов координировать работу с остальными переводчиками.

Глава 8. Будь специалистом


— Каким образом Вы можете добиться падения JVM используя только возможности Java?
В ответ — тишина.
— Вы меня слышите?
— Извините, я не понял Вас. Повторите, пожалуйста, вопрос.

В голосе прозвучало отчаяние. Я знал из своего опыта, что повторение вопроса не поможет. Тем не менее я повторил вопрос, медленно и громко.

— Каким образом Вы можете добиться падения JVM используя только возможности Java?
— Эм… Извините, я никогда не сталкивался с подобной задачей.
— Я уверен, что не сталкивались. Как насчёт такого вопроса: как бы Вы написали программу, которая бы никогда не приводила к сбоям JVM?
Читать дальше →
Всего голосов 66: ↑48 и ↓18+30
Комментарии132

Подсветка кода на android. Мой опыт

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

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

Кода будет немного, только основные моменты.

Для начала хочу привести небольшой список фактов для того, чтобы ввести читателя в курс дела:

  • Несмотря на N ядер (каждое с огромной частотой), современный смартфоны все еще очень сильно уступают в производительности даже недорогим, но большим компьютерам.
  • Каждое приложении в андроиде имеет строго ограниченный размер выделяемой памяти. И он не велик.
  • Метод setSpan работает медленно.
  • Чем больше работы вы вынесете в Worker'ы, тем отзывчивее будет ваше приложение.
  • Держать подсвеченным весь текст не получится — только видимую его часть.
  • Довольно очевидно, но все же: поиск места размещения спана в UI потоке делать не получится.


Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии14

Информация

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