В прошлых статьях я затрагивал тему простых рейтингов. В комментариях меня попросили расписать тему рейтингов, которые выдают для каждого пользователя свои.
Данил Терновых @palmut
User
Перестаньте беспокоиться. Методы избавления от стресса
11 min
30KЕсли есть лекарство, то вам не о чем беспокоиться. Вам достаточно принять его. Если же лекарства нет, то к чему беспокойство? Беспокойство лишь усугубляет страдания. Далай Лама
Эмоциональные расстройства в наше время стали абсолютной нормой. Тяжело найти человека, который никогда бы не подвергался влиянию стрессов, если, конечно, он не тибетский монах. Стресс сопровождает нас повсюду: на работе, в общественном транспорте, в торговых центрах, пробках, очередях, государственных учреждениях. Даже в отношениях с близкими, детьми и родителям переживание стрессов, как нам кажется, является нормой. И это верно, если, конечно, нормой следует считать наиболее распространенное поведение.
Иллюстрация: ladyiris.ru
Хочу сразу предупредить, что в тексте много букв, но если вам интересны методы борьбы с беспокойством, не поленитесь прочитать его до конца.
Эмоциональные расстройства в наше время стали абсолютной нормой. Тяжело найти человека, который никогда бы не подвергался влиянию стрессов, если, конечно, он не тибетский монах. Стресс сопровождает нас повсюду: на работе, в общественном транспорте, в торговых центрах, пробках, очередях, государственных учреждениях. Даже в отношениях с близкими, детьми и родителям переживание стрессов, как нам кажется, является нормой. И это верно, если, конечно, нормой следует считать наиболее распространенное поведение.
Иллюстрация: ladyiris.ru
Хочу сразу предупредить, что в тексте много букв, но если вам интересны методы борьбы с беспокойством, не поленитесь прочитать его до конца.
+65
Компьютерное зрение на Java для Android. Обзор библиотеки BoofCV
3 min
23KНаверное, каждый Android программист хотя бы раз задумывался о написание чего-нибудь полезного с использованием компьютерного зрения или дополненной реальности. А некоторые даже написали hello, word при помощи opencv, которую таки портировали и на Android. К сожалению, если мы захотим написать что-то серьезное, мы обнаружим, что набор библиотек с уже реализованными функциями Computer Vision не так велик, особенно это касается платформы Android. Чаще всего для этой цели используют opencv, написанную на C++ либо пишут свои велосипеды, что в общем тоже хорошо, но не так быстро, как хотелось бы в плане реализации. Однако, не все так плохо. Существует такой замечательный проект BoofCV, который представляет из себя библиотеку компьютерного зрения, написанную на чистом Java. Последние две буквы в названии библиотеки означают именно то, о чем вы подумали. А в последнем релизе появилась долгожданная поддержка Android. Ниже мы рассмотрим основные плюшки, предоставляемые библиотекой на конкретном примере.
+33
Как отделить тему от приложения
5 min
5.6KПроблема настройки (кастомизации) внешнего вида Android-приложений часто возникает перед разработчиками. Причиной может быть необходимость следования интерфейса корпоративному стилю или требование заказчика, желающего, чтобы его приложение выглядело по-особенному, а не просто как набор стандартных элементов.
Существуют встроенные в платформу средства для этих целей (темы, стили), однако они не предоставляют внятного механизма изменения интерфейса приложения без изменения кода самого приложения.
Мною предлагается технология, позволяющая динамически менять внешний вид Android приложения путем установки новых «тем», которые могут быть скачаны отдельно от приложения. Описанная в статье разработка выполнялась в качестве пилотного проекта в департаменте мобильных приложений компании «Мера-НН» (www.meranetworks.com), где и работает автор статьи.
Существуют встроенные в платформу средства для этих целей (темы, стили), однако они не предоставляют внятного механизма изменения интерфейса приложения без изменения кода самого приложения.
Мною предлагается технология, позволяющая динамически менять внешний вид Android приложения путем установки новых «тем», которые могут быть скачаны отдельно от приложения. Описанная в статье разработка выполнялась в качестве пилотного проекта в департаменте мобильных приложений компании «Мера-НН» (www.meranetworks.com), где и работает автор статьи.
+19
12 принципов производительности Эмерсона для фрилансера
4 min
51KВ начале 20 века Гарингтон Эмерсон сформулировал 12 принципов производительности и организации труда, которые можно применить буквально в любой области и позволяют достичь максимальных результатов человеческой деятельности и предприятия в целом. После прочтения его книги я осознал, что до большинства его принципов я дошел своей головой путем ошибок в своей жизни, кажется если бы я прочитал его книгу раньше моя жизнь была бы более продуктивной. В этой заметке я рассмотрю эти принципы для фрилансерской деятельности.
+36
Как повысить эффективность сайта или 5 причин начать использовать Google Analytics
8 min
12KК написанию этой статьи меня подтолкнул один из самых популярных вопросов, который я регулярно слышу от потенциальных клиентов: как моему бизнесу поможет внедрение системы веб-анализа, которую вы нам советуете использовать? Руководители компаний, директора и менеджеры по маркетингу и рекламе, у которых в России, по большей части, к сожалению, пока достаточно низкое понимание принципов веб-маркетинга, хотят видеть реальные примеры того, как внедрение таких систем как Google Analytics и Яндекс Метрика может помочь их бизнесу. Обычно клиенты имеют базовое представление о возможностях таких систем и используют их возможности по минимуму: следят за посещаемостью своих сайтов, знают, откуда к ним приходят посетители, имеют общее представление о показателе отказов и приблизительно знают значение конверсии на своих сайтах. Если и Вы, уважаемые читатели, считаете, что этого достаточно для измерения эффективности Вашего сайта и рекламных кампаний (будь то контекстная реклама, SEO или любой другой способ привлечения посетителей на Ваш сайт), то значит, что Ваши конкуренты, которые активно используют системы статистики, или уже Вас обогнали, или скоро обгонят.
Ниже, я постарался привести пять, на мой взгляд, серьезных причин, почему Вам просто необходимо не только полностью внедрить и настроить систему веб-анализа на свой сайт, но и научиться самому и научить своих сотрудников активно ее использовать (на примере Google Analytics).
Ниже, я постарался привести пять, на мой взгляд, серьезных причин, почему Вам просто необходимо не только полностью внедрить и настроить систему веб-анализа на свой сайт, но и научиться самому и научить своих сотрудников активно ее использовать (на примере Google Analytics).
+38
Twitter Bootstrap 2.0 — Русифицированная библиотека стилей в формате PSD
1 min
11KПредставляю вашему вниманию доработанную мной библиотеку, позволяющую смоделировать интерфейс простой миксовкой основных элементов — CSS Twitter Bootstrap v. 2.0.
Абсолютно все элементы библиотеки представлены в векторном виде и могут быть легко изменены в масштабе и цвете. Большинство использованных градиентов и эффектов созданы мной таким образом, чтобы можно было одним кликом изменить только основной заливочный цвет, а другие составные цвета при этом в слоях подставляются автоматически.
Абсолютно все элементы библиотеки представлены в векторном виде и могут быть легко изменены в масштабе и цвете. Большинство использованных градиентов и эффектов созданы мной таким образом, чтобы можно было одним кликом изменить только основной заливочный цвет, а другие составные цвета при этом в слоях подставляются автоматически.
+63
Sony выпустил опенсорсный инструмент для анализа APK
1 min
14KВы разрабатываете приложения и ищете мощный инструмент для их анализа? Вам нужно удобное представление их архитектуры? Вы пытались разобрать байт-код Android-программ? Всё это умеет новый виртуальный инструмент анализа приложений ApkAnalyser от Sony, который поставляется с открытым исходным кодом.
ApkAnalyser предназначен для валидации и проверки работы вашего приложения. Вы можете распаковать, установить, запустить и проверить результаты команды Logcat. C помощью ApkAnalyser вы также сможете декодировать XML, выявить потенциальные уязвимости в вашем приложении и многое другое. ApkAnalyser полностью написан на Java и потребует JRE 1.6 или выше; работает на Windows, Linux и Mac OS X.
+51
Android UI thread
4 min
69KБольшая часть кода Android приложения работает в контексте компонент, таких как Activity, Service, ContentProvider или BroadcastReceiver. Рассмотрим, как в системе Android организованно взаимодействие этих компонент с потоками.
+24
ISO 9001 в ИТ компании
5 min
17KСейчас редко найдешь среднюю или большую ИТ компанию, не имеющую ISO 9001 сертификата.
Тем не менее, я считаю, что в ближайшей перспективе ISO 9001 умрет для ИТ мира. Почему?
Попытаюсь обосновать.
+5
Запись разговоров на Android
3 min
316KЯ думаю, довольно многим хочется иметь возможность записывать собственные телефонные разговоры на своём смартфоне за 20 тысяч рублей. Задача вроде бы банальная, и вроде бы API Android’а позволяют это делать. Но почему запись не работает почти на всех устройствах без всяких шаманств и танцев с бубном?
Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете право только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.
В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.
Закон
Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете право только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.
Телефон
В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.
+75
AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)
5 min
35KВ данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
+25
Android SDK: боремся с ограничением размера памяти для картинок
5 min
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
Пишем плагины для Android
4 min
7.4KПо долгу службы мне уже полтора года доводится писать для платформы Android, и вроде бы знания мои в данной области обширны, но и на хабре объем уже охваченных тем не мал. В общем-то после долгих рассуждений решил я поведать хабралюдям о данной теме.
+29
Jabber-бот для Openfire за час
10 min
16KВот уже порядка двух лет я занимаюсь разработкой ботов для ICQ. После ряда недавних событий, из-за которых ICQ-боты часто оказывались неработоспособными, а также после статьи Знакомство с jabber ботами, у меня возникло стойкое желание изучить вопросы, связанные с разработкой ботов для Jabber.
В данном посте я хочу поделиться с вами своим первым опытом в данной области. Расскажу как с нуля, потратив всего один час времени, написать простого Jabber-бота.
В качестве платфомы для разработки бота я выбрал Openfire. На выбор повлияло то, что Openfire написан на Java (изучать что-нибудь типа Python совершенно не хотелось). Плагинная структура Openfire позволяет быстро и удобно прикрутить к нему функционал бота. Кроме того, Openfire прост в настройке, и к тому времени уже был установлен в качестве моего jabber-сервера.
+13
Знакомство с jabber ботами
4 min
11KДлительное время я использовал джаббер только в роли меседжера, однако несколько недель назад мне попался адрес джаббер бота, который был словарем, что представилось мне крайне удобным в использовании. В скором времени мой ростер пополнился десятком удобных ботов, и в поиске новых я, в том числе, исследовал хабр, но не нашел ничего. Я решил заполнить эту нишу и создать сводный список ботов, известных мне, которые, по-моему мнению, могут заинтересовать.
+199
XMPP-бот на Java с использованием Smack API
5 min
14KВсем доброго времени суток!
Тема написания ботов для жаббера довольно широко распространена. Но на хабре нашел всего одну статью, в которой бот был написан для сервера OpenFire. И в первом же комментарии написано, что было бы неплохо почитать про написание универсального бота, не привязанного к серверу. Так я и решил написать эту статью. Также расскажу про бота для Google Talk и один нюанс, связанный с этим ботом.
+4
XMPP-SMS шлюз на Android
11 min
20KВведение
Причиной написания данной статьи послужила необходимость создания программы для системы Android, с помощью которой можно отправлять данные заказа в виде SMS сообщений владельцам интернет магазинов о том, что был совершен заказ товаров или услуг. Ранее мною использовалась система включающая GSM-модем и программу написанную на языке С++, использовавшая AT-команды для общения с модемом и библиотеку gloox для получения сообщений по протоколу XMPP, на стороне web-сайта использовалась библиотека xmpphp, для отправки данных заказа. При такой схеме приходилось держать включенным компьютер постоянно, так как система приема заказов работала круглосуточно, соответственно отсюда дополнительный расход электроэнергии, шум от вентиляторов ночью и постоянный контроль интернет соединения.
+43
Continuous Integration для Android
7 min
18KПосле реализации пары проектов под Android, стало понятно, что, несмотря на их небольшие размеры и кажущуюся простоту, без автоматизированных сборок и тестирования не обойтись. Родилось желание получить следующие возможности:
- unit тестирование,
- интеграционное тестирование,
- тестирование интерфейса,
- тестирование этих типов тестов на различных версиях Android и конфигурациях девайсов,
- рассылка по email в случае сломанного билда;
- таже не помешает автоматическая сборка релизов.
+32
GCTD – Как привести творческие дела в порядок: как уместить тяжелый умственный труд в плотное расписание
7 min
10KTranslation
GCTD — Getting Creative Things Done.
Началось это несколько недель назад. Мне нужно было написать исследовательский отчет, предстояла важная, неоднозначная, трудная задача. В первую неделю я повторял себе, что на данный момент это моя наиважнейшая задача и обращался к ней при первой же возможности. Я постоянно чувствовал вину за то, что недостаточно времени уделяю написанию отчета. В одну из ночей в конце недели я заперся в офисе до 9 утра, уже совсем отчаявшись привести дела в порядок. Результат работы оказался практически бесполезным. У меня получилось 15 страниц беспорядочного текста (исследовательский отчет должен быть максимум 3-5 страниц), и охватить предстояло еще многое. Работа была запутанная и «тонула» в прилагательных.
Началось это несколько недель назад. Мне нужно было написать исследовательский отчет, предстояла важная, неоднозначная, трудная задача. В первую неделю я повторял себе, что на данный момент это моя наиважнейшая задача и обращался к ней при первой же возможности. Я постоянно чувствовал вину за то, что недостаточно времени уделяю написанию отчета. В одну из ночей в конце недели я заперся в офисе до 9 утра, уже совсем отчаявшись привести дела в порядок. Результат работы оказался практически бесполезным. У меня получилось 15 страниц беспорядочного текста (исследовательский отчет должен быть максимум 3-5 страниц), и охватить предстояло еще многое. Работа была запутанная и «тонула» в прилагательных.
+66
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity