Search
Write a publication
Pull to refresh
-11
0
spanasik @spanasik

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

Send message

Inotify или автоматизация рутинных операций с помощью incron

Reading time3 min
Views46K
До сих пор на хабре еще никто не упоминал о такой удобной подсистеме ядра linux, как inotify и использовании ее в автоматизации работы системного администратора. Хотелось бы восполнить этот пробел.

Что такое inotify


Inotify — это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе. Т.е. простыми словами — эта штука дает нам информацию о создании или изменении любого файла или директории в используемой файловой системе.
Inotify появилась в ядре аж в версии 2.6.13 и прошла проверку временем. Для ее использования написано несколько утилит, работу с одной из которых мы и рассмотрим.
Читать дальше →

Кешируем блоки HTML при помощи nginx

Reading time3 min
Views7.1K
Не секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).

Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.

продолжение

pv — маленькая, но очень полезная утилита

Reading time2 min
Views86K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →

Siege — утилита для нагрузочного тестирования веб-серверов

Reading time7 min
Views83K
Надеюсь, что данный материал будет кому-нибудь полезен.

Siege – это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы.

UPD: спасибо за плюсы, перенес в тематический блог.
Читать дальше →

Делайте грамотные сайты с API Яндекс.Спеллера

Reading time1 min
Views3.5K

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



Технология Яндекс.Спеллера применяется в Яндекс.Почте и в Яндекс.Баре. Инструмент содержит самый большой в Рунете словарь русского языка – 3,6 млн словоформ.

Анализ статистики употребления слов, лежащий в основе сервиса, помогает максимально точно проверять слова и выбирать варианты для подсказки. У Спеллера – очень широкий для интернет-приложений набор опций, благодаря чему вы можете выбрать удобные для себя настройки.

Одной из особенностей Спеллера, как и других API-инструментов Яндекса, является простота в использовании и управлении. Чтобы встроить на свой сайт веб-клиент, требуется выполнить несколько несложных действий.

Язык – живая система, поэтому в будущем функционал инструмента будет расширяться и дополняться.

Сделайте свой сайт не только интересным, но и грамотным.

Алексей Байтин и команда исправления опечаток

Жизненные советы от владельцев веб-студий: как повысить рентабельность и снизить риски. Часть 1

Reading time6 min
Views12K
Каждая веб-студия имеет собственные приемы и «фишки» при работе с заказчиком, которые позволяют ей минимизировать риски при разработке интернет-проекта и снижать издержки на каждом этапе работы. По роду своей деятельности в Юмисофт я часто общаюсь с владельцами веб-студий, и вот сейчас у меня наконец дошли руки, чтобы поделиться некоторыми интересными рецептами, услышанными в неформальных беседах. Надеюсь, они будут вам полезны :)
Читать дальше →

Использование OpenDNS для блокирования нежелательного контента в домашней сети

Reading time2 min
Views28K
Решил написать после прочтения топика «imhonet.ru + opendns».

OpenDNSЭто маленькая заметка со скринами о возможностях сервиса OpenDNS, с которыми очень многие не знакомы из-за недостатка времени на регистрацию и чтение на английском.

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

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

У вас будет партнер? Предохраняйтесь!

Reading time7 min
Views1.6K
Итак, вы решили, что не смотря на всю мудрость земли и предупреждения товарищей, вы начнете бизнес с партнером, который надежен, умен, трудолюбив и обладает прочими достоинствами не свойственными другим людям.
Как показывает опыт такие «интимные» связи часто заканчиваются губительно для одного из партнеров. Поэтому хочу поделиться некоторыми наработками в плане предохранения от некачественного партнерства.
Читать дальше →

Учебник по языку программирования Python (хабраиндекс)

Reading time1 min
Views314K

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

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

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.

Git Wizardry

Reading time17 min
Views452K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

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

Вышел GiftWrap 0.1

Reading time1 min
Views1.8K

Видео | Скачать


Что такое GiftWrap?


Ето программа для лёгкого создания пакетов для Убунты. Предназначена для разработчиков, дизайнеров, или просто обычного пользователя Убунты. В будущем будет поддерживать закачку на ППА, много разных типов пакетов, и так далее.
Читать дальше →

Git Workflow

Reading time6 min
Views120K

1 Вступление



В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


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

Системы рекомендаций: холодное начало

Reading time4 min
Views4.1K
Системы рекомендаций:
Советы от машины
— Холодное начало
Введение в гибридные системы
искусственные имунные системы и эффект идиотипов


Для успешного применения систем рекомендаций критически важно иметь большой объем справочных данных. Но что делать, если нужных данных совсем нет, или не достаточно? Такое состояние называется холодным началом (cold start). Например, на сайте зарегистрировался новый пользователь, и система еще ничего о нем не знает. Или в магазине появился новый товар, который никто никогда не покупал и не оценивал. Или совсем плохо, система только начала свою работу и данных у нее нет вообще. Посмотрим, что можно сделать в таких ситуациях.
Читать дальше →

// в ссылках

Reading time1 min
Views869
Нет мочи прятать такую красоту!

Вычитал на блоге товарища Bolk совершенно восхитительную штуку — описание Common Internet Scheme Syntax.

Вкратце, если Вам нужно, чтобы страница была видна как по HTTPS, так и по HTTP, но при этом Вам приходится использовать на этой странице ссылки с абсолютными путями, не пишите в ссылках на этой странице http или https — пишите "//"!

Браузер сам подставит текущую схему, будь то HTTP или HTTPS.

За более детальным описанием, я считаю, стоит прочитать саму запись в его блоге.

P.S. если захотите плюсовать, то плюсуйте Bolk!

Testcase

UPD: Нигма и Гугл говорят, что такие ссылки будут проиндексированы.
UPD2: Как справедливо заметил Bolk, в RFC 3986 такая нотация тоже описана в секции Relative Reference (http://tools.ietf.org/html/rfc3986#section-4.2)

Философская геометрия, Часть 2. Корень из трех и его практическое применение

Reading time2 min
Views11K
Сейчас я вам что покажу, закачаетесь. Обязательно загляните под кат, самые интересные картинки я припрятал там.

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

Сегодня я расскажу про замечательную пропорцию «корень из трех». Я покажу ее сакральный смысл, а под катом продемонстрирую пример из современного дизайна, который повергнет вас в шок ;)

Начнем с построения пропорции. Возьмем отрезок AB.



Примем его за радиус и построим окружность с центром в A.



Теперь построим вторую окружность с тем же радиусом, но с центром в B.



У нас получилась фигура ACBD, имеющая огромное значение для наших предков. Она называется Vescica Piscis (пузырь рыбы). Самый простой и важный пример — она давно является символом христианства.



Я продолжу под катом. Спорим, никогда не догадаетесь чем там все закончится :)

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

Лайфхак для сисадмина, когда не работает «ping ya.ru»

Reading time1 min
Views53K
Многие для проверки доступности интернетов используют простое и короткое «ping ya.ru», но что делать если не работает днс или недоступен сам ресурс ya.ru? Есть легко запоминающийся ip адрес одного из днс серверов.

ping 4.2.2.2

upd: перенесено в «системное администрирование»

5 Стилей принятия решений при проектировании. Какой выбрать?

Reading time6 min
Views5.3K
Перевод хабрапользователя kremien для сайта Usability.by

На заре электронной торговли наша компания изучала, как опытные туристы покупают в интернете походные ботинки. Мы изучали два сайта: L.L. Bean и REI. Оба сайта предлагали почти одинаковые модели ботинок, по одинаковой цене и с почти идентичным описанием товара. Однако, подавляющее большинство исследуемых нами покупателей, предпочло купить ботинки на сайте REI, а не на L.L. Bean.

Почему? Потому на фотографиях, что на сайте REI, были видны подошвы ботинок, тогда как на L.L. Bean показывали только внешний вид верхней части ботинка. Подошва – важный элемент выбора для опытных покупателей туристических ботинок. Для некоторых туристов, выбор подходящей подошвы является критичным. Опытным туристам было удобнее покупать ботинки на сайте, который информировал их о дизайне подошвы.

Нас очень заинтересовал вопрос о том, откуда команда проектировщиков REI знала о тонкости с предоставлением покупателям информации о подошве. Нашим предположением было, что они провели детальное исследование, экспериментируя с различными типами изображений товара, чтобы определить, какой из них наиболее стимулирует продажи. Когда мы связались с ними и рассказали о своих предположениях, они начали смеяться… Громко. Долго.
Читать дальше →

Обслуживание тысяч запросов в секунду на примере XBT Tracker

Reading time5 min
Views8.2K
Недавно проводили тест, результаты которого показали, что одно приложение обрабатывает 2000 запросов в секунду на скромном сервере, где это было не единственной нагрузкой. При этом результат каждого запроса записывается в 3-5 таблиц в MySQL. Честно говоря, меня такой результат удивил, поэтому решил поделиться с хабрасообществом описанием архитектуры этого приложения. Подобный подход применим от баннерных показов до чатов и микроблогов, надеюсь кому-нибудь покажется интересным.

Во-первых, это приложение однопоточное. Всё делается одним процессом, работа с сокетами — неблокирующими epoll/select, никаких ожидающих ввода/вывода потоков (threads). С развитием HTTP, сначала появлением Keep-Alive, затем AJAX и набирающим популярность COMET, количество постоянных соединений с веб-сервером растёт, на нагруженных проектах измеряется тысячами и даже десятками тысяч, и если для каждого создавать свой поток (thread) со своим стеком и постоянно переключаться между ними — ресурсов сервера очень быстро не хватит.

Второй ключевой момент — что один SELECT… WHERE pk in (k1, k2, ..., kN) выполняется быстрее, чем несколько SELECT… WHERE pk=… Выполняя работу с базой данных большими пачками можно уменьшить не только число запросов в секунду, но и общую нагрузку.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity