В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
Пользователь
Группировка оповещений в Android 7
3 мин
11K
Туториал
После обновления на Android 7 мы заметили, что уведомления стали группироваться по приложению автоматически. Так как на момент выхода новой версии Android в нашем приложении еще не было истории уведомлений это изменение было достаточно критично — в одной группе отображается только 7 уведомлений. Это значит, что если приходит более 20 уведомлений в сутки через приложение — необходимо смахивать новые чтобы увидеть более старые.
Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.
Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.
В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.
Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.
Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.
В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.
Более чем 80 средств мониторинга системы Linux
12 мин
315KНиже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
1. первый инструмент — top
Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
1. первый инструмент — top
Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
Разноцветные терминалы
4 мин
83KВ этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле ~/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).
Для начала рассмотрим простой вариант, мой любимый формат командной строки.
19 советов по повседневной работе с Git
14 мин
284K
Туториал
Перевод
Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!
Содержание:
- Параметры для удобного просмотра лога
- Вывод актуальных изменений в файл
- Просмотр изменений в определённых строках файла
- Просмотр ещё не влитых в родительскую ветку изменений
- Извлечение файла из другой ветки
- Пара слов о ребейзе
- Сохранение структуры ветки после локального мержа
- Исправление последнего коммита вместо создания нового
- Три состояния в Git и переключение между ними
- Мягкая отмена коммитов
- Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
- Игнорирование пробелов
- Добавление определённых изменений из файла
- Поиск и удаление старых веток
- Откладывание изменений определённых файлов
- Хорошие примечания к коммиту
- Автодополнения команд Git
- Создание алиасов для часто используемых команд
- Быстрый поиск плохого коммита
Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных
17 мин
72K
Туториал
Приветствую, Хабр!
В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)
Немного лирики
Сегодня, 2015-03-21, я решил сделать пол-дела, и всё-таки начать писать статью о том, как же всё-таки начать понимать, что же делать с OOM, да и вообще научиться ковырять heap-dump'ы (буду называть их просто дампами, для простоты речи. Также я постараюсь избегать англицизмов, где это возможно).
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишьчерез пару недель спустя день.
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишь
В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)
Грид, группировка данных и OData
4 мин
8.4KВ одной из прошлых статей мы кратко рассказали, как грид контролы работают с удаленным сервером, используя OData протокол. Большинство современных грид контролов позволяют удобно группировать данные по нескольким колонками. Рассмотрим подробнее, как формулируются запросы к REST серверу, в случае, когда грид производит автоматическую группировку данных.
Грид контролы, позволяющие группировать записи по нескольким колонкам, существенно упрощают жизнь как программисту, так и конечному пользователю. Очень удобно иметь возможность сгруппировать, например, список задач, выделить задачи, требующие помощи, разделить их по приоритетам, и т.д.
Удобство (зачем это нужно)
Грид контролы, позволяющие группировать записи по нескольким колонкам, существенно упрощают жизнь как программисту, так и конечному пользователю. Очень удобно иметь возможность сгруппировать, например, список задач, выделить задачи, требующие помощи, разделить их по приоритетам, и т.д.
Несколько интересностей и полезностей для веб-разработчика #36
5 мин
60KДоброго времени суток, уважаемые хабравчане. Поздравляю всех с наступившим 2015 годом! За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
Я думаю многие из вас знакомы с потрясающими демками от Codrops. Авторы сайта буквально всегда реализуют интереснейшие UI/UX задумки с помощью HTML/CSS/SVG/JS и подробно рассказывают о том, как они это сделали. А это их собственная мега подборка с лучшими работам. Также рекомендую для вдохновения коллекцию самых популярных пэнов за 2014 год от CodePen.
Лучшее от Codrops за 2014 год
Я думаю многие из вас знакомы с потрясающими демками от Codrops. Авторы сайта буквально всегда реализуют интереснейшие UI/UX задумки с помощью HTML/CSS/SVG/JS и подробно рассказывают о том, как они это сделали. А это их собственная мега подборка с лучшими работам. Также рекомендую для вдохновения коллекцию самых популярных пэнов за 2014 год от CodePen.
Робот-пылесос Neato XV-21: покупка в США, доставка, опыт использования
4 мин
96KДо появления ребенка, жена мыла пол чуть ли не каждый день. Однако после рождения времени у нее стало катастрофически не хватать, и явно требовалась моя помощь. Единственный адекватный выход из положения, который пришел в мою айтишную голову – доверить это дело машине, а точнее роботу-пылесосу.
Заботило меня только два вопроса:
В этой статье мне хотелось бы поделиться с вами опытом выбора, покупки и впечатлениями от использования робота-пылесоса.
Заботило меня только два вопроса:
- Какого робота выбрать?
- Где его купить?
В этой статье мне хотелось бы поделиться с вами опытом выбора, покупки и впечатлениями от использования робота-пылесоса.
GUNNARS: Апгрейд зрения IT человека (Часть 2)
7 мин
41KДанная статья является заключением статей RG|Blue Light Hazard и GUNNARS: Апгрейд зрения IT человека (Часть 1). Под катом информация об очках, видах, обзор нескольих оправ и информация о RX-программе.
Параллельно с обсуждением этой статьи, пользователь rroyter из США, взялся за собственное тестирование очков GunnarOptiks.
Рисуем ХабраЛого
2 мин
3.1KНазвание звучит, как «изобретаем велосипед», но тут я опишу единственно правильный способ отрисовывать такие «непонятные» логотипы.
Под катом все этапы в картинках.
В качестве бонуса: векторное хабралого и иконки!
Под катом все этапы в картинках.
В качестве бонуса: векторное хабралого и иконки!
Шпионские истории. Проект «Кокон»
2 мин
7.4KНачало описываемых событий относится к 70-ым годам прошлого века. Тогда уже был проведён подводный кабель, соединяющий Владивосток и Петропавловск-Камчатский, по которому шла шифрованная (и не только) переписка внутри Советского Союза. В какой-то момент он и был обнаружен Американскими атомными подводными лодками: они начали зависать над кабелем и перехватывать проходящую информацию. Затем эта информация передавалась в соответствующие структуры, где её с интересом анализировали. Дело в том, что именно на Камчатке проходили различные испытания ракет, и таким образом кроме шифрованных сообщений, передавались и срочные открытые сообщения («отклонение 3 метра», etc).
Проблема заключалась в том, что у атомных подводных лодок всегда были другие цели, и зависать на одном месте по несколько дней — не самое эффективное их применение. Тогда Агентство Национальной Безопасности, вложив огромные деньги, разработали и реализовали по истине уникальный проект под названием «Кокон».
Проблема заключалась в том, что у атомных подводных лодок всегда были другие цели, и зависать на одном месте по несколько дней — не самое эффективное их применение. Тогда Агентство Национальной Безопасности, вложив огромные деньги, разработали и реализовали по истине уникальный проект под названием «Кокон».
Спать мало, но правильно?
7 мин
896KНавеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Основы программирования под Android на примере игры Судоку
6 мин
375KВ статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.
Простой Тайм Менеджер для Android. Часть 2
12 мин
9.7KВ этой части мы будем доделывать приложение «Менеджер Времени» из первой части.
Сразу выражаю огромную благодарность Belkin и всем тем, кто плюсанул первую часть, вы помогли мне с инвайтом)
Хочу обратить ваше внимание на то, что я отказался от использование сервиса, как изначально задумывалось. Сами посудите, запускать процесс только для того, чтоб каждую секунду увеличивать таймер — глупость. Решение простое: перед каждой остановкой программы, сохраняем время, а после запуска вычитаем его из текущего времени, получая число секунд.
План действий:
Сразу хочу извиниться и похвалиться) Извиняюсь за то что заставил вас долго ждать, а похвалиться тем, что на днях Android принес мне первые ну ооооочень хорошие деньги и я на радостях купил себе xbox и проиграл в него все выходные, поэтому и задержался)
Итак, поехали!
Сразу выражаю огромную благодарность Belkin и всем тем, кто плюсанул первую часть, вы помогли мне с инвайтом)
Хочу обратить ваше внимание на то, что я отказался от использование сервиса, как изначально задумывалось. Сами посудите, запускать процесс только для того, чтоб каждую секунду увеличивать таймер — глупость. Решение простое: перед каждой остановкой программы, сохраняем время, а после запуска вычитаем его из текущего времени, получая число секунд.
План действий:
- Багфиксы предыдущей версии.
- Модификация кода, для постоянной работы приложения, а не только для запущенного Activity
- Уведомления
- Закинем все это дело на маркет
Сразу хочу извиниться и похвалиться) Извиняюсь за то что заставил вас долго ждать, а похвалиться тем, что на днях Android принес мне первые ну ооооочень хорошие деньги и я на радостях купил себе xbox и проиграл в него все выходные, поэтому и задержался)
Итак, поехали!
Простенький Time Manager для Android
13 мин
35KРешил тут на досуге написать статейку о том, как писать приложения для Android'а. Писать будет простенький тайм менеджер. В этой части я напишу саму программу, приделаю к ней интерфейс с анимацией, а в следующей, если будет интересно, напишу к ней сервис, чтоб программа работала еще и в фоновом режиме.
Что будет рассмотрено:
Для наглядности добавил скринкаст как все это добро работает.
Итак, пишем простенький тайм менеджер для Android'а.
Что будет рассмотрено:
- RelativeLayout для реализации интерфейса программы с наложением изображений друг на друга.
- Timer для реализации алгоритма подсчета времени.
- Animation для
свистоперделоккрасивого интерфейса апплета.
Для наглядности добавил скринкаст как все это добро работает.
Итак, пишем простенький тайм менеджер для Android'а.
Tips and Tricks по программированию на Android
5 мин
7.2KЛетом друг подкинул пару заказов по разработке для Android. Первое это streaming проигрыватель видео для одного французского телевидения, второе — простенькая игрушка.
Во время разработки (мой первый опыт разработки на Android и на Java), я уяснил несколько правил, которые нужно соблюдать для корректной и устойчивой работы программ, которыми хочу поделится…
Тестирование вебмастеров от Google
1 мин
1.1KТолько что ребята из Google опубликовали ссылку на тест, составленный ими, который можно также использовать для тестирования вебмастеров при приеме на работу/оценке квалификации. Хотя в записи в блоге вебмастеров (googlewebmastercentral blog) этот тест характеризуют как «Just for fun».
Тест можно пройти здесь — Webmaster Quiz
В тестировании представлены вопросы, с которыми может столкнуться каждый, чья работа или увлечения связаны с администрированием сайтов и/или серверов, и взяты они с Форума Google по помощи вебмастерам.
Заметки об NLP (часть 3)
5 мин
9.7K(Начало: 1, 2) Что ж, подходим к самому интересному — разбору предложений. Тема эта многогранна и многоуровнева, так что подступиться к ней не очень просто. Но ведь трудности лишь закаляют :) Да и выходные, текст пишется легко…
Начнём с такого понятия, как синтаксический анализ предложений (по-английски parsing). Суть этого процесса состоит в построении графа, «каким-либо образом» отражающего структуру предложения.
Начнём с такого понятия, как синтаксический анализ предложений (по-английски parsing). Суть этого процесса состоит в построении графа, «каким-либо образом» отражающего структуру предложения.
Заметки об NLP (часть 2)
4 мин
5.9KХотя в первой части я и говорил, что не собираюсь останавливаться на морфологии, видимо, совсем без неё не получится. Всё-таки обработка предложений сильно завязана на предшествующий морфологический анализ.
Информация
- В рейтинге
- Не участвует
- Откуда
- Toronto, Ontario, Канада
- Дата рождения
- Зарегистрирован
- Активность