Pull to refresh
66
0.4
Григорий Клюшников @grishkaa

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

Send message

Speakplace — новый формат общения в Интернете, или всё новое — это забытое старое

Reading time3 min
Views1.2K
Помню, уже очень давно, у скайпа был такой проект, «скайпкасты». Он был довольно популярен, но его прикрыли в 2008 году по непонятным мне причинам.
Я сам пользовался этим сервисом и был довольно расстроен, когда его не стало, ведь прийдя вечером домой после тяжелого дня, где, как ни там, можно было развлечься и поговорить с незнакомыми людьми о чем-нибудь интересном?



И вот, спустя много времени, я решил, что людям и мне нужно вернуть такую возможность.
Так появился проект Speakplace.ru

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

Маленькие хитрости Java. Часть 2

Reading time5 min
Views109K
В продолжение первой статьи я добавлю еще несколько штрихов о наиболее часто встречающихся ошибках и просто плохом коде, с которым часто приходится иметь дело при работе с уже написанными проектами. Я не выносил это в первую часть, так как эти ситуации встречаются гораздо реже, но поскольку первая часть вызвала много позитивных отзывов, решил продолжить. Спасибо всем комментаторам, отзывам и замечаниям. Я постараюсь избежать допущенных ошибок. Итак, продолжим:

Buffered Streams

//медленно
InputStream is = new FileInputStream(file);
int val;
while ((val = is.read()) != -1) {
}
//быстро
InputStream is = new BufferedInputStream(new FileInputStream(file));
int val;
while ((val = is.read()) != -1) {
}

Казалось бы — очевидная истина, неправда ли? Но как показал чужой код и опыт собеседования кандидатов, часть разработчиков определенно не понимает в чем преимущество буферизованных стримов. Кто до сих пор не разобрался — метод read() класса FileInputStream:
public native int read() throws IOException;

Согласитесь, каждый раз делать системный вызов, чтобы считать один байт несколько расточительно. Собственно для того, чтобы избежать этой проблемы и были созданы оболочки-буферы. Все что они делают — при первом вызове системного read() считывают несколько больше (в зависимости от указанного размера буфера, котрый по умолчанию равен 8 кб) и при следующем вызове read() считывают данные уже из буфера. Прирост производительности — на порядок. Системные вызовы, на самом деле, это не всегда плохо, например:
System.arraycopy(src, srcPos, dest, destPos, length);

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

Владельцам Wi-Fi оборудования вменяют обязанность ГЛОНАССирования

Reading time1 min
Views4.8K
Владельцы роутеров, ноутбуков, смартфонов и иных работающих в сетях Wi-Fi устройств практически в любой момент могут лишиться своей собственности и быть оштрафованы. Во всяком случае, чиновники Минкомсвязи настаивают на обязательном получении пользователями такого оборудования лицензии, разрешения на выделение частот и т.д. Кроме того, согласно вступившему в силу 10 октября приказу связного ведомства, все точки беспроводного радиодоступа должны быть оборудованы системой спутниковой навигации ГЛОНАСС.

Департамент информации и общественных связей Минкомсвязи однозначно подтвердил, что они [роутеры, ноутбуки, смартфоны и иные работающие в стандарте 802.11 устройства] относятся к оборудованию, которое подлежит оснащению аппаратурой спутниковой навигации ГЛОНАСС или ГЛОНАСС/GPS! При этом обладателю такой точки доступа требуются лицензии и разрешения Роскомнадзора.

Так как топики-ссылки теперь persona non grata, то вот ссылка на источник новости.

От себя: маразм крепчает.
Update: для тех, кто не ходил по ссылке, скан ответа из Минкомсвязи на поставленные журналистами вопросы.
image

Пишем приложение под Android с поддержкой Cloud to Device Messaging (C2DM)

Reading time15 min
Views36K


Здравствуйте, читатели Хабрахабр!

В данном посте я хочу уделить внимание сервису C2DM от компании Google и попытаюсь рассказать, как реализовать поддержку данного сервиса в вашем Android-приложении. Напомню, что C2DM — это специальный сервис, предоставляющий API для отправки сообщений приложениям, установленным на устройствах Android. Использование данного сервиса является незаменимым способом при необходимости передать сообщение пользовательскому приложению, зарегистрированному в системе, но не являющемуся на данный момент активным.

Хотя C2DM является одной из фундаментальных возможностей платформы Android, информации о нем в рунете мало. Попытка изменить данную ситуацию и является одной из задач этого поста.

Под катом я расскажу, как написать простые клиентское и серверное приложения, покажу некоторые «подводные камни», а также дам ссылки на примеры кода.

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

Как получить наибольшую выгоду от Crash Reports или упрощаем себе жизнь

Reading time3 min
Views15K
Привет хабродроидеры!
Если ваше приложение падает в production и вам нужно быстро понять почему, на каком девайсе, с какой прошивкой и конфигурацией, то этот маленький топик расскажет об одном способе решения данной проблемы.
Под катом описание возможностей ACRA.
Читать дальше →

Карты в вашем Android-приложении

Reading time3 min
Views11K


Довольно часто перед разработчиком мобильного приложения возникает необходимость отобразить что либо на карте. Какие же варианты есть у разработчика?

Я рассматривал два варианта.
Читать дальше →

Глубокое погружение в определение местоположения

Reading time8 min
Views24K
Этот пост является переводом топика из блога android-developers. Далее повествование ведется от Рето Майера, автора книги Professional Android 2 Application Development. Он пишет о том, как можно улучшить приложения, использующие местоположение, в смысле кэширования результатов, скорости работы и так далее.

Без разницы, ищете ли вы место, где бы поесть, или ближайшее место велосипедов Boris Bike, всегда есть задержка при получении данных местоположения от GPS и заполнении абстрактного списка результатов в вакууме. Когда вы находитесь в месте, где хотели бы получить контекстную информацию, то часто вы сталкиваетесь с отсутствием подключения к данным.

Вместо того, чтобы грозить кулаком в небо, я написал open-source приложение, которое включает в себя советы и рекомендации по сокращению времени между открытием приложения и просмотром актуальной информации о близлежащих местах, вкупе с разумным обеспечением offline режима работы. И всё это, сохраняя использование аккумулятора на возможном минимуме.
Читать дальше →

Information

Rating
3,316-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity