Как стать автором
Обновить
0
0
Nerten @Nerten

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

Отправить сообщение

Как я боролся с кодировками в консоли

Время на прочтение6 мин
Количество просмотров172K
В очередной раз запустив в Windows свой скрипт-информер для СамИздат-а и увидев в консоли «загадочные символы» я сказал себе: «Да уже сделай, наконец, себе нормальный кросс-платформенный логгинг!»

Об этом, и о том, как раскрасить вывод лога наподобие Django-вского в Win32 я попробую рассказать под хабра-катом (Всё ниженаписанное применимо к Python 2.x ветке)
Читать дальше →
Всего голосов 63: ↑56 и ↓7+49
Комментарии35

Оптимизируем процесс работы в консоли

Время на прочтение4 мин
Количество просмотров16K
Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.
Читать дальше →
Всего голосов 256: ↑245 и ↓11+234
Комментарии76

CSSO (CSS Optimizer) — структурная минимизация CSS

Время на прочтение2 мин
Количество просмотров19K
CSSO (CSS Optimizer) является минимизатором CSS, выполняющим как минимизацию без изменения структуры, так и структурную минимизацию с целью получить как можно меньший текст.
CSSO написан на Javascript, выполняется как в браузере, так и в командной строке (с помощью NodeJS).
Распространяется под лицензией MIT.
Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии58

Отслеживание установок приложений

Время на прочтение3 мин
Количество просмотров16K
В официальной Google-группе, посвященной Android'у, время от времени появляются жалобы разработчиков о том, что трудно найти уникальные, надежные и стабильные идентификаторы для Android-устройств.
В блоге android-developers был опубликован небольшой топик, посвященный тому, как отслеживать индивидуальные установки приложений. Думаю, кому-то это будет полезно.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии6

Files Over Miles: P2P через браузер

Время на прочтение1 мин
Количество просмотров7.6K

Постоянно сталкиваюсь с проблемой передачи пары файлов, для этого приходится использовать DropBox, обменники и тому подобные сервисы. Большинство обменников перегружено, имеют ограничения, тонну рекламы, низкую скорость.Торренты – больше предназначены для передачи крупных файлов, необходимо наличие приватного торрент-трекера, клиента.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии63

Логирование в Android приложениях

Время на прочтение3 мин
Количество просмотров60K
Уверен, что всем разработчикам приложений на платформе Android знаком класс Log, позволяющий логировать различные события. По различным причинам, формат записи логов для каждого проекта может отличаться достаточно сильно — начиная от «AAA», «111111» и «I was here» до более-менее внятных — «Opening HTTP connection to habrahabr.ru». Под катом вы найдете пример функции, которая поможет навести порядок в логах.
Данный топик не претендует на оригинальность и универсальность. И поэтому, если в вашем проекте уже существует некий стандарт логирования событий, то смело проходите мимо — топик скорее ориентирован на начинающих разработчиков.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии14

Синхронизация профилей между linux-системами

Время на прочтение2 мин
Количество просмотров3.8K
Когда количество машин, на которые я постоянно заходил по ssh достигло 3х, я понял, что просто быстрой авторизации мне мало, и пора перетащить bash-алиасы, конфиги к редактору и прочие элементы окружения на удаленные системы. С другой стороны, нужен был способ не путаться в многочисленных вкладочках с терминалами. В итоге я пришел к связке из scp, screen и цветовой дифференциации хостов :)
Скриншоты результатов:
Домашняя система:

Одна из удаленных машин:

Команда для синхронизации профиля:
$ profsync
Подробности под катом.
Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии45

Пишем whois-клиент под Android

Время на прочтение7 мин
Количество просмотров5.5K
Логотип

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

Под катом я расскажу о ходе разработке, покажу примеры работы и варианты развития.
Читать дальше →
Всего голосов 44: ↑36 и ↓8+28
Комментарии27

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

Время на прочтение15 мин
Количество просмотров35K


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

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

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

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

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии34

Анализ памяти для Android приложений

Время на прочтение5 мин
Количество просмотров42K
В Dalvik есть сборщик мусора, но это не значит, что можно игнорировать управление памятью. Даже наоборот — нужно быть особенно внимательным при использовании памяти, которая, как известно, на мобильных устройствах ограничена. В этой статье будут рассмотрены инструменты, которые значительно помогают следить за тем, как приложение использует память.
Читать дальше →
Всего голосов 64: ↑61 и ↓3+58
Комментарии19

Простой щелчок кнопки

Время на прочтение4 мин
Количество просмотров82K
Совсем недавно я написал пост, в котором выражал свое желание перейти от разработки для Windows Phone 7 к программированию под Android. К сожалению, некие внешние обстоятельства затормозили этот процесс и изучение идет не такими быстрыми темпами как хотелось бы. Но тем не менее желания не убавилось и скоро смогу уделить больше времени для Android.
А сегодня хочу рассказать о такой заурядной вещи, как обработка щелчка кнопки. Статья предназначена для новичков и будет говорить об очевидных вещах, но мне она стоила одной ночи.
Читать дальше →
Всего голосов 57: ↑43 и ↓14+29
Комментарии55

Как быстро проверить Linux сервер на предмет взлома

Время на прочтение4 мин
Количество просмотров127K
Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

--------------------- yum Begin ------------------------ 
 
 Packages Installed:
    lzo2 - 2.02-3.el5.rf.i386
    dnstracer - 1.8-1.2.el5.rf.i386
    openvpn - 2.0.9-1.el5.rf.i386

---------------------- yum End -------------------------


В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

Читать дальше →
Всего голосов 212: ↑183 и ↓29+154
Комментарии105

Загрузка файлов с помощью HTML5 и сколько раз мы сказали нехорошие слова

Время на прочтение3 мин
Количество просмотров7.3K
Стояла задача: найти или создать загрузчик файлов на сервер, использующий возможности HTML5 для мультизагрузки. Загрузчик должен:
  • отправлять методом POST любые параметры вместе с файлом;
  • отправлять куки;
  • предоставлять возможность выбора сразу нескольких файлов (или нескольких тысяч – тут как пользователь захочет);
  • отправлять файлы группами;
  • файлы собираются в группы до определенного количества мегабайт, или до определенного количества файлов в группе; (это связано с тем, что на сервере есть ограничение на размер POST запроса и на количество файлов в одном пакете)

Именно по причине отсутствия опыта работы с флешем, для создания загрузчика был выбран только JavaScript.

Итак, что из этого получилось

Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Комментарии67

Автоматизированная проверка PHP кода при комитах

Время на прочтение6 мин
Количество просмотров34K
В свое время работая в узком кругу программистов, отдельными задачами и даже проектам, мы не задумывались о проблемах связанными с текучкой кадров. Точнее думать — думали, но ни каких мер не применяли, да и в целом коллектив был сплоченный никто не уходил и никого «не уходили». С ростом внутренних проектов и корпоративных клиентов, штат начал разрастаться и казалось, что все отлично — нас больше, значит будем больше успевать и делать, но не тут то было. Мы начали тратить кучу времени на “бесполезные” обсуждения, проверки, излишние проектирование и т.д, больше всего раздражает — это проверка кода. И тут я начал думать, что “мудрые и древние” наверняка решали эти проблемы с сотнями, тысячами программистов, неужели мы не справимся? Я решил провести эксперимент, под названием “автоматизированная проверка стиля кода при комитах”. Для большинства из Вас это не новость и наверняка вы этим пользуетесь, но поделиться опытом внедрения думаю, не будет лишним.
Читать дальше →
Всего голосов 84: ↑74 и ↓10+64
Комментарии48

Хабраиндекс для статей по программированию под Android

Время на прочтение2 мин
Количество просмотров94K
Читать дальше →
Всего голосов 220: ↑204 и ↓16+188
Комментарии43

Android клиент для piter.fm и moskva.fm

Время на прочтение1 мин
Количество просмотров911
Доброго времени суток.
Итак, прошел примерно месяц с того момента, как я решил попробовать написать что-нибудь для платформы Android. Долгое время удерживало отсутствие реального аппарата и отсутствие свободного времени. Благо не так давно появился аппарат, да и времени стало побольше. После недолгих раздумий в голову пришла идея написать клиентское приложение для всеми нами любимых сайтов http://piter.fm и http://moskva.fm. Приложение решил написать не ради чего-то, а то что его действительно не хватало, по крайней мере мне. Напоминаю, что http://piter.fm и http://moskva.fm являются сайтами, где можно прослушивать не только прямой эфир питерских и московских радиостанций, но и прослушивать его в записи. Было решено сделать приложение максимально простым и удобным, без лишних фич и наворотов. На данный момент реализована возможность прослушивания лишь прямого эфира той или иной радиостанции. Для работы приложения необходимо наличие SD карты и интернета.
Читать дальше →
Всего голосов 75: ↑69 и ↓6+63
Комментарии58

Internet Explorer 9 открыл онлайн-красоту в HTML5, CSS3, SVG и не только

Время на прочтение1 мин
Количество просмотров23K

Новый и очень быстрый Internet Explorer 9 Beta доступен для загрузки на русском и английском языке!

Прямо сейчас вы можете смотреть прямую трансляцию официального запуска IE9 из Сан-Франциско — прямо на Хабре, а затем посмотреть на новые возможности браузера в поддержке веб-стандартов, таких как HTML5, CSS3 и SVG: The Killers, Jitterbugs, WebVizBench, Rough Guides, Never Mind the Bullets, Agent 008 Ball, AP Timeline Reader.

Кроме того, посмотрите на интеграцию с панелью задач Windows 7 таких сайтов, как Amazon, Facebook, Twitter, eBay, WSJ и CNN.

В России Internet Explorer 9 будет запущен завтра днем. А попробовать его в действии можно уже сейчас.
Всего голосов 143: ↑83 и ↓60+23
Комментарии280

Фреймворк Limb, версия 2010.1 RC2

Время на прочтение4 мин
Количество просмотров2.6K
С праздником, коллеги! А у нас тут подарок назрел. Ну или кара небесная. Пока не понятно. Если вкратце, то мы напряглись, собрались, сконцентрировались, и готовы представить на суд общественности новую версию нашего фреймворка Limb. Ну, правда, не совсем версию, а второй релиз-кандидат — 2010.1 RC2.

Для тех, кто не в курсе, Limb это PHP-фреймворк, ориентированный на быструю и гибкую разработку. Наши приоритеты/ гибкость — качество кода — скорость разработки.

Limb одним списком:
  • Парадигма — MVC
  • DependencyInjection — Toolkit(императивное инстанцирование)
  • Организация приложения — InterceptingFilter
  • ORM — ActiveRecord
  • DBAL — собственная реализация (MySQL 4.1+, SQLite, Oracle (OCI8), PostgreSQL 8.2+, Linter)
  • Шаблонизатор — Macro, WACT, Blitz и т.д.
  • Тестирование — на основе SimpleTest

Тем, кому не терпится порвать нас в клочья критикой и баг-репортами, прошу забрать код, вооружиться документацией и репортить, репортить, репортить.
Для остальных, подробности
Всего голосов 49: ↑40 и ↓9+31
Комментарии40

Изучаем английский с Anki

Время на прочтение1 мин
Количество просмотров214K
Anki — это программа для запоминания иностранных слов. Список её преимуществ перед аналогами впечатляет! Судите сами:
  • Широкие возможности по настройке вида карточек
  • Поддержка мультимедиа
  • Большое количество плагинов
  • Настройка алгоритма обучения
  • Подробная статистика
  • Поддержка большинства современных платформ (Linux, Windows, Mac, iPhone, Android, список можно продолжить!)
  • Синхронизация данных

И всё бы хорошо, да вот только благодаря таким обширным возможностям, в Anki может быть не так просто разобраться. Надеюсь, мой скринкаст вам в этом поможет.



Официальный сайт — ichi2.net/anki
Программу можно найти в Центре приложений Ubuntu.
Всего голосов 80: ↑74 и ↓6+68
Комментарии63

Getting Started with MongoDB and PHP

Время на прочтение18 мин
Количество просмотров62K
Generation Next
За последний год произошла небольшая революция в мире СУБД, связанная с появлением безсхемных (безструктурных) СУБД таких как Apache CouchDB. В этих базах данных используется другой подход нежели в реляционных БД. Они достаточно быстро становятся популярны среди Web-разрабочиков из-за своей гибкости, простоты и легкой интеграции с современными технологиями такими как JSON.
В данной статье изложен краткий обзор MongoDB, одной из новых поколений безсхемных СУБД, которая получила большое внимание разработчиков.
Let's get started!
Всего голосов 105: ↑96 и ↓9+87
Комментарии75

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность