Как стать автором
Обновить
0
0
Руслан @pupsor

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

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

Генератор текста на основе триграмм (python)

Время на прочтение10 мин
Количество просмотров37K
В данной статье описывается как сгенерировать псевдотекст на основе триграммной модели. Полученный текст вряд ли возможно где-либо использовать, тем не менее это неплохая иллюстрация использования статистических методов обработки естественного языка. Пример работы генератора можно посмотреть здесь.

Сухая теория


И так, наша задача сгенерировать текст. Это значит, нам нужно взять слова и выстроить их в определенном порядке. Как определить этот порядок? Мы можем пойти следующим образом: построить фразы, наиболее вероятные для русского языка. Но что значит вероятность фразы языка? С точки зрения здравого смысла это бред. Тем не менее, эту вероятность можно задать формально как вероятность возникновения последовательности слов в неком корпусе (наборе текстов).
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии35

Автоматическая отсылка анонсов в твиттер

Время на прочтение3 мин
Количество просмотров784
Недавно, при работе над проектом на Джанго, понадобилось автоматически отправлять в твиттер заголовок и укороченную ссылку для публикуемых статей от имени пользователя.

Как оказалось, делается это совсем несложно.

Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии32

Материалы продвинутого уровня по Питону

Время на прочтение5 мин
Количество просмотров44K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Всего голосов 136: ↑133 и ↓3+130
Комментарии23

Python: советы, уловки, хаки (часть 1)

Время на прочтение8 мин
Количество просмотров264K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии67

Если пришла проверка

Время на прочтение5 мин
Количество просмотров45K
Первоначально необходимо выяснить цель визита и полномочия сотрудников на совершение определённых действий. Данные полномочия могут быть выражены в различных документах (постановлениях начальника органа дознания, суда, следователя, дознавателя) в зависимости от того, каким законом регламентированы их действия (доследственная проверка в рамках ст. 144, 145 Уголовно-процессуального кодекса РФ или деятельность в рамках Законов «О милиции», «Об ОРД»).

Читать дальше →
Всего голосов 168: ↑165 и ↓3+162
Комментарии176

Всем по сообщению

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

Идущее в поставке с Django приложение аутентификации и авторизации (django.contrib.auth) всегда включало базовый функционал для отображения всплывающих сообщений пользователю, но он имел несколько досадных недостатков. В Django 1.2 же теперь есть совершенно новый фреймворк для таких сообщений, написанный в первую очередь Тобаясом Макналти (Tobias McNulty).

Читать дальше →
Всего голосов 66: ↑60 и ↓6+54
Комментарии12

Chef или как управлять тысячей серверов

Время на прочтение10 мин
Количество просмотров73K
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии26

Отладка в Django

Время на прочтение4 мин
Количество просмотров29K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.
Всего голосов 54: ↑53 и ↓1+52
Комментарии32

Объединяем twitter.com и vkontakte.ru

Время на прочтение8 мин
Количество просмотров6.7K
Пользуетесь ли вы twitter’ом? Если ответом является «Да», то милости просим под кат, где будет рассказано про способ автоматического репостинга сообщений из twitter’а в статус сообщения на сайте vkontakte.ru используя python.
Мне интересно
Всего голосов 99: ↑68 и ↓31+37
Комментарии90

Развертывание сайта на Джанго, используя FastCGI

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

От переводчика


Данную статью я прочитал на Django Advent приуроченному к уже скорому выходу Django 1.2 и она показалось мне настолько интересной, что я решил ее перевести. Далее текст статьи.

Когда разрабатываешь сайт на Джанго, так легко просто открыть консоль и напечатать:

python manage.py runserver

С этой простой командой управления ваши медиа файлы админки сайта поддерживаются правильным образом, PYTHONPATH правильно настроен и включает корневую папку нашего проекта, а так же запущен автоматически перегружающийся веб-сервер на указанном нами порту (от переводчика: по умолчанию порт 8000). Так просто!

Не удивительно, что люди так разочаровываются, когда приходит время положить их сайт на боевой сервер: существует так много шагов в этом процессе и поэтому сложно все их выучить и сделать все правильно. Неудивительно, что вся эта сложность приводит к тому, что написано много статей о развертывании веб-сайта на Джанго. Но почти все из этих статей фокусируются на развертывании сайта используя Apache и mod_wsgi или mod_python.

Однако иногда Apache не идеальное решение. Может быть ваш VPS имеет только 256 МБ памяти, а может быть вы хотите избежать сложности настройки Apache при установке. Или может быть вам просто не нравиться Apache. По любой из этих причин мы можем обратить свое внимание на FastCGI.
Читать дальше →
Всего голосов 63: ↑51 и ↓12+39
Комментарии35

Видео уроки по бодибилдингу и фитнесу или расфасовка информации с помощью DLE

Время на прочтение2 мин
Количество просмотров1.7K
Всем привет!

Хочу рассказать о своем первом мини-проекте, о сборнике видео по бодибилдингу и фитнесу.
image

Предыстория


После пары лет занятий в тренажерном зале и наблюдений во время тренировок за окружающими коллегами, были сделаны выводы, что очень многие допускают серьезные ошибки в технике выполнения упражнений, особенно новички. Я и сам поначалу допускал грубые и не очень ошибки, которые выливались в зря потраченное время, силы, деньги и некоторые травмы. Как этого избежать?
Читать дальше →
Всего голосов 177: ↑142 и ↓35+107
Комментарии70

«Завтра я перестану откладывать дела на завтра»

Время на прочтение4 мин
Количество просмотров8.6K
Промедление — это то, чем мы занимаемся каждый день:
  1. «Мне завтра нужно сдать курсовую, которую я еще не начинал, но, чтобы сконцентрироваться, мне сейчас надо отдохнуть и попить кофе»
  2. «Я хочу начать бегать по утрам, но сначала мне нужно сдать сессию и найти хорошую работу, которая обеспечит мне стабильность и уверенность»
  3. «Перед тем, как начать работать, мне нужно ответить на 11 писем и поговорить с друзьями по аське о летней поездке в Испанию, чтобы не отвлекаться в течение дня»

Читать полностью
Всего голосов 151: ↑143 и ↓8+135
Комментарии92

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Время на прочтение7 мин
Количество просмотров67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

Ваш сайт будет правильно индексироваться во время атаки, что позволит сохранить позиции в выдаче поисковых систем. Особенно актуально для сайтов с большими SEO бюджетами.

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии78

MonIT + M\MonIT = простой и бесплатный мониторинг нескольких серверов

Время на прочтение4 мин
Количество просмотров23K
Возникла задача мониторинга нескольких серверов, находящихся в разных ДЦ, имеющих разные ОС и ПО.

ТЗ получилось примерно такое:

  1. Мониторинг системы (cpu, mem, load average, bandwidth).
  2. Мониторинг состояния сервисов (запущен или нет).
  3. Мониторинг функционирования сервисом (отвечает на запросы корректно или нет).
  4. Контроль потребляемых сервисами ресурсов и общего их состояния.
  5. Централизованая «админка» для всей этой радости.
  6. Уведомление по email, самостоятельное исправление проблемы (например рестарт упавшей службы).


Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии35

monit — наблюдатель за системными процессами

Время на прочтение7 мин
Количество просмотров93K
Теория

Monit — самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть «старший брат» — коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста — для одиночного сервера используем Monit, для большой сетевой фермы — MMonit.

Узнать больше
Всего голосов 51: ↑44 и ↓7+37
Комментарии31

Универсальная система мониторинга Zabbix — введение

Время на прочтение4 мин
Количество просмотров420K
LogoВ любой сети, где есть больше, чем один сервер, очень полезно бывает иметь перед глазами полную картину происходящего. В крупных сетях, где количество хостов переваливает за несколько десятков, следить за каждым в отдельности — непосильная задача для администраторов. Для облегчения задачи наблюдения применяются системы мониторинга, и я расскажу об одной из них, которой на Хабре не посвящено ни одной полноценной статьи.

И так, встречайте: Zabbix.
И что он из себя представляет?
Всего голосов 47: ↑40 и ↓7+33
Комментарии74

Приводим фонотеку в iTunes на нашем Mac OS в порядок

Время на прочтение2 мин
Количество просмотров7.5K
Подарив своей Любимой Nokia 5800 XM и зная, что она очень любит слушать музыку осознал одну неприятную особенность – большая часть песен не имеет не то что обложки альбома, но и просто названия песни.

Скажи хабрачеловек, часто ли тебе приходилось наблюдать нечто бесформенное в своем play-листе?



Согласитесь, зрелище не из приятных.
И у каждого возникала необходимостью исправить это безобразие.
Как это сделать
Всего голосов 137: ↑104 и ↓33+71
Комментарии91

GPFS. Часть 1. Создание GPFS кластера

Время на прочтение9 мин
Количество просмотров24K
GPFS (General Parallel File System)

После одной из моих последних статьей на хабре про серверную оптимизацию мне прислали множество вопросов про распределенные файловые системы. И теперь я нашел в себе силы и возможности написать про замечательную кластерную файловую систему GPFS.

Описание тестовой лаборатории:
  • Сервер виртуализации Xen. Dom0 под SLES11
  • 3 Xen DomU виртуальных сервера под quorum-ноды с двумя дополнительно проброшенными блочными устройствами
  • 2 Xen DomU виртуальных сервера под client-ноды

Тестовый стенд, основанный на технологии Xen, крайне удобен, ибо позволяет на ходу подцеплять/отцеплять диски от виртуалок, добавлять в них память и процессоры.

Подробнее в примерах
Всего голосов 54: ↑44 и ↓10+34
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Los Angeles, California, США
Дата рождения
Зарегистрирован
Активность