Как стать автором
Обновить
0
Карма
0
Рейтинг
전두환 @chonduhvan

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

  • Подписчики
  • Подписки

Пишем свой шаблонизатор на Python

Python *
Из песочницы
Наверняка многие из вас задумывались о том, как устроены шаблонизаторы, какого его внутреннее устройство и каким образом происходит преобразование в фрагменты HTML-кода, однако не догадывались о каких-то особенностях его реализации. Поэтому давайте реализуем упрощенную версию движка шаблонов и продемонстрируем как это работает «под капотом».
Читать дальше →
Всего голосов 45: ↑40 и ↓5 +35
Просмотры 21K
Комментарии 6

Правильная аналитика в мобильном приложении

Блог компании Touch Instinct Разработка под iOS *Разработка мобильных приложений *
Подавляющее большинство мобильных приложений выходит в свет без интегрированных фреймворков аналитики и без правильной их настройки. Это очень печально, приложение не веб-сайт, где можно воткнуть Google Analytics за 10 минут и собирать статистику.

Я вижу четыре причины для того чтобы задуматься над аналитикой в мобильном приложении ДО его выхода:
  • С первого раза никогда не получается сделать успешное мобильное приложение. После выпуска требуется анализ поведения настоящих пользователей в «бою».
  • Оценка эффективности рекламных кампаний невозможна без аналитики.
  • Две недели занимает выкладка iOs приложения, когда вы спохватитесь придется ждать аналитику около месяца.
  • Данные из прошлого не вернуть.

Под катом набор инструментов для аналитики и рекомендации по их настройке принятые в Touch Instinct и ценные комментарии от LinguaLeo и агентства мобильной рекламы Mobio.


Читать дальше →
Всего голосов 43: ↑38 и ↓5 +33
Просмотры 63K
Комментарии 28

Shodan – самый страшный поисковик Интернета

Информационная безопасность *
Перевод


«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

Читать дальше →
Всего голосов 199: ↑191 и ↓8 +183
Просмотры 680K
Комментарии 131

Мониторинг за изменениями файловой системы

Python *
В поисках готового велосипеда для решения задачи мониторинга за изменениями в ФС с поддержкой linux+freebsd наткнулся на приятную python либу watchdog (github, packages.python.org). Которая помимо интересных мне ОС поддерживает также MacOS (есть своя специфика) и Windows.
Тем, кому данный вопрос интересен и кого не отпугнет индийское происхождение автора, прошу
под кат
Всего голосов 39: ↑38 и ↓1 +37
Просмотры 31K
Комментарии 34

Hg Init: Часть 5. Процесс слияния

Системы управления версиями *
Перевод
Это пятая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Иногда при слияниях возникают конфликты. Обычно их легко разрешить. В любом случае их надо разрешить, или у вас будет несколько «голов». А кому это нужно?

Часть 5. Процесс слияния




Обеспечение слаженной работы нескольких людей над одним и тем же кодом — это важная функция системы контроля версий.

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

Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Просмотры 39K
Комментарии 21

Точка доступа на основе wi-fi карточки D-link DWA-520 (ath5k)

Настройка Linux *
Хотите получить wi-fi точку доступа из барахла которое завалялось в гараже? Тогда вам под кат т.к., сегодня мы будем собирать программную точку доступа (AP) на основе wi-fi карточки D-link DWA-520 на чипсете Atheros AR5001X+ (ath5k) и Ubuntu Server 9.04.

заинтересовало?
Всего голосов 41: ↑36 и ↓5 +31
Просмотры 14K
Комментарии 49

Временное переключение WIFI в режим точки доступа

Настройка Linux *
Представьте, что вы поехали в другую страну, у вас собой есть смартфон и вам очень нужно зайти с него в интернет (например синхронизировать контакты или поставить какой-то софт). Какие есть варианты?
— Первый вариант — это мобильный интернет. К сожалению, это не всегда просто и не всегда дёшево.
— Второй вариант — WIFI. Вам повезло, если вы можете подключиться к WIFI там, куда вы прибыли, и в этом случае задача уже решена.
— Третий вариант — LAN. А что если у нас есть только LAN? Самое простое — это захватить с собой из дома небольшую точку доступа, но что если вы её не взяли с собой или у вас её нет? В этос случае вам поможет случайно захваченный с собой ноутбук или нетбук :)

Имеем


— EeePC 901 с Ubuntu 10.10
— Смартфон
— Локальная сеть

Задача


— Получить доступ в сеть со смартфона используя WIFI
Читать дальше →
Всего голосов 66: ↑61 и ↓5 +56
Просмотры 34K
Комментарии 59

Grab — python библиотека для парсинга сайтов

Python *
Лет пять-шесть назад, когда я ещё программировал преимущественно на PHP, я начал использовать библиотеку curl для парсинга сайтов. Мне нужен был инструмент, который позволял эмулировать сессию пользователя на сайте, отсылать заголовки обычного браузера, давать удобный способ отсылки POST-запросов. Сначала я пытался использовать напрямую curl-расширение, но его интерфейс оказался очень неудобным и я написал обёртку с более простым интерфейсом. Время шло, я пересел на python и столкнулся с таким же дубовым API curl-расширения. Пришлось переписать обёртку на python.
Читать дальше →
Всего голосов 80: ↑79 и ↓1 +78
Просмотры 141K
Комментарии 51

Автономный роутер для 4G Мегафона

Беспроводные технологии *
Добрый день, коллеги!

Все началось с того, что я заказал себе планшет по одной из акций Тугезо. По спецификации планшет поддерживает внешний 3G, но информации о том, будет ли он работать с 4G-модемом от Мегафона, я не нашел. Планшет все еще в пути — но я уже думаю о том, как подружить его с 4G-сетью от Мегафона. Вариант решения предлагаю вашему вниманию.
Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 34K
Комментарии 18

Есть ли польза от кастомных ядер

Настройка Linux *
Многие слышали о различных оптимизированных и улучшенных ядрах, это — Zen Kernel и pf-kernel из известных мне. Кроме того, что они добавляют новые возможности (TuxOnIce, поддержка aufs), они могут улучшить производительность, благодаря улучшенному менеджеру задач (BFS) и планировщику (BFQ). В этом топике я хочу сравнить производительность pf-kernel со стандартными ядрами в Ubuntu и Arch Linux, а также описать процесс сборки и установки pf-kernel для Ubuntu. Тестировать Zen Kernel я не вижу особого смысла, т.к. во-первых, проект выглядит заброшенным, а во-вторых, набор патчей и там и там очень похожий.
Читать дальше →
Всего голосов 77: ↑71 и ↓6 +65
Просмотры 39K
Комментарии 62

Стреляем себе в ногу

*nix *
Доброго времени суток, уважаемые хабраюзеры!
Пришла в голову идея создать список способов «стрельбы в ногу» в *NIX.
  1. chmod -x `which chmod`
  2. rm * .o
  3. rm -rf $VAR/
  4. rm -rf --no-preserve-root /*
  5. rm -rf /usr /lib/nvidia-current/xorg/xorg — эпичный баг в bumblebee, который обеспечивает поддержку nvidia optimus
  6. find / home/user/domain/script.logs/files -ctime 7 -rm
  7. perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
  8. Русская рулетка:
    [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo «You're live»
  9. cat /dev/urandom > /dev/sda1
  10. rm /var/lib/btmp # После этого в openSUSE 11.4 не работает авторизация
  11. Fork Bomb:
    :(){ :|:& };:
  12. Замена шелла на невалидный (в современных версиях Linux не работает)
    chsh -s /usr/blin/sh; logout
  13. echo logout >> ~/.bashrc
  14. ssh server ifdown eth0
  15. Случайно нажимаем r вместо e:
    crontab -r
  16. sed -i -e 's#id:.:initdefault:#id:6:initdefault:#' /etc/inittab
  17. nohup '/etc/init.d/networking restart' & при interface 'auto'
  18. echo 'alias cd=false' >> ~/.bashrc
  19. ln -sf /bin/cat /bin/sh
  20. ln -sf /dev/urandom /etc/motd
  21. cat /dev/zero > /file
  22. ip ru flush
  23. tail /dev/zero
  24. sudo dpkg --remove --force-all libc6
  25. По SSH:
    iptables -I INPUT -j DROP
  26. echo c > /proc/sysrq-trigger

Читать дальше →
Всего голосов 214: ↑177 и ↓37 +140
Просмотры 5.7K
Комментарии 160

Оповещения из Nagios телефонным звонком

Системное администрирование *
Из песочницы
До сих пор кажется невероятным, что сервер может мне позвонить в случае проблем, но в действительности реализация оказалась даже проще, чем я думал. Своим решением спешу поделиться.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 9.2K
Комментарии 37

Кукушка на bash своими руками

Настройка Linux *
Из песочницы
Привет, %username%.

Для организации моей работы удобно видеть или слышать уведомления о том, что прошел час, полчаса и т.д. Это нужно мне для ориентации во временном пространстве и правильного планирования своей работы.
Поскольку у меня стоит Ubuntu, то и статья будет про то, как сделать такие уведомления стандартными средствами Ubuntu.

Читать дальше →
Всего голосов 47: ↑40 и ↓7 +33
Просмотры 23K
Комментарии 44

Множественные CSRF уязвимости в крупнейших порталах Рунета

Информационная безопасность *
Из песочницы
Простите мне заголовок в стиле Securitylab, но факт остается фактом.

Сначала я планировал написать о CSRF уязвимостях, которые я нашел в одном из крупнейших порталов Рунета. Но оказалось, что этим уязвимостям подвержен не только этот портал, а большинство крупнейших ресурсов. О найденных проблемах я сообщил в соответствующие компании полтора месяца назад. Сейчас у меня снова появилось время и я посмотрел, что же уже закрыто. Оказалось, что за полтора месяца была закрыта только 1 уязвимость.

Т.к. уязвимости ещё рабочие, я напишу только где их нашёл и как их можно использовать. Через неделю обещаю выложить работающие примеры для чайников — чтобы воспользоваться смогли школьники и домохозяйки. Кто не спрятался — я не виноват.

Нагнетаю интригу: я искал уязвимости в Яндексе, Рамблере, Mail.ru, Вконтакте, ЖЖ и на других популярных ресурсах. Если не терпится узнать где и какие уязвимости я нашел — сразу переходите к разделу «Список уязвимостей».

Для понимания обнаруженных уязвимостей понадобятся хотя бы базовые знания о том, что такое CSRF. Если их нет — не расстраивайтесь, ниже я попробовал доступно это объснить (правда, по-моему, не получилось). Если вы и так в курсе, что это такое, или же наоборот, не собираетесь в этом разбираться — смело переходите к результатам моего поверхностного аудита.

Для начала имеет смысл почитать Википедию. Если читать по-английски лень (на русском языке в Википедии почти ничего по теме нет, на Хабре тема освещена чрезвычайно слабо), а узнать что-нибудь хочется, то вот краткое содержание предыдущих серий описание этой уязвимости.

UPD: главный разработчие Liveinternet.ru не верит в существование CSRF. Раскрываю его уязвимости раньше обещанной недели. Здесь пример использования. Будьте внимательны, если у вас есть аккаунт в LiRu.

UPD 2: Работа уязвимости продемонстрирована, пример пока убрал.

UPD 3: Неделя прошла. Выкладываю работающие/работавшие примеры. Времени мало, поэтому пока не проверяю, что работает, а что нет. Буду признателен, если отпишете об этом в комментариях. Все вопросы, пожелания, предложения — в ответах к этому комментарию.
Рамблер, Mail.Ru, Liveinternet, Яндекс

Читать дальше →
Всего голосов 292: ↑285 и ↓7 +278
Просмотры 26K
Комментарии 150

Регулярные выражения для валидации распространенных видов данных

Разработка веб-сайтов *
Для проверки текстовых полей на валидность обычно используют регулярные выражения. Существует несколько наиболе распространенных видов таких даных, как например номер кредитки, дата в определенном формате и т. д. На сайте html5pattern.com собирается коллекция регулярных выражений для таких данных (там это позиционируется, как возможное содержимое html5-атрибута pattern у inpit-элементов, но эти регулярные выражения можно использовать и для привычной валидации с помощью javascript). Актуальные для российской аудитории примеры, вместе с соответствующими регулярными выражениями вы можете посмотреть под катом.
Читать дальше →
Всего голосов 133: ↑97 и ↓36 +61
Просмотры 410K
Комментарии 66

Продуктивная работа в vim с использованием snipMate

VIM *
Из песочницы
В этой статье я хочу рассказать об одном замечательном плагине для vim, который значительно ускоряет написание кода, вёрстку и редактирование текстов.

snipMate — позволяет быстро вставить в документ текстовый шаблон с помощью ключевого слова + <tаb> и предоставляет удобную навигацию по вставленному шаблону.
Читать дальше →
Всего голосов 45: ↑43 и ↓2 +41
Просмотры 9.4K
Комментарии 24

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Информационная безопасность *

Вопрос безопасности всегда будет актуальным, особенно в Сети. По этому, чтобы в один прекрасный день не получить на своем ресурсе такую картинку нужно уметь проверять на предмет уязвимостей себя самого.

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

У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.

В злых целях знания использовать не буду!
Всего голосов 189: ↑174 и ↓15 +159
Просмотры 36K
Комментарии 43

Создание расширения для Google Chrome

Google Chrome
Тема создания расширений достаточно хорошо раскрыта в сети, есть множество статей, документации на эту тему. Но я не нашел ни одного ресурса, который бы описал процесс создания расширения от начала до конца. Я собираюсь исправить эту ситуацию, и рассказать о том как создать расширение, как хранить, читать настройки, как добавить поддержку нескольких языков.

Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
Читать дальше →
Всего голосов 98: ↑93 и ↓5 +88
Просмотры 115K
Комментарии 28

Бюджетная маркерная доска

DIY или Сделай сам
Что такое маркерная доска и с чем ее есть, наверное, в курсе уже все. И этот пост — о варианте самодельной доски. Сделать такую штуку в нашем офисе меня сподвиг офис Яндекса, с их стенами, обклеенными пленкой, по которой можно писать маркером. Не прошло и месяца, как я решил
исполнить желание...
Всего голосов 163: ↑148 и ↓15 +133
Просмотры 75K
Комментарии 105

Настройка почты для отладки mail-функций разрабатываемых приложений на Ubuntu

Настройка Linux *
Здравствуйте!

Недавно купил новый ноутбук (старый стал совсем старый). Установил на него Ubuntu (почему удалил другую ОС, сначала описал, но потом стёр, чтобы не было флейма и холивара).

Для того, чтобы работала отправка почты из PHP и всего остального, нужен MTA. Я пользуюсь Synaptic для установки большинства программ, и в нём Postfix отмечен логотипом Ubuntu (что означает, что он является MTA по умолчанию), поэтому, без долгих раздумий, поставил Postfix. При установке с помощью синаптика вылезает окошко конфигурирования Postfix, я выбрал выриант localhost only.

Когда дошёл до момента тестирования одной функции в PHP приложении, связанной с отправкой почты, случился курьёз. Тестирую с копией живой базы, и, после отправки письма, оно, естественно, было отправлено MTA по назначению, от чего уже отвык под Windows, где использовал Courier Mail Server (кстати, очень маленький и удобный). Конечно, сразу извинился перед человеком, которому ушло письмо.

В связи с чем возник вопрос: как настроить почту, чтобы она не уходила за пределы localhost, либо уходила на определённый локальный ящик?
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 9.4K
Комментарии 23

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность