Pull to refresh
56
0
Виталий @clear_heap

Пользователь

Send message

AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)

Reading time5 min
Views35K
В данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments7

Пентест на стероидах. Автоматизируем процесс

Reading time6 min
Views45K
С данной темой доклада я выступал на CodeFest. А здесь я перескажу словами, что, как и зачем.


Доклад довольно поверхностный и не требует практически никакой квалификации в области ИБ. Был рассчитан на целевую аудиторию (веб-разработчики, тестировщики (не на проникновение), сисадмины и т.д.). Все довольно просто: несколько утилит, запустили, подождали, разбираем отчет.

Видеоприглашение на конференцию:

Читать дальше →
Total votes 82: ↑75 and ↓7+68
Comments18

StartPSD — в помощь дизайнерам сайтов, автоматизируем работу

Reading time1 min
Views3.9K
Сегодня решил поделиться с вами своими материалами по автоматизации работы в photoshop. А именно это тот стартовый шаблон с которого я начинаю делать любой дизайн сайта.
Подправил, добавил, оформил в виде приятного продукта под названием — StartPSD.
Можно скачивать, редактировать, пользоваться на здоровье!

Встречайте.
image
Читать дальше →
Total votes 93: ↑79 and ↓14+65
Comments57

Инструкция по выбору шрифта

Reading time1 min
Views5.6K
Выбираете шрифт? Можно сделать это просто отвечая на вопросы «да» и «нет», благодаря блок-схеме авторства Julian Hansen.

image

Ссылка на полную версию картинки:
julianhansen.com/files/infographiclarge_v2.png (1983×1402)

Шрифты классические, но, я думаю, каждый может открыть для себя нечто новое в этой схеме.
Total votes 90: ↑77 and ↓13+64
Comments61

Архитектура Android-приложений. Часть I — истоки

Reading time8 min
Views110K
В этой статье мы рассмотрим архитектуру Android-приложений.

Откровенно говоря, официальную статью Google по этой теме я считаю не очень полезной. Детально отвечая на вопрос «как», она совсем не объясняет «что» и «почему». Итак, вот моя версия, и, я надеюсь, она внесёт некоторую ясность. Да, кстати, я полностью одобряю чтение статей Google, поскольку они содержат полезную информацию, повторять которую я не собираюсь.
Читать дальше →
Total votes 86: ↑80 and ↓6+74
Comments52

Архитектура Android-приложений. Часть II — архитектурные стили и шаблоны

Reading time5 min
Views43K
В этой статье мы поговорим об архитектурных шаблонах, используемых в Android-приложениях.

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

Возможно, я плохо искал, но в документации Android нет упоминания о каких-либо шаблонах. Не смотря на это, в Android реализованы некоторые шаблоны и архитектурные стили, о которых мы сейчас и поговорим.
Читать дальше →
Total votes 68: ↑58 and ↓10+48
Comments12

Zentyal — сервер all-in-one для SMB

Reading time5 min
Views132K

Лет 6 назад, в мою бытность сисадмином в одной конторе, мне приходилось обслуживать несколько серверов на FreeBSD — прокси, почтовик, web-сервер, ftp, ipfw, в общем, все как у всех. Работало все на двух физических серверах, и было у меня желание заиметь какую-нибудь универсальную графическую оболочку для удобства управления всем этим хозяйством. Ну и, конечно же, таковой нигде не было. Были попытки разных умельцев создать свои GUI для управления подсистемами по отдельности: один для squid, другой для sendmail и т. д. Конечно, можно было какую-то часть управления выполнять и в webmin, но это не доставляло никакого удовольствия. Как говорили мне — неправильно работать с *nix-системами через GUI. Нет, естественно работа в командной строке не доставляла неудобства, но хотелось чего-то более универсального. В итоге, я написал несколько скриптов, которые вызывали псевдографику на черном экране, где можно было добавлять/удалять правила, рулить пользователями и т. д., на чем как-то все остановилось, хотя интерес к удобству управления через GUI и не пропал.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments36

Злые фишинг картинки

Reading time2 min
Views8.4K
Правильно люди говорят: «Все новое — это хорошо забытое старое»

Возможность встраивания удалённых ресурсов (например картинок с других сайтов) на страницу своего сайта — очень плохая практика. Которая может в определённый момент привести к довольно серьёзным последствиям для сайта. Еще 10 лет назад, я с удивлением читал о том, что такое возможно. И вот прошло 10 лет, ничего не изменилось, и похоже на то, что это вряд ли когда то изменится.

Детали под катом
Читать дальше →
Total votes 114: ↑96 and ↓18+78
Comments65

Android SDK: боремся с ограничением размера памяти для картинок

Reading time5 min
Views16K
В графическом приложении для рисования используется SurfaceView и пара Bitmap размером с экран (например, я хочу изобразить плавное листание страниц книги).

На многих устройствах с большим разрешением экрана приложение падает c ошибкой
AndroidRuntime: java.lang.OutOfMemoryError: bitmap size exceeds VM budget

Проблема в том, что память для Bitmap, а также для SurfaceView резервируется из общей кучи процесса. Лимит размера кучи — невелик, как правило немногим больше 10Мб. И задается этот лимит при сборке системы.

Попытки улучшить ситуацию урезанием формата пикселя с 32 бит до 16 не слишком помогают. Проблема просто вылезает позже — например, при открытии окна поверх SurfaceView (видимо, при этом создается еще один Bitmap размером с экран).

Ограничение размера графических буферов программы в 3-4 экрана — это до обидного мало! Попробуем исправить такую несправедливость.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments26

Пишем драйвер для самодельного USB устройства

Reading time13 min
Views177K
Целью этой статьи является пошаговая демонстрация процесса разработки всего набора программного обеспечения необходимого для организации связи самодельного устройства с компьютером посредством USB.

На данный момент, большинство радиолюбителей реализуют такой тип подключения используя чипы переходники USB в RS232 таким образом организуя связь со своим устройством посредством драйвера виртуального COM порта поставляемого с чипом переходником. Минусы такого подхода думаю понятны. Это как минимум лишний чип на плате и ограничения накладываемые этим чипом и его драйвером.
Мне же хочется осветить весь процесс организации такого взаимодействия так как оно и должно быть сделано, и как делается во всех серьезных устройствах.
В конце концов, сейчас 21-й век, модуль USB есть почти во всех микроконтроллерах. Именно о том, как наиболее быстро воспользоваться этим модулем и будет эта статья.
Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments29

Android Calendar API

Reading time5 min
Views43K

В этой статье речь пойдет об использовании недокументированного API для работы со стандартным календарем Android. Статей на русском по данной теме не нашел, да и на английском лишь несколько постов с устаревшими данными. Кто заинтересовался – под кат.
Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments50

Plugin Detector — каталог и рейтинг плагинов jQuery

Reading time6 min
Views5.6K
Последние четыре года я работал верстальщиком в разных питерских веб-студиях.

От полуподвальных контор из 3-5 человек до больших фирм 25-40 человек, работающих на рынке дорогих сайтов для крупных заказчиков. Но независимо от размера компании задачи были одни и те же.
  • нужно продать дизайн
  • сделать сайт, который не стыдно положить в портфолио
  • сделать оригинально, как еще не делали конкуренты

Таким образом, задачи верстальщикам и дизайнерам ставились одинаковые: «давайте что-то креативное, свежее, интересное».

Я очень хорошо понимаю верстальщиков, дизайнеров и владельцев веб-студий, поэтому чтобы облегчить им поиск плагинов под готовый функционал и в то-же время показать что-то свежее, чего еще многие [возможно] не видели, решил уволиться отовсюду, и запустить проект Plugin Detector



В этой статье будет затронуто:
описание функционала, история создания, маркетинг в бизнесе веб-студий и работа с клиентами
Total votes 234: ↑225 and ↓9+216
Comments95

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Total votes 262: ↑246 and ↓16+230
Comments78

Добавляем запись на стену Вконтакте из Android-приложения

Reading time5 min
Views22K
Всем снова привет! Я вернулся.

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

Поехали.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments8

Техническое задание на сайт

Reading time11 min
Views698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Total votes 212: ↑209 and ↓3+206
Comments141

Android ViewPager. Как заменить один фрагмент на другой

Reading time3 min
Views20K
В этой статье хочу поделиться опытом использования ViewPager и FragmentStatePagerAdapter, появившихся в compatibility package. Точнее, рассказать, с какими проблемами пришлось столкнуться и как они были решены. В частности, замена одного фрагмента на другой.

Вдохновившись постом в официальном блоге android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html, стал пробовать. Суть задачи заключалась в том, чтобы в качестве одной из page были фрагменты почтового приложения, другими page’ами – фрагменты приложения инстант-мессенджера.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments2

Быстрая разработка приложений с использованием библиотеки Greendroid

Reading time3 min
Views3.2K


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

Многие из вас наверно видели паттерны Google по разработке интерфейса аndroid приложений. Greendroid это библиотека которая реализует в себе паттерн ActionBar и много других виджетов интерфейса. Она позволяет сосредоточится на логики приложения, не думаю о создании и верстки ActionBar'ов, элементов списка и тд.

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments24

Aibolit для android

Reading time4 min
Views2.7K
Как же утомителен процесс инициализации UI при разработке android-приложений. Раз за разом приходится писать горы шаблонного кода: findViewbyId, setOnClickListener, getResources().getDrawable, … Возникает естественное желание переложить эту работу на плечи AOP. Беглый поиск готовых решений, адаптированных под android, навел разве что на RoboGuice, о котором уже упоминалось на хабре. Однако библиотека имеет значительный размер (~0.5 mb), что для многих приложений недопустимо много, и к тому же требует наследования ваших классов application и activity от RoboApplication и RoboActivity, чего не всегда хочется делать. Потому и появился Aibolit, легкая (~40kb), простая в использовании и функциональная библиотека, использующая dependency injection для инициализации UI на android.

Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments26

Bootstrap 2.0 – HTML+CSS+JS UI фреймворк

Reading time1 min
Views60K

Вышла новая версия офигительного UI фреймворка от Twitter — Bootstrap 2.0 Для тех кто не в курсе что это, настоятельно рекомендую ознакомиться. Этот набор позволяет создавать отличные шаблоны сайтов за считанные часы (проверено на собственном опыте) на основе готовых элементов и экономить килотонны нервов на адаптации кода под разные браузеры.

Особенности Bootstrap:
  • Полный набор компонентов в виде стилей и анимаций поведения для элементов интерфейса
  • Поддержка возможностей HTML5, CSS3 (но при этом работает и в IE7!)
  • Поддержка идеологии 940-пиксельной сетки
  • Поддержка идеологии fluid-grid
  • Кросплатформенность — наборы стилей для десктопных и мобильных браузеров
  • Возможность кастомизации и добавления собственных стилей
  • Возможность добавлять jQuery плагины

Мастхэв для верстальщиков и проектировщиков интерфейсов!
Total votes 200: ↑186 and ↓14+172
Comments65

Information

Rating
Does not participate
Registered
Activity