Pull to refresh
48
0
Алексей @intnzy

User

Send message

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Views451K

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

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

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

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →

Сервис для более эффективного пополнения запаса английских слов

Reading time2 min
Views49K
Добрый день!

Я хочу представить небольшой сервис, который создан, чтобы помочь в эффективном пополнении словарного запаса для английского языка:

image

Если коротко, работает он следующим образом.

1. Вы загружаете текст, который хотите прочитать. Это может быть URL статьи из интернета, книга или статья в pdf, doc, txt, ps или субтитры.

2. Система строит статистику слов и отображает слова, отсортированные по частоте употребляемости в тексте. Предварительно к словам применяется лемматизация (т. е. слова make и made будут считаться идентичными).

3. Вы отмечаете знакомые слова, а также слова, которые надо изучить.

4. Вы печатете слова, которые необходимо изучить, в удобном для вас формате (в том числе, с коротким англо-русским переводом, т. е. не полную словарную статью).

А теперь чуть подробнее

Онлайн-курсы Stanford University, Berkley и MIT в доступном виде

Reading time2 min
Views54K


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

Пример такого поста: habrahabr.ru/post/139542

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

Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.

Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
Читать дальше →

Учимся писать userscript'ы

Reading time7 min
Views294K
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

Внимание: предполагается минимальное знание javascript.
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.
Поехали!

Подсветка синтаксиса в VIM: полное погружение

Reading time6 min
Views49K
VIM примечателен тем, как просто и гибко его можно настраивать. В этой статье я подробно опишу, как легко и просто можно создавать собственные правила подсветки синтаксиса на различных примерах.

Да, на хабре об этом уже была cтатья, однако в ней тема была рассмотрена очень уж поверхностно, а я постараюсь разобраться в этом подробно. Будут рассмотрены от самых простых примеров, включая улучшения подсветки html для подсветки тэгов хабраразметки, до создания подсветки для полноценных языков программирования, с «контекстно-зависимой» подсветкой синтаксиса.
Кого заинтересвало, прошу читать далее

Техническое задание на сайт

Reading time11 min
Views699K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв

Определение страны по IP: тестируем скорость алгоритмов

Reading time4 min
Views36K
Для определения страны по IP необходимы специальные базы данных, состоящие из диапазонов IP адресов и соответствующих им стран. Обычно такие базы данных распространяются в виде CSV или SQL файлов для использования в СУБД, либо бинарных файлов специального формата.

Для проведения тестирования была выбрана февральская база GeoLite Country, бесплатная версия GeoIP Country от MaxMind.

В тестировании приняли участие несколько популярных решений и мой «велосипед» на эту тему.
Читать дальше →

Изучение иностранных языков: живые учителя или интернет?

Reading time4 min
Views74K


— Феденька, ты очень интеллигентный мальчик, ты мне очень нравишься, но Я БУДУ СТАВИТЬ ДВА В ГОДУ!!! — визжала моя школьная учительница по французскому и делала примерно такое лицо.

Моя школьная учительница по английскому языку делала другое лицо:
Читать дальше →

Домашний медиа-сервер: настройка и аспекты применения

Reading time6 min
Views256K

Преамбула


Наверное, у каждого из нас дома немало цифровых медиа-устройств, общающихся по WiFi или подключённых к сети с помощью обычной витой пары. У меня, к примеру — КПК, нетбук, пара ноутбуков, пара компьютеров и ещё пара смартфонов. Последние (парочка Nokia 5800 Xpress Music), благодаря тому, что даже в ванной или в постели постоянно находятся под рукой, оказались самыми часто используемыми девайсами. Благо и серфинг, и общение через GTalk/Skype, и простенькие игрушки-убийцы времени — всё доступно. Вот только памяти у девайсов всего по 8 Гб, так что фильмов туда не шибко накидаешь, да и конвертировать, а потом заливать на смартфон каждый фильм — на это нужно время, а ведь есть ещё такая штука, как лень! Одним словом, захотелось иметь возможность как-то просматривать медиаконтент (и в первую очередь — видео) с домашнего сервера в любой момент, не конвертируя и не совершая лишних телодвижений.
Читать дальше →

Почему в WiMax и LTE используют OFDM

Reading time18 min
Views124K


Аббревиатура OFDM расшифровывается как Orthogonal frequency-division multiplexing. В русскоязычной литературе встречается несколько различных переводов, несущих, в принципе, один смысл: OFDM — это механизм мультиплексирования (уплотнения) посредством ортогональных поднесущих.



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





Иллюстраций: 18, символов: 27 399, строк кода: 99.



Читать дальше →

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →

Прозрачное кэширование в nginx для всех и каждого

Reading time2 min
Views115K
Представим, что у нас есть сайт, на который регулярно дают ссылки с хабра.
Нам нужно подготовить его к резким всплескам посещаемости. Как это сделать?

С версии 0.8.46 в nginx появились опции, позволяющие легко и просто настроить прозрачное кэширование для анонимных пользователей.

Для работы этой схемы от сайта требуется очень мало: достаточно лишь не начинать сессию, то есть не отправлять сессионную куку, без явной на то необходимости. Редкий сайт нельзя довести до такого состояния, а значит большинство сайтов можно защитить от резких всплесков посещаемости с помощью nginx с минимальными затратами сил и времени.

Читать дальше →

Использование событий MySQL на практике

Reading time3 min
Views68K
how does events workДля тех, кто активно пользуется MySQL, не секрет, что начиная с версии 5.1, MySQL поддерживает события (events). Если вам нужно выполнять запросы или отдельные процедуры по расписанию, а перейти с запуска консоли на встроенный функционал MySQL было лень не было времени,
добро пожаловать под кат

NUMA и что про него знает vSphere?

Reading time4 min
Views25K
Я думаю, многие уже успели заглянуть и прочитать эту статью на английском в моем блоге, но для тех кому все таки комфортней читать на родном языке, нежели иностранном (как сказали бы на dirty.ru – на анти-монгольском), я перевожу очередную свою статью.

Вы уже наверняка знаете, что NUMA это неравномерный доступ к памяти. В настоящий момент эта технология представлена в процессорах Intel Nehalem и AMD Opteron. Честно говоря, я, как практикующий по большей части сетевик, всегда был уверен, что все процессоры равномерно борются за доступ к памяти между собой, однако в случае с NUMA процессорами мое представление сильно устарело.
Читать дальше →

Обзор e-Learning трекеров или Век живи — век учись!

Reading time3 min
Views30K
Все чаще можно услышать про универсальных трекеров-монстров типа ThePirateBay.org, torrents.ru или упоминания трекеров музыкальной либо игровой тематики. Но помимо них давно существуют торрент-трекеры обучающей направленности, о которых мало что известно рядовому пользователю. В основном, это закрытые сообщества образованных людей с регистрацией по приглашениям, которые обмениваются обучающими материалами, будь-то электронные книги, обучающее видео, CBT (computer based trainings), аудио-книги, презентации с конференций или софт для обучения. Преобладающая часть материалов связана с ИТ-технологиями и поэтому будет особенно полезна ИТ-специалистам, от студента, изучающего Linux, PHP или C# и до гуру, который готовится к сдаче CCIE. Также присутствует материал, посвященный изучению иностранных языков, психологии, саморазвитию, соблазнению, развитию бизнес-навыков. Если ты подумываешь сдать на CCNA, MCSE, RHCE, CISSP, Network+, PMP, IELTS/TOEFL и так далее — то здесь можно найти все необходимое и даже больше. Под катом находится обзор англоязычных ресурсов обучающей направленности.
Поехали!

Маркировка кабелей

Reading time6 min
Views122K
В этой статье:
  • подготовка таблицы коммутаций;
  • варианты маркировки (что наносить на кабели);
  • обзор методов нанесения маркировки;
  • пример работы с одним из методов, включая макрос и шаблон для распечатки.
Читать дальше →

Apache 2 под наблюдением. Мониторинг загрузки системы веб-сервером

Reading time5 min
Views26K

Apache 2 под наблюдением



Вступление


Уже написано немало постов на просторах интернета, о мониторинге веб-сервера Apache. При вводе такой фразы, как «мониторинг нагрузки apache» в строке поиска Google, результаты поиска указывают на полезнейший модуль mod_status. А также о еще большей полезности этого модуля в сочетании с perl-расширениями. А если еще и немного пропатчить эти perl-расширения — то вообще супер система получается. Но настроив такую систему — системный администратор на этом, как правило, не останавливается, ему уже необходимо история нагрузки по серверу в целом, потом по каждому хосту, а далее и с точностью до скрипта. И чтоб потом сравнить можно было, а как раньше было, а как теперь нагрузка распределяется.
И вот здесь на помощь может прийти модуль для веб-сервера Apache — mod_performance.
Читать дальше →

Linux HA на основе Pacemaker

Reading time5 min
Views126K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →

Кое-что о Wi-Fi

Reading time7 min
Views306K
Недавно побывал на конференции на тему “Построение беспроводных сетей”. Не смотря на то, что довольно длительный период работаю администратором, мне не каждый день приходится разворачивать беспроводные сети. Спешу с вами поделиться некоторыми нюансами. Всех заинтересованных приглашаю под кат.

image
Читать дальше →

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity