Search
Write a publication
Pull to refresh
29
0
Send message

Как легко сделать Navigation Drawer и вкладки, используемые в популярных приложениях от Google

Reading time15 min
Views126K
При использовании популярного приложения Play Маркет многие обратили внимание на вкладки для переключения контента. Такое применение вкладок можно найти и в других приложениях от Google, таких как Play Музыка, Play Пресса.



На этой почве возникает интерес, а иногда и необходимость (если заказчик просит) реализовать увиденное. Я не стал исключением и при проектировании нового приложения, дизайн которого был набросан на черновике, присутствовал очень схожий дизайн, хотя и имел всего несколько вкладок. Казалось бы, что сложного? Сейчас откроем официальную документацию, просмотрим необходимые разделы и приступим к делу. Но, изучив документацию, не смог обнаружить соответствующих примеров — и тут же возник новый вопрос. Почему Android разработчики из компании Google по умолчанию не предоставляют примеров с необходимой функциональностью, чтобы сделать это довольно просто, ведь это реализовано в каждом их приложении? Также, погуглив, нашлись аналогичные вопросы на Stack Overflow. Исходя из этого, оказалось, что существует проблема или, по крайней мере, нераскрытый вопрос, в котором следует разобраться.

Ниже хочу рассказать о том, как всё же можно реализовать паттерн Navigation Drawer вместе с вкладками, как в популярных приложениях от Google.
Читать дальше →

5 способов, которыми игры пытаются вызвать зависимость

Reading time10 min
Views190K
Итак, в новостях снова пишут, что кто-то еще умер из-за игромании. Да, опять Корея.

Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
Давайте посмотрим как это работает

Делаем nginx как front-end к apache

Reading time1 min
Views150K
Эта тема довольно избита, но на просторах интернета не так и просто найти короткий и четкий ответ на этот вопрос. Вот по этому я решил собрать все в виде небольшой инструкции.
Читать дальше →

One Platform Foundation: Обзор AppDF и OpenIAB

Reading time3 min
Views6.4K
Всем привет!
Посетив YaC, я заинтересовался проектом OnePF и, чтобы углубить свои знания о нем, отправился на хабр.
К своему удивлению, нашел о нем лишь одно упоминание, да и то вскользь.

Раз такое дело, решил разобраться сам и поделиться с читателями хабра.


Любой Android-разработчик наверняка наслышан о «зоопарке» Android-устройств, но не все обращают внимание, что с Android-маркетами творится то же самое. Многие этого не замечают, т.к. ограничиваются лишь Google Play, но ребята из OnePF подвели статистику, которая показывает, что львиную долю из загрузок приложений занимают альтернативные GooglePlay-рынки. Следственно, пренебрегая ими, разработчик упускает аудиторию и выгоду.

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

Именно эту проблему и попытались автоматизировать и решить разработчики OnePF.

One Platform Foundation — проект, занимающийся разработкой стандартных механизмов и инструментов для комфортной работы со множеством Android-маркетов. На текущий момент проект активно разрабатывается и уже имеет два интересных решения:
  • AppDF — стандартизированный формат файла для универсальной загрузки приложений в Android-сторы.
  • OpenIAB — библиотека для прозрачной работы с разными системами In-App Billing.

А дальше подробнее...

О высокой зарплате замолвите слово

Reading time3 min
Views113K
Эпиграф: Зарплата у меня хорошая, но маленькая!

Глядя на то, как появляются и исчезают в черновики вместе с комментариями и обсуждениями статьи о найме и удержании сотрудников, я тоже решил рискнуть.
Я хочу поспорить с тезисом о том, что деньги не мотивируют и высказать свои аргументы в пользу высокой заплаты.
Вот тезисы, которые я хочу раскрыть немного подробнее в статье.
1. Высокая зарплата не мотивирует. А вот низкая зарплата демотивирует сама по себе.
2. Высокая зарплата отрезвляет, так как хорошо понимаешь, что на такую позицию быстро найдутся желающие.
3. Высокая зарплата затрудняет переход в другое место.

Можно много рассуждать о том, что обеспеченный человек может гармонично развиваться, что он чувствует себя востребованным и ценным, что это стимулирует работодателя заниматься реально полезным делом, повышать эффективность и т.д.
Но эти три тезиса, на мой взгляд, работают математически просто, прямо и эффективно. Без бла-бла-бла. Особенно последний — он самый мощный.
Можно ли тут что-то сказать больше?

Оптимизация Windows для использования SSD диска: мифы и реальность

Reading time6 min
Views856K


Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

Кто заинтересовался, прошу под кат.

Читать дальше →

Удобный файлообменник с нуля

Reading time6 min
Views55K
Привет, Хабр!

Сегодня я хочу рассказать как создать удобную http/ftp файлопомойку. Сразу скажу – это довольно просто. Что требуется от читателя? Базовые навыки работы в консоли linux, умение пользоваться редактором nano и, естественно, желание создать себе свой небольшой файловый уголок в сети.
Я полагаю, следующее имеет смысл делать людям обладающим белым IP адресом и быстрым интернет-подключением. Мой вариант системы предполагает авторизацию ftp/http и возможность создания скрытых разделов, при этом остается возможность давать прямые ссылки на файлы. Также, я предусматривал пользование http мордой с мобильных устройств, поэтому интерфейсе скрипта нет ничего лишнего. Для любителей fancy-look и желающих красоты а не функциональности этот вариант, скорее всего, не подойдет. Но это вовсе не значит что твоя файлопомойка, мой любимый техногик, будет выглядеть некрасиво. Посмотреть что из этого выйдет можно по ссылке.
Для начала определим начальную конфигурацию: debian 6, apache2, php5, proftpd и хорошее настроение. Всеми любимая убунта тоже подойдет.
Читать дальше →

Многопоточность в Java: ExecutorService

Reading time2 min
Views250K
В Java 5 было добавлено много вещей для организации многопоточности и особенно касаемо организации параллельного доступа. В этой и последующих статьях мы пройдемся по некоторыми из них.
ExecutorService и ScheduledExecutorService будут рассмотрены в этой статье

В пень free-lance.ru!

Reading time4 min
Views639K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →

HTTP сервер за 15 минут

Reading time2 min
Views203K

Задача


За минимальное время написать HTTP сервер, который после запуска сможет корректно ответить браузеру и отдать простую HTML страничку (минимальное время, чтобы кода было мало, чтобы новичку вникать было проще).
У меня это заняло около 15 минут. Сервер вроде справляется с поставленной задачей.

Суть примера — показать что такое Socket, ServerSocket, InputStream, OutputStream, и Thread.

смотреть исходники

Inventarium.mobi — Не злите ваших пользователей

Reading time7 min
Views2.1K
Сегодня я запускаю в плавание продукт inventarium.mobi, цель которого – дать возможность разработчикам мобильных приложений быть всегда в курсе проблем своих пользователей, а последним – быть счастливыми, потому что их услышали. Если коротко – это Getsatisfaction & UserVoice, но для мобильных приложений и приватных сообществ.
И я бы хотел с вами (не)много поделиться, как в одиночку на голом бутстрэпе я создавал продукт. Так же хотел бы обсудить тему подобных систем, и самое главное — найти среди вас моих первых, самых трудных, самых капризных, но самых любимых клиентов! Бесплатно и без смс.
Читать дальше →

In-App Purchase в Android приложениях

Reading time3 min
Views91K
1. Что это такое и зачем это нужно?

In-App Purchase, грубо говоря, представляет собой сервис покупки виртуальных товаров внутри приложения (например игровой валюты, новых уровней, игровых предметов и т.д.). Применяется он в основном в играх, в тех случаях, когда встает вопрос о необходимости заработка на своем творении, а распространять его платно не особо хочется (или нет смысла).
Читать дальше →

Как разогнать эмулятор Android

Reading time3 min
Views144K
Intel HAXM
Каждый, кто хоть раз работал с эмулятором для разработки приложений под Android, знает, что даже на современном железе эмулятор тормозит так, что для его использования нужно нечеловеческое терпение. То есть, наверное, надо самому стать андроидом-киборгом.

Но есть и еще один метод – попроще.

Intel Hardware Accelerated Execution Manager (Intel HAXM) — это решение, использующее аппаратные возможности виртуализации (Intel VT) и позволяющее значительно ускорить работу эмулятора Android.

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

Публикация приложения в Android маркеты

Reading time7 min
Views141K
Хорошо это или плохо, но для Android-приложений существует большое количество различных рынков продаж. С одной стороны приходится публиковать в нескольких, с другой — охват обеспечивается более широкий. Когда я задумался о том, что пора бы задействовать альтернативные маркеты для своего приложения, то толковой информации не нашёл. Сразу хочу предупредить, что программа предназначена для узкой русскоязычной аудитории, абсолютно ничем не примечательна, является по сути обычным rss-ридером для моего сайта халявы. Т.е. для многих этот опыт не будет показателен. Также я не использовал никаких средств для раскрутки своего приложения(реклама, обзоры, накрутка).
Читать дальше →

Я медленно удаляю apache с сервера

Reading time13 min
Views54K
image
Есть у меня серверок (да, да, именно серверок, сервером его назвать сложно). Железо старенькое (2 гига оперативы, AMD Athlon(tm) 64 Processor 3500+, програмный RAID). Админю я его сам, без особых навыков и познаний. Когда-то давным давно (больше года назад) поставил на него Debian 5.0 Lenny (это была вторая в жизни установка linux-системы, до этого ставил только Ubuntu на рабочий ноутбук) и панель управления ISPConfig3 по мануалу. Держу на нем несколько (штук 40) сайтов друзей и клиентов, Redmine, SVN и еще немного по мелочам.
Периодически все это безобразие падает (load average > 20), и приходится на сервере раз в пару часов перегружать apache или высасывать из пальца очередную попытку оптимизации. В общем полный раздрай и разруха. И вот в одну прекрасную субботу я подумал — а почему бы не решить вопрос раз и… И вот в общем.
Под катом — история убитых выходных + предыстория. Интересна в первую очередь мне, чтобы потом легко вспомнить что именно и зачем я ставил. Может быть интересна новичкам в интересном и нелегком (ох, ...) деле серверной оптимизации постепенным(!) переводом сайтов из-под Apache c его ModRewrite под Nginx (кстати, правильно это слово читается «энжинкс»меня поправили, Сысоев на конференциях не раз говорил, что название сервера стоит читать, как «энжин-икс», спасибо bayandin и DorBer ). Возможно, будет интересна более-менее опытным товарищам, оказавшимся в тех же условиях (Debian Lenny, ISPConfig3, слабое железо, несколько хороших, не сильно хороших и разных сайтов). И более опытным может быть интересно зайти, оставить пару комментариев.
Если интересно - нажмите сюда, если нет - нажмите звездочку ниже

«Выглядит похоже». Как работает перцептивный хэш

Reading time6 min
Views126K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →

Алгоритм быстрого нахождения похожих изображений

Reading time8 min
Views64K

Введение


Недавно наткнулся на статью, размещенную на Хабрахабре, посвященную сравнению изображений «Выглядит похоже». Как работает перцептивный хэш. Так как я сам достаточно долго занимался этой тематикой (являюсь автором программы AntiDupl), то мне захотелось поделиться здесь своим опытом по данному вопросу. В статье я приведу два варианта алгоритма сравнения похожих изображений — базовый и улучшенный. Все они были проверены автором на практике в рамках указанного выше проекта. Изложение мое будет вестись без строгих доказательств, сложных формул и специальной математической терминологии. Надеюсь, что читатели простят меня за это.

Базовый Алгоритм


Мера схожести изображений


При сравнении похожих изображений первым встает вопрос: что считать мерой схожести изображений? Очевидно, что это величина имеет значение обратное различию изображений друг от друга. Следственно нужно выбрать некую метрику, характеризующую различие изображений друг от друга. Тогда схожими изображениями будут считаться изображения, отличие между которыми меньше некоторого порога. Для изображений с одинаковыми габаритами, обычно такой мерой различия служит среднеквадратическое отклонение пикселей одного изображения от другого. Хотя конечно, нам ни что не мешает выбрать другую метрику, например усредненную абсолютную разность пикселей изображений друг от друга.
Читать дальше →

Процессор

Reading time8 min
Views155K
Сколько я себя помню, всегда мечтала сделать процессор. Наконец, вчера я его сделала. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».

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

Создаем html5 мини-бродилку на CraftyJS

Reading time12 min
Views15K
Хочу раcсказать, как без особых сложностей сделать свою первую мини игру на html5 (если точнее: js, html5, css).

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

Выглядит это все будет так:

осторожно, много букв...

Information

Rating
Does not participate
Location
Пятигорск, Ставропольский край, Россия
Date of birth
Registered
Activity