Pull to refresh
4
0
Send message

Наша Service и опасна и трудна или некоторые аспекты выживания служб в Android

Reading time7 min
Views57K

Вместо введения


Во многих практических задачах требуется выполнение различных фоновых действий, будь то проигрывание музыки, обмен данными с сервером или просто слежение за действиями пользователя дабы похитить у него реквизиты кредитных карт. Ну а если не получится, то по крайней мере завалить его целевой рекламой, используя полученные сведения. Как уже давным-давно все знают, в Android такие вещи оформляются в виде службы (Service).

Официальная документация гласит, что ОС Android останавливает службу только в случае нехватки памяти. Тем не менее, существует и другие случаи. Пользователь может сам остановить службу, используя предоставляемые ему средства меню Settings/Apps, там же он может сделать и полную остановку приложения. Но для этого ему надо напрягаться и, в общем-то осознавать свои действия и их последствия. К сожалению, для уничтожения службы у него есть и другие возможности, которыми он может пользоваться бессознательно. В частности, если в нашем приложении ранее была запущена хоть одна Activity, видимая в истории, то пользователь буквально одним движением пальца сможет вынести соответствующую задачу. Как ни парадоксально, попутно Android вышибет и весь процесс вместе со службой.

Лично мне такое поведение Android логичным не кажется. Пользователь зачастую просто чистит Recent Apps от давно забытого хлама, совсем не обязательно он при этом желает отказаться от тех благ, которые ему предоставляла выполняющаяся служба. Однако разработчики Google мыслили немного по-другому. По-другому, так по-другому, их право, но в конце концов нам с вами тоже надо как-то жить.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments20

Мой умный выключатель или как я сделал девайс для умного дома без опыта разработки электроники, проживая в деревне в Индонезии

Reading time13 min
Views48K


Говорят что лень — мать прогресса. В моём случае, так оно и было. Сейчас я живу в солнечной Индонезии, где по ночам люди освещaют свои дома для отпугивания воров (и призраков). Случилось так что моим поручением стало включение и выключение сего освещения. Каждое утро и вечер надо пройти вокруг дома и щёлкнуть всеми наружными выключателями. Особенно трудно не забыть об этом утром, поскольку включённые лампочки не заметны при дневном свете. После недельки таких хождений мне захотелось лучшей жизни. Я решил сделать дистанционный выключатель и автоматизировать управление светом. Таким образом, закладывая первые виртуальные кирпичи своего умного дома. Была только одна маленькая проблемка — я не имел ни малейшего представления как спроектировать электронику и развести плату.

На заглавном фото вы видите результат моих работ. Выключатель представляет из себя две вставки в стену. В одной располагается физический выключатель, а в другой его «мозг». Виртуальный выключатель работает в OpenHab2, запущенный в с свою очередь на RaspberryPi2.

Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments39

Изоморфное Приложение с React и Redux

Reading time15 min
Views99K
Итак, я знаю что ты любишь Todo списки, то есть, что тебе очень нравится писать Todo списки, поэтому мне хочется, чтобы ты создал один из них, используя новый, восхитительный и питательный («nutritious» прим. пер.) Flux фреймворк, Redux! Я желаю тебе только лучшего.

В этой статье ты научишься как сконструировать свое собственное Redux приложение, не ограничиваясь, но так же включая.

  • Цельнозерновой рендеринг на сервере
  • Расширенный роутинг, богатый Omega-3
  • Маслянистая асинхронная загрузка данных
  • Гладкое функциональное послевкусие


Если это похоже на то, чего ты хочешь в этой жизни, вперед под кат, если нет, то не заморачивайся.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments12

Лоукостеры-производители печатных плат с социальным уклоном

Reading time5 min
Views23K
В США и Южной Америке уже много лет работают целые технопарки-лоукостеры с элементами социальности. В СНГ такое тоже встречается, но чаще это закрытые сообщества, как, например, Сколково. В этой мини-статье я расскажу, что это за явление на примере производителя печатных плат OSH Park, расположенном в штате Орегон. Это не единственный производитель такого типа, они есть и в Китае, и в Европе, что для российского заказчика может быть выгодней. Но во-первых я давно с ними работаю, во-вторых я не работал с другими, в-третьих они шлют заказы по всему миру бесплатно (ага, Free Shipping!).
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments39

Эффективный Kanban: Мифы и реальность

Reading time9 min
Views15K


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

Здесь я попытаюсь представить другой подход: такой, при котором одинаково важны и принципы (которые, как мне кажется, должны быть на первом месте – ведь они не просто так называются «основополагающими»), и основные методы идентификации по ценностям, которые лежат в их основе. При этом мы охватим большую часть главных элементов метода – возможно, сойдет за базовое введение в канбан!
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

3 юридические ошибки Интернет-магазина

Reading time4 min
Views45K
В результате использования стандартного набора документов «как у всех» копируются и юридические ошибки. Обзор стандартных документов на сайтах Интернет-магазинов показывает, что их владельцы часто не задумываются над функцией, которую такие документы могут и должны выполнять.

Мы проанализировали практику привлечения Интернет-магазинов к ответственности за нарушения законодательства и выявили 3 основных ошибки, которые не сложно устранить при наличии желания. Итак, чем грозит использование решений, интегрированных в шаблон сайта Интернет-магазина и как с этим бороться, смотрите ниже.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments14

Как стать лидером команды UX-разработки

Reading time11 min
Views3.6K
Допустим, вы управляете командой специалистов по UX (опыт взаимодействия пользователя, User eXperience).

А лучше скажем, что вы не управляете командой. Скажем, вы просто хотите сделать что-то хорошее. Вы консультант. Вы новичок. Ваша позиция не важна. И ваше звание — тоже. Важно то, что вы хотите создавать отличный UX — постоянно сейчас и все время.

Неважно, каков ваш статус, в какой ситуации вы оказались, начальник вы или одиночка,- у вас есть возможность повести за собой команду и поднять планку там, где эта планка постоянно находится ниже той высоты, на которой она должна находиться. Я, как профессионал в UX, создавал и управлял командами UX-разработки в разных компаниях. Работал в качестве консультанта с десятками клиентов на сотнях проектов. И вот, что я узнал об этой работе. Эти знания можно применять, независимо от того, работаете ли вы внутри компании, или консультируете её извне, дизайнер ли вы интерфейсов или ветеран управления командой.

Делайте сами то, что требуете от других


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

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

Не раздражайтесь


Это часть простой популярной психологии, но всё же: мы показываем остальным, как нужно относиться к нам. Если мы при малейшей опасности выскакиваем из кресла, мы учим людей пугать нас. Если мы всё время раздражены и беспокойны, мы учим людей избегать нас. Если мы отталкиваем других от себя, мы учим людей не доверять нам.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Оптимизируем рабочий процесс

Reading time5 min
Views18K
Доброго времени суток. Решил поделиться опытом в организации рабочего процесса разработки веб-проектов и не только веб. Расскажу свое видение максимально удобного использования связки типа: bugtraker + git + ci + deploy.



Все чаще сталкиваюсь с тем, что подобная оптимизация будет полезна широкому кругу людей. Возможно, в предложенном варианте нет ничего нового, но, лично для меня это было, можно сказать, откровением. Если кто-то, кроме меня, захочет внедрить у себя на проекте что-то подобное, то я буду считать, что статья написана не зря.
Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments21

Манипулирование учетными записями пользователя — шаблоны реализации

Reading time6 min
Views5.9K
image Тема этой публикации вряд ли заинтересует опытного разработчика веб-приложений.

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

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

Все манипуляции с учетными записями пользователя сводятся к следующим:

  1. регистрация с подтверждением по электронной почте;
  2. смена некритичных настроек;
  3. смена критичных настроек — с подтверждением паролем;
  4. смена адреса электронной почты — с подтверждением по электронной почте;
  5. восстановление забытого пароля.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments21

Руководство по Google Hangouts для Debian/Ubuntu Linux (а также Mac OS X и Windows)

Reading time6 min
Views44K
В свете последних событий, связанных со Skype (блокировка «старых» версий клиента, насильное обновление клиентов на всех платформах, откровенно сырая новая версия клиента для Linux), решил поделиться с сообществом успешным опытом использования Google Hangouts для коллаборации (командной разработки ПО, парного программирования) и написать универсальное руководство (tutorial, how-to) для Debian/Ubuntu Linux, а также Mac OS X и Windows, собрав всю необходимую и полезную информацию воедино.

Эта статья для тех, кто в поиске полноценной альтернативы Skype для большинства современных платформ и в первую очередь для Linux.
Читать дальше →
Total votes 55: ↑37 and ↓18+19
Comments58

Разговорное радио на коленке

Reading time12 min
Views36K
В определённый момент, страдая от лени обновлять новостной блог про OpenStreetMap, я решил сделать еженедельную передачу про проект. Вместо трёх часов вымучивания текста — часик пообсуждать со знакомыми участниками OSM новинки и актуальные вопросы. Отличная идея, порадовались и разошлись. Через полгода со словами «ну блин хватит бездельничать, давайте послезавтра звоните в скайп» я начал разбираться, как в этом вашем линуксе записать звук с микрофона и скайпа, одновременно передавая его в интернет. Эта история — про настройку PulseAudio, про скайп и мамбл, и про удивительный JACK. Оказалось, поднять собственное радио с гостями в эфире проще, чем нарисовать для него логотип.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments27
12 ...
19

Information

Rating
Does not participate
Registered
Activity