Search
Write a publication
Pull to refresh
20
0
Send message

Руководство АНБ по безопасной конфигурации Linux-сервера

Reading time1 min
Views18K
Агентство по национальной безопасности США опубликовало новую версию 200-страничного руководства (PDF) по безопасной конфигурации Red Hat Enterprise Linux 5. Это весьма подробный мануал, который объясняет принципы защищённой системы и на практике указывает все необходимые настройки и перечень сервисов, которые обязательно нужно отключить (это один из базовых принципов: минимизировать количество софта).

Есть и что-то вроде шпаргалки на листе A4, тоже очень удобно.
Читать дальше →

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

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

Haskell без монад

Reading time10 min
Views7.2K
Любой программист, изучающий haskell, рано или поздно встречается с таким непостижимым понятием как монада. Для многих знакомство с языком заканчивается монадами. Существует множество руководств по монадам, и постоянно появляются новые (1). Те немногие, кто понимает монады, тщательно скрывают свои знания, объясняя монады в терминах эндофункторов и естественных преобразований (2). Ни один опытный программист не может найти монадам место в своей устоявшейся картине мира.

В результате java-программисты только посмеиваются над хаскелем, не отрываясь от своего миллионострочного энтерпрайзного проекта. Разработчики на С++ патчат свои сверх-быстрые приложения и придумывают ещё более умные указатели. Веб-разработчики листают примеры и огромные спецификации по css, xml и javascript. А те из них, кто в свободное время изучает haskell, сталкивается с труднопреодолимым препятствием, имя которому монады.

Итак, узнаем как программировать на хаскеле без монад.
Читать дальше →

Планирование и обслуживание Wi-Fi-сетей

Reading time5 min
Views42K
TamoGraph

На гребне радиоволны


Казалось бы, что после ратификации стандарта 802.11n в индустрии Wi-Fi должно наступить относительное затишье: спецификации утверждены, сертификация устройств идет полным ходом, корпоративный и домашний рынки насыщены сотнями беспроводных устройств, офисы в массовом порядке прощаются с витой парой и переходят на уже вполне зрелую беспроводную технологию, и все эти технологические радости, не покладая рук, обеспечивают китайские рабочие. Но затишья, конечно же, не наступило. На рынке идет суровая борьба за сердца и кошельки IT-отделов.
Читать дальше →

Как работать «в потоке»? Нужны всего 3 ресурса

Reading time5 min
Views120K

Знакомо ли вам такое состояние, когда вы настолько увлечены идеей, что полностью погружаетесь в процесс ее реализации, забывая о времени и окружающем мире? А завершив, испытываете радость и даже счастье? Значит, у вас есть опыт потоковых состояний – особых ресурсных состояний сознания, когда все внимание сфокусировано на цели, и в результате замечательные идеи рождаются сами собой, и время концентрируется, вмещая гораздо больше, чем в обычном состоянии.
Тема эффективности потоковых состояний для работы и творчества уже несколько раз поднималась на Хабре, и в этой статье мы хотим обсудить практическую часть – что необходимо для того, чтобы вызывать это состояние «на заказ»?

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

Inter-domain Routing Loops

Reading time4 min
Views28K
Редистрибуция маршрутов (route redistribution) – особая и горячо любимая экзаменационная тема Cisco. Свойства технологий таковы, что помимо хорошо известных нам петель маршрутизации (routing loops) в пределах одного домена/зоны существуют также петли между несколькими зонами в случае использования OSPF, а также петли между доменами в случае редистрибуции маршрутов из домена с одним протоколом маршрутизации в домен с другим.



Я не нашел определения им ни в одном стандарте, потому буду называть их inter-domain routing loops. До недавнего времени эта особенность была обязательным элементом CCIE Lab Exam, но после обновления CCNP стала частью курса Route.
Читать дальше →

Пишем LR(0)-анализатор. Простыми словами о сложном

Reading time10 min
Views28K

Введение



Добрый день.
Не нашел простого и внятного описания данного алгоритма на русском языке. Решил восполнить сей пробел. Прежде всего что это такое? LR(0)-анализатор в первую очередь это синтаксический анализатор. Цель синтаксического анализатора обработать входной поток лексем(базовые элементы языка, которые производит лексический анализатор на основе входного потока символов, примеры лексем — число, запятая, символ) и сопоставить его с описанием языка заданного в определенном формате. Сопоставление заключается в построении определенной структуры данных, чаще всего — дерева. Дальше эта структура пойдет на следующий этап — семантический анализ, где уже компилятор пытается понять смысл, заключенный в дереве.

Существует 2 класса синтаксических анализаторов — восходящие анализаторы и нисходящие. Первые строят дерево начиная с листьев, которые являются входными лексемами, вторые соответственно наоборот начинают с корня дерева. Собственно LR и значит то, что анализатор будет читать поток слева направо (L — 'Left') и строить дерево снизу вверх (пусть не смущает буква R, которая значит Right, объяснения даны чуть ниже). Индекс 0 обозначает то что мы не предпросматриваем следующие лексемы, а работаем только с текущей. Какие же плюсы даёт нам выбор этого типа анализаторов?
  • Он быстр.
  • Покрывает множество языков. То есть если вы придумали язык и описали его, то с большой долей вероятности LR-анализатор его сможет обработать.
  • Синтаксические ошибки обнаруживаются так быстро как это возможно. Сразу же как встречается символ, который не соответствует предыдущему входному потоку, мы можем вывести ошибку об этом.

Есть и недостатки:
  • Относительная сложность построения.
  • Можно вогнать анализатор в ступор неоднозначностью описания языка.


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

Ускоряем базу данных веб-сайта

Reading time19 min
Views119K
Скорость загрузки веб-сайтов всегда была важной темой, но стала еще более актуальной с апреля 2010 года, когда Google стал учитывать её при ранжировании сайтов в поисковой выдаче. Однако, основной уклон, как правило, делался на уменьшении размера файлов, оптимизации параметров сервера, CSS и Javascript.
Также имеет место еще один немаловажный фактор. Это скорость, с которой веб-страницы формируются на сервере. Большинство крупных современных сайтов хранит всю информацию в базах данных и используют различные языки (например, PHP или ASP) для её извлечения, формирования HTML-страницы и отправки её браузеру.
Читать дальше →

Большому адронному коллайдеру – 20 лет

Reading time1 min
Views2.9K
В 1991 году вышла игра Another World об ученом Лестере Чайкине, который в результате эксперимента по ускорению частиц попал в другой мир.

В детстве эта игра воспринималась как нечто удивительное благодаря продуманному сюжету, великолепной векторной графике, видеовставкам, музыке и технологии прорисовки с использованием ротоскопирования. Кроме прочего, все это чудо помещалось на 5-дюймовую дискетку объемом 1,2МБ.

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

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

Быстрый старт в MODX Revolution

Reading time4 min
Views61K
Revolution дорос уже до версии 2.0.8, но большинство разработчиков не спешит его использовать, так как документация еще не полная, да и статей на русском очень мало.
Лично я не нашел ни одной пошаговой инструкции «для чайников», и поэтому решил написать ее сам.

Конечно, это топик для не «совсем чайников», а для людей, которые хоть немного знакомы с Evolution и при переходе на Revolution обломались от всего непривычного, как я. Никаких секретов и ловких методик тут не будет. Обычный how-to с картинками (их довольно много).
Читать дальше →

Мониторинг погоды или Cacti HowTo

Reading time5 min
Views14K
Этот пост можно было б начать по разному. Можно по делу: как необходима система мониторинга для поиска ошибок системы и как она помогает обнаружить узкие места. Но, сейчас лето, время отдыха на природе, и начну с того, как я решил узнать, как же часто менятеся прогноз погоды, с помощью популярного средства мониторинга Cacti. Под катом, о любопытный читатель!, тебя ждут рассказы о том как настроить мониторинг произвольных данных в Cacti, да не просто, а с картинками.

итак...

Откуда берутся NaNы?

Reading time3 min
Views5.2K
Пользователь yruslan опубликовал хорошую статью про арифметику с плавающей запятой: «Что нужно знать про арифметику с плавающей запятой».

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

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

Тайм-менеджмент — это действительно просто

Reading time3 min
Views12K
Сначала они не замечают тебя, потом смеются над тобой, потом борются с тобой. А потом ты побеждаешь.
Махатма Ганди

Эффективность направлена на максимальное приближение к цели, рациональность — на максимально экономное выполнение процесса.
Тим Феррис

Был очень рад прочитать сегодня статью «Тайм-менеджмент: эволюция». Человек рассказал, что и как получилось. Хочу рассказать немного о том, почему, на мой взгляд, так произошло.

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

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

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

Итак, я считаю, нужно уметь делать следующее:
  • Не делать ненужные вещи (принцип Парето), на каждую задачу смотреть под углом, как ее не делать, как отложить ее решение, или как передать другому;
  • Выделять нужные вещи. На практике часто нельзя поставить приоритеты 1,2,3 — поэтому нужно составить список нужных вещей, затем отфильтровать с точки зрения отказа от каждой задачи;
  • Делать до конца одну-две нужные (читай, важные) вещи в день, и делать эффективно. Значит, научиться оценивать свою эффективность и постоянно ее повышать, доводя каждую задачу до логического конца.

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

PostgreSQL: аналитика для DBA

Reading time4 min
Views36K
Многие пользователи СУБД PostgreSQL знают, что сервер во время своей работы собирает разнообразную статистику, но не все знают, что ее полезно анализировать и как ее извлекать для этого. В этом небольшом тулките собраны несколько полезных запросов, дающих некоторое представление о том, как использовать это «скрытое знание», которое постоянно копится. Эти запросы можно использовать для мониторинга состояния PostgreSQL (ручного или с помощью плагинов для систем мониторинга вроде Nagios, Cacti или Zabbix), для поиска узких мест в работе сервера и многих других подобных задач. Помните, что это лишь верхушка айсберга; в документации можно найти описания нескольких десятков системных представлений, которые также могут быть полезны администратору PostgreSQL.
Читать дальше →

HowTo: Cacti 0.8.7g + Plugin Architecture 2.9 + Spine 0.8.7g на CentOS 5.5 i386

Reading time6 min
Views15K
cacti
Cacti — Веб-приложение которое поможет Вам мониторить состояние вашего сервера, CISCO и всего что может отдавать данные по SNMP протоколу. Вы сможете наблюдать за загрузкой CPU сервера, видеть на графике среднюю загрузку памяти за период времени, количество DNS запросов приходящих на сервер, количество писем (спама) приходящих на почтовый сервер. Сможете мониторить среднюю нагрузку на сеть в рабочие часы и многое другое.

Cacti Plugin Architecture — дополнение для Cacti расширяющее возможности стандартного пакета путем включения функции установки стороних плагинов.

Spine — быстрый и качественный поллер для Cacti написанный на C. Используется взамен стандартного поллера, идущего в стандартной инсталляции Cacti, cmd.php.

Показательная, базовая установка Cacti с прибомбасами на CentOS 5.5 i386. Многие элементы настройки защиты веб-сервера игнорируются, ввиду тестовой инсталляции.Все действия будут выполняться под рутом.
Приступим

Атака на отказ в обслуживании методом slow HTTP POST

Reading time5 min
Views42K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

Условия Startup Visa упрощаются

Reading time2 min
Views943


Когда год назад американские сенаторы представили проект Startup Visa, новость вызвала смешанную реакцию. С одной стороны, специальная виза для основателей стартапов из других стран — безусловно, хорошо. Теперь им гораздо легче будет перебраться в Америку и получить венчурное финансирование. С другой стороны, минимально необходимая сумма венчурных инвестиций $250 000 делала эту визу недоступной для абсолютного большинства российских основателей интернет-стартапов.

Приятно знать, что разработчики законопроекта прислушались к критике интернет-сообщества и согласились внести изменения. Самая приятная новость, что теперь визу стало легко получить иностранным студентам, которые заканчивают обучение в США.
Читать дальше →

Тренинг нестандартных поступков: как сделать работу продуктивнее

Reading time4 min
Views40K
Тот факт, что нестандартные поступки помогают саморазвитию, думаю, далеко не новость для хабрасообщества и особенно для читателей блога GTD. В топике тема раскрывается несколько полнее, плюс есть примеры того, что стоит делать для того, чтобы хорошо себя чувствовать и легко работать со свежим умом и острым вниманием.

Чтобы хорошо работать, важно быть победоголиком (о чём регулярно упоминается в разных Success Stories и книгах по мотивации). Каждая победа — это доказательство себе своих сил, фиксация на дальнейший успех, улучшение настроения и состояния. А ещё — выстраивание новых нейронных связей и много-много развития.

Грубо говоря, это работает так: когда вы побеждаете, мозг запускает процессы стимуляции, закрепляя на низком уровне тенденцию к успеху.

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

Information

Rating
Does not participate
Registered
Activity