Pull to refresh
51
0
Send message

Мониторинг сообщений и звонков в Android

Reading time5 min
Views56K
На разрабатываемом мною проекте под Android возникла необходимость мониторинга входящих и исходящих звонков и сообщений. Полез читать документацию и подручные книги и к сожалению понял, что задача не совсем из тривиальных, так как каждая часть одной проблемы требует различного подхода к реализации. Вообще заметил, что многие книги или же статьи всегда стараются подавать более легкие примеры, например обработка входящего сообщения, а вот про исходящее ни слова если реализация более сложна. Возможно это мое предубеждение, но уже не первый раз обращаю на это внимание
Решил собрать все воедино и поделиться с теми, кто возможно будет набивать себе оскомину пытаясь найти решение данной проблемы. На оптимальность не претендую, так как сам учусь
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments39

Работа с ContactListener из Box2d в Libgdx

Reading time3 min
Views18K
В продолжение прошлой статьи про использование Box2d в Libgdx решил рассмотреть работу с классом ContactListener.

Из наименования класса очевидно, что использовать его следует для обработки коллизий. Рассмотрим пару практических примеров.

image
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments5

Виртуализация второго порядка

Reading time4 min
Views20K
UPDATE(2016-01-28): теперь для этого есть Docker.

Что делать, когда нужна куча маленьких и дешевых серверов для тестирования разных версий разных сайтов? Можно прикупить дедик и поставить на него OpenVZ. Хотя, OpenVZ будет как-то мелковато — памяти-то много. Лучше поставим XEN. Или KVM. Или даже VMWare.
И начнем всё это админить?
Total votes 50: ↑42 and ↓8+34
Comments15

Collectd — Следим за системой с минимальными затратами. Настройка и использование нотификаций

Reading time8 min
Views42K

Что это такое?


Collectd — это небольшой демон, который каждые 10 секунд собирает
статистку об использовании ресурсов системы. Есть возможность сбора
статистики для нескольких хостов и отсылка её на сервер, который
занимается отрисовкой красивых графиков.

Основное отличие этого сборщика в том, что он работает по принципу push, а не poll/pull. Т.е. он «висит» и слушает, а сервера ему сами статистику присылают.

Что мы будем делать?


Что я хочу описать в этом посте:
  • Установка.
  • Настройка общая.
  • Настройка отдельных плагинов.
  • Настройка slave серверов, которые будут слать нам на главный сервер свою статистику работы.
  • Настройка нотификаций по email.

Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments30

SMS-уведомления от nagios средствами clickatell.com и монитор сайтов на bash

Reading time4 min
Views14K
image

Добрый день, товарищи


Как и всем кто имеет дело с удалёнными системами, мне понадобилось мониторить множество машин и сервисов на них. Пролистав описания и мануалы нескольких программ, остановился на Nagios. Множество статей и примеров по нему и очень богатая настройка оказалось то что нужно. И вот решил поделиться несколькими моментами в реализации и конфигурирование самописного плагина, написанного на Bash и системы оповещения по sms с использованием clickatell.com.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments5

256 цветов в терминале ⇒ уровень nightmare

Reading time2 min
Views60K


Я тут строю некоторый велосипед с длинным отладочным выводом в stdout и меня взволновал вопрос серьезной расцветки лога. Современные терминалы xterm умеют и любят 256 цветов, но вот люди, которые придумывали escape-последовательности для этой палитры, стреноженные обратной совместимостью и латентной склонностью к криптографической эмпирике, все сделали так, что у меня ушло несколько часов, чтобы со всем этим разобраться. Интернет тоже не изобилует подробными разъяснениями, как оно там устроено.
Вкратце, текст в иксовый терминал можно нынче выводить кучеряво. Я набросал некое подобие сервиса, типа визивига для генерации escape-последовательностей. Выбрал цвета, начертание шрифта — получи набор закорючек. Тех же, кому интересны потроха — прошу под кат.
Читать дальше →
Total votes 124: ↑121 and ↓3+118
Comments79

Курсы информационных технологий от компании Яндекс. Видео сезона 3

Reading time3 min
Views45K
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments12

Box2d и Libgdx

Reading time9 min
Views57K
День добрый.

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

Я задался целью поэтапно писать статьи о различных аспектах/частях LibGDX, чтобы в итоге, любой человек мог более-менее работоспособную версию своей собственной игрушки сделать. В этой статье хотел бы рассказать про Box2D, который присутствует в LibGDX.
image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments9

Inferno Shell

Reading time12 min
Views18K
FAQ: Что такое OS Inferno и зачем она нужна?

Оболочка ОС Инферно много лет вызывала у меня исключительно отрицательные эмоции. И я никогда не понимал, что в Inferno sh вызывает восторг у некоторых людей. Но, как говорится, лучше поздно чем никогда — сегодня я решил таки тщательно разобраться с шеллом, и в результате меня тоже проняло — это таки действительно уникальная вещь! Невероятно элегантная и простая.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments30

Графический стек Linux

Reading time19 min
Views97K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Читать дальше →
Total votes 196: ↑191 and ↓5+186
Comments49

OpenVPN на Android: прозрачное переключение между WiFi и «Мобильными данными» без разрыва соединений

Reading time4 min
Views34K
Здравствуйте, разрешите поделиться своим опытом.

Есть приложения критичные к разрывам связи, переподключение происходит мучительно и вообще не всегда. Поставил перед собой цель, сделать прыжки маршрутов и физических подключений прозрачными, что бы связь была постоянной и TCP коннект не рвался.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments5

Стилизация SVG-графики

Reading time2 min
Views28K
Продолжаем изучать SVG-графику, на этот раз коснемся стилизации.
Первая часть: Знакомство с SVG-графикой.



Демонстрация примеров / Скачать исходники

Изменение внешнего вида SVG-элементов аналогично HTML, с некоторыми особенностями. Например фон назначается свойством fill, а не background-color, граница — stroke вместо border. Если вы работали с Adobe Illustrator, подобная терминология будет знакома.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments5

Инкрементальный алгоритм привязки GPS-трека к дорожному графу

Reading time5 min
Views18K
The Puxi Viaduct by wikimedia

Геоинформационные системы постепенно входят в повседневный быт.

Большинство мобильных устройств снабжены GPS/ГЛОНАСС-приёмниками. Это позволяет разработчикам получать записи пути своих пользователей (треки). Треки можно использовать для решения целого ряда задач — от навигации по карте и информирования о местоположении друзей до построения пробок и предсказания дорожной ситуации.

К сожалению, без дополнительной обработки трек пользователя малоинформативен, поэтому требуется этап связи внешних данных и внутренней карты приложения. Для этого существуют специальные алгоритмы привязки данных (map matching algorithms).

Эта статья посвящена алгоритму привязки трека к дорожному графу и результатам его применения в проекте Карты@­Mail.ru.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments16

Vreen — простая и удобная библиотека для работы с vk.api

Reading time7 min
Views39K

Представляю вам новую Qt библиотеку для работы с vk api, которая может пригодиться вам при создании любых настольных и мобильных приложений, взаимодействующих с vk. Проект родился из vkontakte плагина для qutIM'а и перерос в отдельную независимую библиотеку, которой теперь может пользоваться каждый.
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments46

Мобильные сервисы, блобы и Windows 8. Храним данные в облаке

Reading time8 min
Views9.7K


Добрый день.

Мы живем в мире тотальной глобализации как в реальной жизни, так и в виртуальной. Я имею в виду, что нам хочется иметь одни и те же данные, одни и те же настройки и одно и то же поведение программ на разных устройствах. Такой синхронизации всего и вся в наше время легко добиться с помощью облаков. Об этом и пойдет речь в данной статье, а именно о скрещивании приложения для Windows 8 (WinRT) с облаком Windows Azure для хранения данных и метаданных.

Вводная


Итак, предположим, что у нас есть приложение для Windows 8 (пусть это будет сервис хранения неких текстовых записей), которое:
1) Должно отображать список записей с минимальной информацией о каждой из них (допустим, заголовок или дату создания). Назовем это метаданными.
2) Должно иметь возможность показать подробную информацию о записи (контент) при переходе к конкретному элементу. Назовем это данными.
3) Должно синхронизировать данные между различными устройствами под управлением Windows 8 (создал запись дома, просмотрел ее же на работе).

Наиболее правильный подход, который я вижу, это разбить данные и метаданные и хранить их в разных местах. Это позволит нам быстро получить небольшие по объему метаданные для отображения в виде списке, и подгружать «тяжелые» данные по запросу пользователя.

По ходу этой статьи мы познакомимся с Windows Azure Mobile Services для хранения метаданных и Windows Azure Blob Storage для хранения данных. Впереди много текста и картинки.
Приступим!
Total votes 45: ↑32 and ↓13+19
Comments12

Делаем TDD привычкой: проблемы и внедрение

Reading time5 min
Views21K
imageОт переводчика. На Хабре довольно много статей, посвященных TDD. Но к сожалению в них нет подробной информации о том как внедрять TDD комплексно, на уровне компании. Как мне показалось, данная статья дает на это ответ и если вы поставили перед собой такую цель, то эта статья может вам пригодиться.

Я столкнулся с командами в нашей организации, которые пытаются внедрить Test Driven Development (TDD).Иногда одному или двум разработчикам удается применить его без посторонней помощи, но у большинства этого не выходит. Чтобы лучше понять проблему я провел опрос среди членов команды и обнаружили, что даже после обучения еще многое предстоит сделать. Эта стратегия была разработана, чтобы помочь любому внедрить TDD в организации, хотя некоторые из идей применимы лишь для средних и крупных компаний.
Читать дальше →
Total votes 35: ↑26 and ↓9+17
Comments28

Так как же удалить миллионы файлов из одной папки?

Reading time5 min
Views146K

Феерическая расстановка точек над i в вопросе удаления файлов из переполненной директории.

Прочитал статью Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки и очень удивился. Неужели в стандартном инструментарии Linux нет простых средств для работы с переполненными директориями и необходимо прибегать к столь низкоуровневым способам, как вызов getdents() напрямую.

Для тех, кто не в курсе проблемы, краткое описание: если вы случайно создали в одной директории огромное количество файлов без иерархии — т.е. от 5 млн файлов, лежащих в одной единственной плоской директории, то быстро удалить их не получится. Кроме того, не все утилиты в linux могут это сделать в принципе — либо будут сильно нагружать процессор/HDD, либо займут очень много памяти.

Так что я выделил время, организовал тестовый полигон и попробовал различные средства, как предложенные в комментариях, так и найденные в различных статьях и свои собственные.
Читать дальше →
Total votes 155: ↑145 and ↓10+135
Comments103

Укрощаем трёхглавого дракона или как работает аутентификация в Bacula

Reading time2 min
Views17K
Приветствую, Хабравчане.

Bacula — кроссплатформенное клиент-серверное программное обеспечение, позволяющее управлять резервным копированием, восстановлением, и проверкой данных по сети для компьютеров и операционных систем различных типов. (Wikipedia)

Вообще с бакулой я связался совершенно случайно. Я всегда предпочитал самописные скрипты для бэкапов и мониторинг их выполнения nagios-ом, т.к. все специализированные средства (Bacula, Amanda, и т.п.) казались мне архитектурно слишком сложными, которые сами, в силу своей сложности, требуют того, чтобы их бэкапили. Но однажды, политикой сверху, нас посадили на ARCserve. Поигравшись немного с этим монстром я вернулся к Bacula и понял, что Bacula — это верх изящества и простоты.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments18

Создание «островка сетевой свободы» на основе VPS за 30 минут

Reading time4 min
Views155K
В связи с вступлением в силу нашумевшего закона 149-ФЗ у многих хабравчан возник вопрос: а что будет дальше? Неужели в России появится аналог Великого Китайского Фаервола, который будет блокировать всё и вся? В данном туториале я хотел бы рассмотреть один из самых эффективных и безопасных способов обеспечения себе свободы информации — собственный VPS сервер, находящийся далеко за границей и связанного с вами с помощью зашифрованного VPN туннеля. В отличие от tor или i2p конфиденциальность передаваемой информации гарантированна, вряд ли кто-то будет пытаться расшифровать ваши данные или устраивать рейд на заграничный сервер (если конечно вы не хакер мирового масштаба).
Читать дальше →
Total votes 161: ↑124 and ↓37+87
Comments94

Базовые sql-инъекции в приложениях, использующих язык SQL. Руководство для чайников

Reading time10 min
Views37K

Примечание переводчика


Данная работа является переводом части работы Chris Anley Advanced SQL Injection In SQL Server Applications. (прямая ссылка для скачивания)
В последующих статьях, при наличии свободного времени, данный перевод будет доведен до конца.

P.S. Перевод будет интересен более в образовательных и исторических целях.

Оригинальное название статьи: Продвинутые SQL-инъекции в приложениях, использующих язык SQL.

Аннотация


В данной статье подробно рассматриваются общие способы «SQL-инъекции», для известной платформы Microsoft Internet Information Server/Active Server Pages/SQL Server. В ней обсуждаются различные варианты использования инъекции SQL в приложениях и объясняются методы проверки данных, а также защита баз данных, в которых могут быть использованы инъекции.
Читать дальше →
Total votes 32: ↑16 and ↓160
Comments24

Information

Rating
Does not participate
Registered
Activity