Платформа Android не имеет жестких рекомендаций, как должны выглядеть и работать приложения. Google с самого начала дал ясно понять, что у них нет планов начать диктовать, что приемлемо, а что нет. Существует набор UI рекомендаций, но они в основном концентрируются на мелочах вроде значков, виджетов и меню.
Timeless @Timeless
User
Организация архитектуры взаимодействия Activity и Service
7 min
34KПриветствую!
Сегодня я решил поведать Вам мой способ организации activity-service interaction в Android приложениях. Мотивирован топик тем, что достаточно часто можно встретить приложения, в которых, скажем, поход на сервер организовывается внутри активити в AsyncTask. При этом часто встречается верная мысль, что это надо делать в сервисах, но нигде в оф. документации нет ни слова об организации правильной архитектуры двустороннего взаимодействия между ними.
Поэтому я методом проб и ошибок пришел к архитектуре, лично для меня покрывающей все необходимые вопросы.
Об этом методе я буду рассказывать далее.
Сегодня я решил поведать Вам мой способ организации activity-service interaction в Android приложениях. Мотивирован топик тем, что достаточно часто можно встретить приложения, в которых, скажем, поход на сервер организовывается внутри активити в AsyncTask. При этом часто встречается верная мысль, что это надо делать в сервисах, но нигде в оф. документации нет ни слова об организации правильной архитектуры двустороннего взаимодействия между ними.
Поэтому я методом проб и ошибок пришел к архитектуре, лично для меня покрывающей все необходимые вопросы.
Об этом методе я буду рассказывать далее.
+27
Fragments API в Android 3.0
8 min
26KTranslation
В Android 3.0 введена новая концепция фрагментов, которая служит для упрощения работы с интерфейсом под разные размеры экранов. Данный топик является переводом статьи с android-developers.blogspot.com. В ней рассмотрены преимущества фрагментов, а также приведен простой, но законченный пример приложения, работающего по этому принципу.
Важная цель Android 3.0 — упростить написание программ, которые должны масштабироваться в зависимости от размеров экрана. Для этого в платформе Android уже доступны следующие средства:
Важная цель Android 3.0 — упростить написание программ, которые должны масштабироваться в зависимости от размеров экрана. Для этого в платформе Android уже доступны следующие средства:
- С самого начала, UI-фреймворк был спроектирован для использования layout managers, которые позволяют описывать интерфейс так, чтобы он «подгонялся» к размерам. Примером этого является ListView, высота которого изменяется в зависимости от размера экрана, который варьируется между соотношениями QVGA, HVGA, and WVGA.
- В Android 1.6 была введена новая концепция плотности экрана, позволяющая приложениям легче масштабировать размеры между разными разрешениями, в то время как экраны имеют почти один и тот же физический размер. Разработчики незамедлительно начали использовать эту особенность, когда были введены телефоны с высоким разрешением, такие как Droid.
- Также в Android 1.6 разработчикам стали доступны размеры экрана, при помощи их классификации: «small» для соотношения QVGA, «normal» для HVGA и WVGA, и «large» для более больших экранов. Разработчики могут использовать систему ресурсов для выбора между различными layout'ами, в зависимости от размера экрана
+28
Kiosk Mode приложения на Android
4 min
65KПривет Хабр. Многие из нас каждый день трудятся на определёнными приложениями, создают что-то своё или выполняют требования нерадивого заказчика. Одним из таких требований может быть что-то вроде: «Хочу что бы из приложения нельзя было выйти, не хочу чтобы можно было делать что-то ещё, кроме как находится в моём приложений». В этом топике хочу поделиться мыслями, как же такое сделать.
+19
Новый паттерн UI — боковая навигация
7 min
50KTranslation
Занимаюсь редизайном приложения 10tracks для Android, и решил позаимствовать красивый интерфейсный ход старших братьев — Facebook и других. На эту тему нашлась хорошая статья, переводом которой спешу поделиться с вами. Между тем эта статья — больше платформа для дискуссии, чем нерушимые устоявишеся правила.
За последний год интерфейс Android улучшался с феноменальной скоростью (я подобрал небольшую галерею приложений, которые мне нравятся в Google+). Много изменений являлись лишь косметическими (тема Holo в ICS, шрифт Roboto, и т.д.). Мы не увидели больших качественных изменений в принципах проектирования интерфейсов. Но, возможно, как раз сейчас происходит одно такое.
Почти одновременно несколько приложений внедрили у себя боковую навигацию как в приложении Facebook. Сначала мы увидели, как она используется в новом дизайне Spotify, а затем почти сразу решение переняли Evernote. Не прошло и года, в новом дизайне приложения Google+ представили аналогичный паттерн.

Почти одновременно несколько приложений внедрили у себя боковую навигацию как в приложении Facebook. Сначала мы увидели, как она используется в новом дизайне Spotify, а затем почти сразу решение переняли Evernote. Не прошло и года, в новом дизайне приложения Google+ представили аналогичный паттерн.
+75
Я не могу написать бинарный поиск
11 min
207KНедавно (буквально два года назад) тут пробегала статья Только 10% программистов способны написать двоичный поиск. Двоичный поиск — это классический алгоритм поиска. Мало того, это еще чрезвычайно простой алгоритм, который можно очень легко описать: берем отсортированный массив, смотрим в середину, если не нашли там число, в зависимости от того, что в середине — ищем это число этим же методом либо в левой части, либо в правой, откидывая средний элемент. Для функций также, просто берем не массив, а функцию. Все очень и очень просто, алгоритм описан почти везде, все баги словлены и описаны.
Так вот, я не могу реализовать двоичный поиск. Для меня он ни капельки не тривиален. Наверное, я ненастоящий программист. А ведь так и есть, я всего-лишь студент, но ведь это не оправдание? Если точнее, я не могу реализовать хороший корректный красивый двоичный поиск. Все время у меня вылезает проблема либо с корректностью, либо с красивостью, либо и с тем, и с другим. Так что, да, заголовок немного желтоват.
Прежде чем читать этот топик, напишите свою версию бинарного поиска — для отсортированного массива. Причем, в зависимости от параметра, поиск должен выдавать или первый элемент, или любой из дублирующих. Еще для сравнения, напишите бинарный поиск для функций
Так вот, я не могу реализовать двоичный поиск. Для меня он ни капельки не тривиален. Наверное, я ненастоящий программист. А ведь так и есть, я всего-лишь студент, но ведь это не оправдание? Если точнее, я не могу реализовать хороший корректный красивый двоичный поиск. Все время у меня вылезает проблема либо с корректностью, либо с красивостью, либо и с тем, и с другим. Так что, да, заголовок немного желтоват.
Прежде чем читать этот топик, напишите свою версию бинарного поиска — для отсортированного массива. Причем, в зависимости от параметра, поиск должен выдавать или первый элемент, или любой из дублирующих. Еще для сравнения, напишите бинарный поиск для функций
+49
Онлайн-курсы Stanford University, Berkley и MIT в доступном виде
2 min
54K
На хабре в последнее время неоднократно анонсировались выложенные в онлайн курсы знатных мировых университетов, в том числе и тех, которые перечислены в заголовке.
Пример такого поста: habrahabr.ru/post/139542
Информации там очень много, вся она разрознена и имеет большую структуру по разделам, что затрудняет скачивание, поэтому было принято решение выкачать оттуда всё что можно и всё что нельзя и сохранить в удобном для изучения формате. Так как судя по всему не все успели записаться на эти курсы, то предлагаю тем кто не успел воспользоваться выложенной оттуда информацией и пройти под кат.
Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.
Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
+86
Пол Грэм
2 min
56K
Да, это он в 1998 году продал свою компанию Viaweb интернет-гиганту Yahoo, которая впоследствии назвала этот продукт Yahoo Store. Да, это он основал венчурный фонд Y Combinator. Да, это его журнал BusinessWeek включил в список 25 наиболее влиятельных людей в Сети за 2008.
Хотите читать по-настоящему интересные аналитические статьи? Вам однозначно к Полу. Я настоятельно рекомендую прочитать его заметки. Особенно если вы it-шник. Особенно если вы собираетесь открывать свой бизнес.
+97
Пристальный взгляд на шаблоны мобильных интерфейсов
5 min
6.1KTranslation

Недавно случилось так, что мы должны были начинать новый интернет-проект, но все наши опытные дизайнеры на то время были заняты другими проектами. Т.к. мы в основном специализируемся на разработке коммерческих программ, не все наши специалисты хорошо понимают тонкости дизайна мобильных сайтов. По-этому, я провела подробный мастер-класс с большим количеством скриншотов и слайдов.
Эти 70 шаблонов проиллюстрированы сотнями примеров приложений для операционных систем Apple, BlackBerry, Android, Symbian, Windows и WebOS будут изданы O’Reilly Media как «Mobile Design Pattern Gallery». Ниже приведена одна из моих любимых глав — Приглашение.
* Не смотря на то, что эти шаблоны ориентированы на разработку мобильных приложений, они так же могут быть использованы при работе над мобильным веб-сайтом.
+60
Машинная обработка естественных языков: Apache UIMA
5 min
9.9KПервоначально разработанная спецами из IBM, Архитектура управления неструктурированной информацией (UIMA) сейчас обитается в инкубаторе от Apache, являет собой образец открытого ПО и распространяется по апачевой лицензии.
Это — программная инфраструктура, цель которой — анализ больших массивов информации и извлечение из этой информации знаний. Тут мы осторожно остановимся, заглянем в пропасть семантического веба, на дне которой лежит искусственный интеллект, и сделаем осторожный шаг назад.
Apache UIMA хороша тем, что не таит в себе никакой мистики. Всё можно пощупать, поковырять, подпилить.
Она предлагает модульный подход к анализу текста. Например, последовательность анализа может быть такой:
Каждая операция выполняется определённым компонентом, связь между которыми обеспечивается фреймворком (доступны UIMA Java Framework и UIMA C++ Framework).
Что это?
Это — программная инфраструктура, цель которой — анализ больших массивов информации и извлечение из этой информации знаний. Тут мы осторожно остановимся, заглянем в пропасть семантического веба, на дне которой лежит искусственный интеллект, и сделаем осторожный шаг назад.
Apache UIMA хороша тем, что не таит в себе никакой мистики. Всё можно пощупать, поковырять, подпилить.
Она предлагает модульный подход к анализу текста. Например, последовательность анализа может быть такой:
- определяем язык текста;
- находим границы предложений;
- ищем именованные вхождения (имена, названия и т.д.).
Каждая операция выполняется определённым компонентом, связь между которыми обеспечивается фреймворком (доступны UIMA Java Framework и UIMA C++ Framework).
+12
Онлайн курсы от Stanford University и Berkeley University на 2012 год
1 min
14K

Complex Systems
Computer Science
- CS 101
- Machine Learning
- Software as a Service
- Human-Computer Interaction
- Natural Language Processing
- Game Theory
- Probabilistic Graphical Models
- Cryptography
- Design and Analysis of Algorithms I
- Computer Security
Entrepreneurship
Medicine
Civil Engineering
Electrical Engr.
+98
Практика работы «в белую» с иностранными заказчиками
4 min
108KИтак, тут уже была серия статей про то как открыть ИП, как вести бизнес с иностранцами и так далее.
Я хочу всё систематизировать и поделиться реальной практикой.
Для начала введём определения и ограничения:
1. вы уже должны быть зарегистрированы как ИП и вы ознакомились со статьями: habrahabr.ru/blogs/freelance/132232, habrahabr.ru/blogs/freelance/132360, habrahabr.ru/blogs/Dura_Lex/114069
2. мы хотим вести бизнес честно, платить с этого налог и делаем это в России;
3. всё что написано ниже в статье применимо только к ИП, возможно что-то применимо и к ООО, но я ИП и рассказываю про ИП;
4. ИП рассматривается на упрощённой системе налогообложения (УСН) со схемой уплаты налогов в 6% от дохода и без наёмных работников – то есть вы сами по себе;
5. вы предоставляете услуги в области ИТ (программинг, дизайн, консультации и т. п.).
Я хочу всё систематизировать и поделиться реальной практикой.
Для начала введём определения и ограничения:
1. вы уже должны быть зарегистрированы как ИП и вы ознакомились со статьями: habrahabr.ru/blogs/freelance/132232, habrahabr.ru/blogs/freelance/132360, habrahabr.ru/blogs/Dura_Lex/114069
2. мы хотим вести бизнес честно, платить с этого налог и делаем это в России;
3. всё что написано ниже в статье применимо только к ИП, возможно что-то применимо и к ООО, но я ИП и рассказываю про ИП;
4. ИП рассматривается на упрощённой системе налогообложения (УСН) со схемой уплаты налогов в 6% от дохода и без наёмных работников – то есть вы сами по себе;
5. вы предоставляете услуги в области ИТ (программинг, дизайн, консультации и т. п.).
+63
Линейная алгебра для разработчиков игр
19 min
789KTutorial
Translation
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
+278
RedDwarf — cерверная платформа для разработки онлайн-игр на Java
4 min
9.5KДобрый день!
Последние два года я занимаюсь разработкой сервера игр на платформе RedDwarf – свободной (GPLv2) серверной платформе для создания онлайн-игр на Java. На Хабре очень мало информации об этой платформе, поэтому я решил исправить этот недостаток.
Разработка данного движка изначально велась компанией Sun, сама платформа называлась Sun Game Server (аббревиатура sgs до сих пор используется в наименованиях пакетов). В 2005 году сервер был представлен миру под названием Project Darkstar. После того, как Oracle купила Sun, от поддержки проекта сановцы отказались, платформа была переименована в RedDwarf Server и сейчас существует только при поддержке сообщества. Проект развивается сейчас гораздо медленней, но всё же развивается – в прошлом году вышла версия 0.10.2. Всех планируемых фишек (прозрачного масштабирования) в ней ещё нет, но как основа для игрового сервера используется во многих проектах.
Игровой сервер на платформе RedDwarf состоит из следующих частей.

История
Разработка данного движка изначально велась компанией Sun, сама платформа называлась Sun Game Server (аббревиатура sgs до сих пор используется в наименованиях пакетов). В 2005 году сервер был представлен миру под названием Project Darkstar. После того, как Oracle купила Sun, от поддержки проекта сановцы отказались, платформа была переименована в RedDwarf Server и сейчас существует только при поддержке сообщества. Проект развивается сейчас гораздо медленней, но всё же развивается – в прошлом году вышла версия 0.10.2. Всех планируемых фишек (прозрачного масштабирования) в ней ещё нет, но как основа для игрового сервера используется во многих проектах.
Основные принципы
Игровой сервер на платформе RedDwarf состоит из следующих частей.
- Игровое приложение
- Расширения
- Ядро
- Внутренняя БД
+44
Стратегия социального проектирования (Social Design Strategy)
9 min
6KTranslation
От переводчика: данная статья была опубликована Эриком Фишером, евангелистом Facebook, в мае 2011 года и легла в основу Руководства по социальному проектированию от Facebook.
Продукт или сервис становится выдающимся, если предлагает своим пользователям возможность реализовать какую-то выдающуюся практику. И это отнюдь вопрос не о том, что пользователи делают в сервисе или как они это делают, а скорее вопрос о том, почему они делают с помощью сервиса то, что они делают. Почему они регулярно возвращаются к сервису и почему рассказывают о нём своим друзьям. Социальное проектирование как раз отвечает на этот вопрос «почему» и объясняет, как создавать возможности для реализации подобных выдающихся практик.
Давайте я расскажу вам короткую историю. Strand Book Store — довольно известный книжный магазин в Нью-Йорке. Но я впервые узнал о его существовании (хотя и живу в Нью-Йорке) только тогда, когда в начале этого года мне довелось прогуливаться неподалеку от него вместе с моей подругой, и она показала мне на него. Она сказала, что регулярно посещает этот магазин, и что он тоже должен мне понравиться. И он мне действительно понравился. Я даже приобрел там книгу одного своего любимого автора.
С помощью современных технологий мы можем получать ответы на любые вопросы очень быстро. На своем телефоне я бы легко мог вывести все книжные магазины Нью-Йорка, определить маршрут к каждому из них, а также узнать, в каких из них продаются книги моего любимого автора. Но ценность социального заключается как раз в том, что я могу найти даже то, что и не думал искать вообще.
Продукт или сервис становится выдающимся, если предлагает своим пользователям возможность реализовать какую-то выдающуюся практику. И это отнюдь вопрос не о том, что пользователи делают в сервисе или как они это делают, а скорее вопрос о том, почему они делают с помощью сервиса то, что они делают. Почему они регулярно возвращаются к сервису и почему рассказывают о нём своим друзьям. Социальное проектирование как раз отвечает на этот вопрос «почему» и объясняет, как создавать возможности для реализации подобных выдающихся практик.
Давайте я расскажу вам короткую историю. Strand Book Store — довольно известный книжный магазин в Нью-Йорке. Но я впервые узнал о его существовании (хотя и живу в Нью-Йорке) только тогда, когда в начале этого года мне довелось прогуливаться неподалеку от него вместе с моей подругой, и она показала мне на него. Она сказала, что регулярно посещает этот магазин, и что он тоже должен мне понравиться. И он мне действительно понравился. Я даже приобрел там книгу одного своего любимого автора.
С помощью современных технологий мы можем получать ответы на любые вопросы очень быстро. На своем телефоне я бы легко мог вывести все книжные магазины Нью-Йорка, определить маршрут к каждому из них, а также узнать, в каких из них продаются книги моего любимого автора. Но ценность социального заключается как раз в том, что я могу найти даже то, что и не думал искать вообще.
+28
Стереоизображение — это просто
3 min
52KПривет, %username%.
В данной статье я хочу рассказать, как можно самостоятельно создать стереоизображение при помощи графического редактора и небольшой программы.


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


Введение
Для начала рассмотрим, как устроено стереоизображение и как на него смотреть.
+180
Строю сайты! Like a boss
6 min
3.3K
www.youtube.com/watch?v=NisCkxU544c
Посмотрев презентацию Юрия (yrashk) с Erlang Conference о веб-фреймворках в эрланге я заинтересовался и решил сделать сайтик не на node.js, как намеревался изначально, а используя какой-нибудь эрланговский фреймворк.
В итоге я наткнулся на фреймворк Chicago Boss. Про сам фреймворк я слышал и раньше, но пользоваться пока не довелось.
+40
TileMill — картографическая дизайн студия
4 min
20K
TileMill — это инструмент для картографов, позволяющий быстро и просто создавать и оформлять карты для веба, используя разные источники данных. Он создан на основе Mapnik, мощной библиотеки с открытым исходным кодом. TileMill не является картографическим инструментом общего назначения, он предназначен для решения узкого набора задач.
Принцип работы TileMill очень прост. Вы импортируете свои векторные данные в студию. TileMill поддерживает ESRI shapefiles, KML, GeoJSON, GeoTIFF и, с недавних пор, заявлена поддержка PostGIS. Оформляете всё это с помощью CSS подобного языка Carto и экспортируете в один из форматов (PNG, PDF или MBTiles).
Возможности
- Доступ к данным из локальных источников или посредством Amazon S3
- Управление слоями карты (shape, растры)
- Редактирование таблицы стилей прямо в браузере либо во внешнем редакторе (например в vim)
- Предварительный просмотр карты при редактировании таблицы стилей
- Просмотр атрибутивной таблицы геопространственных данных
- Экспорт данных в форматы PNG, PDF и MBTiles.
За подробностями приглашаю под кат.
+51
Архитектура и платформа проекта Одноклассники
10 min
120KАрхитектура и платформа проекта Одноклассники
В этом посте расскажем о накопленном за 5 лет опыте по поддержанию высоконагруженного проекта. Надеемся, что коллегам-разработчикам будет интересно узнать, что и как мы делаем, какие проблемы и трудности у нас возникают и как мы справляемся с ними.
+196
FAQ для стартаперов по правовым вопросам
1 min
617Юридическая компания MLG Consulting совместно с адвокатом Мариной Деревянко (Адвокатская Палата Санкт-Петербурга (СПбГКА) объявляет о создании правового FAQ для стартаперов.
Вопросы можно оставлять в комментариях, отправлять по электронной почте info@mlgconsult.ru или задавать через твиттер @mlgconsulting до 10 июля 2010 г. Вы можете задать любой вопрос о создании ИТ-бизнеса, авторских правах, привлечении инвестиций и любой другой вопрос из области ИТ-предпринимательства.
Ответы выйдут в качестве бесплатной брошюры и будут размещены на сайте юридической компании MLG Consulting и ресурсах Марины Деревянко. Помимо этого, будут даны комментарии к заданным в данном посте вопросам.
Вопросы можно оставлять в комментариях, отправлять по электронной почте info@mlgconsult.ru или задавать через твиттер @mlgconsulting до 10 июля 2010 г. Вы можете задать любой вопрос о создании ИТ-бизнеса, авторских правах, привлечении инвестиций и любой другой вопрос из области ИТ-предпринимательства.
Ответы выйдут в качестве бесплатной брошюры и будут размещены на сайте юридической компании MLG Consulting и ресурсах Марины Деревянко. Помимо этого, будут даны комментарии к заданным в данном посте вопросам.
+45
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity