Pull to refresh
0

Java backend developer

Send message

Очередь сообщений (Message Queue)

Reading time4 min
Views133K

Очередь сообщений (Message Queue)



Этот пост рассказывает об очередях сообщений — почему вы должны знать о них, думать при планировании архитектуры и использовать их в вашем приложении.
Читать дальше →
Total votes 26: ↑18 and ↓8+10
Comments17

Используем векторные изображения SVG в приложениях Android, или как убить фрагментацию экранов и не потерять в качестве (плюсы, минусы, особенности)

Reading time7 min
Views62K
Достаточно долгое время мы занимаемся разработкой детских приложений под Android, постепенно постигая множество нюансов этой платформы. Есть одни грабли, которые подстерегают нас в каждом приложении, – это фрагментация экранов. Если делать одно изображение только под телефон маленького размера, то на планшете оно выглядит мягко говоря “не очень”. А если делать изображение высокого разрешения для планшетов и пытаться использовать его на телефонах, то с очень большой вероятность приложение вывалится с OutOfMemory.

Приходится готовить несколько экземляров одного и того же изображения под разные экраны. Еще сильнее облака сгущает новый монстр Galaxy Nexus 10 с безумным разрешением 2560х1600.



В общем, неплохо бы что-то изменить, решили мы. А что если использовать в приложениях не растровые изображения, а векторные? Такие изображения легко масштабируются под разные разрешения экранов, при этом не теряя в качестве. Можно использовать всего одно изображение под разные разрешения и размеры.

Сказано — сделано. Итак, под катом история внедрения векторных изображений в одно из наших приложений. В статье мы поделимся опытом и особенностями использования векторных изображений в формате SVG в приложениях Android.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments23

В поисках идеального css-фреймворка. Требования, реализация, maxmertkit

Reading time14 min
Views70K


Я обожаю twitter bootstrap. Прост, местами логичен, достаточно красив, подходит для быстрого прототипирования веб-интерфейсов. Но этого оказалось недостаточно. Взяв twitter bootstrap в большой проект, мне пришлось целиком его разобрать и переосмыслить css-фреймворки как боевые единицы в веб-проектах. В результате переосмысления родились требования к любому css-фреймворку, удобному как верстальщику, так и frontent-разработчику.
Требования и реализация
Total votes 208: ↑199 and ↓9+190
Comments135

Параллакс эффект для живых обоев на Android

Reading time7 min
Views35K
Каждый, кто пробовал установить себе живые обои, замечал параллакс эффект при перемещении между рабочими столами. Выглядит он очень занимательно, но вот в его реализации возникают проблемы, которые и будут освещены в данной статье. Речь пойдет про реализацию параллакс эффекта под живые обои Android.

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments17

Наиболее впечатляющие приложения HTML5 для демонстрации WebGL

Reading time1 min
Views21K
Что такое WebGL? Это новая современная библиотека, которая расширяет язык JavaScript, которая позволяет генерировать 3D графику прямо в браузере. WebGL, поддерживается многими современными веб-браузерами, такими как Google Chrome, Mozilla Firefox начиная с v4.0), Safari. Под катом несколько интересных приложений HTML5, сделанных с WebGL.
Читать дальше →
Total votes 84: ↑79 and ↓5+74
Comments59

Android: Написание многопоточных приложений с помощью Intel® Threading Building Blocks

Reading time6 min
Views9.5K
Совсем недавно мы рассматривали написание многопоточных приложений для магазина Windows с помощью Intel Threading Building Blocks(Intel TBB). Там утверждается, что использование кроссплатформенной библиотеки TBB позволяет легко переносить вычислительную часть на другие платформы. Android как раз сгодится для хорошего примера одной из «других платформ», подробности под катом.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments9

Высокопроизводительный GWT. Часть 1

Reading time6 min
Views11K
image
Данный пост является началом серии статей про оптимизацию и улучшение производительности GWT-приложений. Поскольку материала у меня накопилось достаточно много, решил разбить его на 2-3 части.
Приступим к описанию того, что нас ждёт в первой статье.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments2

Java собеседование. Коллекции vs null

Reading time3 min
Views128K
Всем привет!

В топике Java собеседование. Коллекции подробно изложен вопрос работы с Set & Map в Java. Но у меня ещё есть парочка любимых вопросов из этой области:

  1. Может ли null использоваться в качестве ключа в Map?
  2. Может ли Set содержать null?

подсказка (HashMap.java)
   public V get(Object key) {  
        if (key == null)  
            return getForNullKey();  
        int hash = hash(key.hashCode());  
        for (Entry<K,V> e = table[indexFor(hash, table.length)];  
             e != null;  
             e = e.next) {  
            Object k;  
            if (e.hash == hash && ((k = e.key) == key || key.equals(k)))  
                return e.value;  
        }  
        return null;  
    }  
    /** 
     * Offloaded version of get() to look up null keys.  Null keys map 
     * to index 0.  This null case is split out into separate methods 
     * for the sake of performance in the two most commonly used 
     * operations (get and put), but incorporated with conditionals in 
     * others. 
     */  
    private V getForNullKey() {  
        for (Entry<K,V> e = table[0]; e != null; e = e.next) {  
            if (e.key == null)  
                return e.value;  
        }  
        return null;  
    }  


Предполагается, что пытливый читатель самостоятельно поразмыслит над ответами и затем сравнит их с моими. Самые нетерпеливые могут сразу проследовать под кат.
Читать дальше →
Total votes 62: ↑51 and ↓11+40
Comments47

Java собеседование. Коллекции

Reading time10 min
Views891K
С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать дальше →
Total votes 97: ↑86 and ↓11+75
Comments306

Подборка инструментов для фронт-энд разработки

Reading time2 min
Views134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →
Total votes 202: ↑184 and ↓18+166
Comments40

О ежедневном использовании системы управления задачами: сводки с полей

Reading time7 min
Views36K
Единственный интуитивно-понятный интерфейс — это женская грудь, всему остальному нужно учиться. Эта народная мудрость пришла ко мне сегодня утром, когда я в деталях и красках рассказывал третьему по счету коллеге, чем resolved отличается от closed и как делать log work, чтобы руководству не было потом мучительно больно. В этой статье я попробую на примере нескольких зарисовок обрисовать возможные варианты использования системы управления задачами на примере популярной Jira при ежедневной работе. Приемы, конечно, не единственно возможные — но они достаточно просты, универсальны и применимы не только к Jira, но и к большинству популярных систем управления задачами — Redmine, Trac, Bugzilla и прочим.
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments9

Как сделать MMORPG своими руками. Медленно, сложно, интересно

Reading time4 min
Views32K
Привет, хабрахабр! Меня зовут Егор Курьянович и ты, возможно, помнишь меня по паре интернет-проектов: Кьюби и Идейнику. А быть может, ты даже слышал о других моих начинаниях. Сегодня я хочу рассказать тебе, чем занимался последние пару лет.



Ты ведь любишь игры, не так ли? То, что ты видишь на КДПВ, называется FAR7. Чтобы было немного понятнее, скажу, что молодежь сравнивает её с Космическими Рейнджерами, те кто постарше, вспоминают StarControl2, а совсем уже хардкорные геймеры постоянно твердят об Elite. Сойдемся на том, что это браузерный космосим. В игре вы можете путешествовать между звездными системами, торговать, воевать и выполнять различные миссии.

Вся игра написана мною с нуля в одиночку и может быть использована как демо, для демонстрации возможностей стека HTML5. Все подробности о технологиях и трудностях разработки инди-проектов ждут вас под катом.
Читать дальше →
Total votes 190: ↑176 and ↓14+162
Comments66
12 ...
33

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity