Search
Write a publication
Pull to refresh
5
0
Дмитрий @horridum

Архитектор, инженер-разработчик, админ

Send message

Как заставить Apache работать или как я реализую создание миниатюр изображений в своих проектах

Reading time5 min
Views9.2K
Здравствуйте, хабровчане.

Занимаясь созданием различных интернет-проектов уже порядочное время, часто был просто возмущён одним фактом — не все элементы системы несут на себе равную нагрузку. Я всегда придерживался мнения, что каждый элемент системы, будь то интерпретатор того или иного языка для сайта, или база данных, или даже сам HTTP сервер, должен брать на себя максимально возможную нагрузку, дабы облегчить участь остальных элементов системы. Да и сами приложения для своих проектов всегда старался максимально разгрузить.

Сейчас же мне хотелось бы поделиться своим опытом в том, как «озадачить» Apache при создании миниатюр изображений (Thumbnails).
Читать дальше →

Адаптивный и мобильный дизайн с CSS3 Media Queries

Reading time7 min
Views600K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →

Визуализация «В Контакте»: Скажи мне, кто твой друг?

Reading time2 min
Views146K
Привет, Хабралюди!

У меня есть хобби. Я ночами (в нерабочее время) пишу библиотеку укладки графов: vivagraph.js. Хотел поделиться с вами, узнать что думаете. Визуализировал я сеть друзей своих на «В Контакте» с использованием WebGL. Но лучше один раз увидеть, чем читать, верно?



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

Как построить свою сеть?

Оптимизация Linux для desktop и игр

Reading time8 min
Views176K
В этой статье я хочу поделиться почти 10-летним опытом использования Linux на домашнем компьютере. За это время я провел много экспериментов над ядром, испробовал различные конфигурации для разных применений и теперь хочу все это систематизировать в длинный пост с рекомендациями как выжать из linux максимум и добиться отличной производительности, без необходимости покупать мощное железо.

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

Хоть я и пообещал, что после прочтения этой статьи, можно будет играть в Metro 2033 на калькуляторе (шутка, такого не будет), все же она начнется с рекомендации купить кое-что из железа, если у вас этого еще нет.
Читать дальше →

Как была взломана Gamma International

Reading time12 min
Views87K
image

3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

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

Настройка мониторинга PostgreSQL в Zabbix

Reading time8 min
Views94K
image

PostgreSQL это современная, динамично развивающаяся СУБД с очень большим набором возможностей которые позволяют решать самый широкий спектр задач. Использование PostgreSQL как правило относится к очень критичному сегменту ИТ инфраструктуры который связан с обработкой и хранением данных. Учитывая особое место СУБД в инфраструктуре и степень критичности возложенных на нее задач, возникает вопрос мониторинга и надлежащего контроля за работой СУБД. В этом плане PostgreSQL обладает широкими внутренними средствами сбора и хранения статистики. Собираемая статистика позволяет получить довольно подробную картину о том что происходит под капотом в процессе функционирования СУБД. Эта статистика хранится в специальных системных таблицах-представлениях и постоянно обновляется. Выполняя обычные SQL запросы в эти таблицы можно получать разнообразные данные о базах, таблицах, индексах и других подсистемах СУБД.
Ниже я описываю способ и средства для мониторинга PostgreSQL в системе мониторинга Zabbix. Мне нравится эта система мониторинга поскольку предоставляет широкие возможности для реализации самого кастомного мониторинга самых разных систем и процессов.
Читать дальше →

Немного о рукописных шрифтах

Reading time4 min
Views97K

— У вас же такие славные письменные принадлежности, и сколько у вас карандашей, сколько перьев, какая плотная, славная бумага… И какой славный у вас кабинет!
Ф.М. Достоевский, «Идиот»


Сначала пользовались рукописными шрифтами. Ими пользовались умелые переписчики-каллиграфы, в силу трудоемкости изготовления рукописей превращавшие каждую в произведение искусства.

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

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

Новый виток технического прогресса в области машинописной техники – изобретение компьютеров – возвратил индивидуальности почерка былое величие. Шрифты оставались стандартными, но теперь их выбирали по собственному вкусу и усмотрению.

Желаемая механизация с сохранением индивидуальных особенностей? Безусловно так. Но давайте сравним всем нам знакомые компьютерные шрифты с рукописными: частично с познавательной целью, частично – с целью предаться ностальгии об ушедшем в прошлое великом и незабвенном искусстве каллиграфии.
Читать дальше →

Proxmox 3.1: нюансы установки из «коробки»

Reading time5 min
Views54K
Системе виртуализации «Proxmox» на Хабре посвещено несколько постов, и, конечно, прежде, чем писать этот пост мне довелось их изучить для собственного эксперимента. Мое исследование сводилось к установке Proxmox 3.1 на «голое железо», его настройке и переносе существующих виртуальных машин с VMWare на новую систему. Установка ОС производилась, как следует из названия поста, с дистрибутива Proxmox 3.1, «как есть». В процессе инсталляции, настройки и импорта виртуальных машин возникли интересные моменты, с которыми я и хотел бы поделиться с сообществом.
Читать дальше →

Руководство по установке и настройке OpenVPN

Reading time34 min
Views1.6M



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



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


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

Удостоверяющий центр на основе OpenSSL

Reading time7 min
Views29K
Когда работал системным администратором, возникла у меня необходимость реализовать VPN на несколько десятков филиалов компании, интранет и почту на серверах в Москве с суровой защитой и доступом через VPN вообще отовсюду. При этом придумать всю систему и организовать её развёртывание предстояло в одно лицо. Бюджет был в тысячи полторы долларов, было это 4 года назад, некоторое время честно пытался найти более-менее приемлемое по цене ПО, потом нечестно пытался найти что-то на торрентах – пусто. В итоге – OpenSSL и OpenVPN. В этом вводном тексте хотелось бы поговорить об OpenSSL.

В конечном итоге были развёрнуты:
  • центр выдачи сертификатов (CA – Certificate Authority, он-же УЦ – Удостоверяющий Центр, в отечественной терминологии организация, уполномоченная выпускать сертификаты),
  • интранет-сайт с авторизацией доступа по клиентским сертификатам,
  • VPN с взаимной аутентификацией серверов, клиентов и динамической маршрутизацией,
  • Авторизация клиентов на корпоративном IM сервере с помощью тех-же сертификатов.
Читать дальше →

Пятьдесят оттенков инфракрасного

Reading time4 min
Views133K
Не знаю как вам, а мне всегда было интересно: как выглядел бы мир, если бы цветовые каналы RGB в глазу человека были чувствительны к другому диапазону длин волн? Порывшись по сусекам, я обнаружил инфракрасные фонарики (850 и 940нм), комплект ИК фильтров (680-1050нм), черно-белую цифровую камеру (без фильтров вообще), 3 объектива (4мм, 6мм и 50мм) расчитанные на фотография в ИК свете. Что-ж, попробуем посмотреть.

На тему ИК фотографии с удалением ИК фильтра на хабре уже писали — на этот раз у нас будет больше возможностей. Также фотографии с другими длинами волн в каналах RGB (чаще всего с захватом ИК области) — можно увидеть в постах с Марса и о космосе в целом.

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

Лучшие интересности и полезности за год

Reading time8 min
Views65K
Доброго времени суток, уважаемые хабравчане. Сегодня я хочу поделиться с вами одним небольшим событием — ровно год назад, 15 августа 2013 года я опубликовал свой первый дайджест для веб-разработчиков. С тех пор было опубликовано 25 выпусков и мои подборки обрели некоторую «популярность», а мне приятно ощущать себя «полезным» для хабраобщества.

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

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

Настройка GUI в линуксе для мониторов с High DPI

Reading time3 min
Views37K
В последнее время появилось достаточно много мониторов с высоким разрешением, 150 dbi и выше, особенно в ноутбуках. И при этом всё выглядит жутко маленьким.
Причина этого — система думает что у Вашего монитора разрешение 96..100 dpi.
Решать это только увеличением размера шрифта неправильно, т.к. размеры всех остальных элеменов интерфейса остаются маленькими. Надо чтобы графическая оболочка сама это делала.

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

Ниже будет идти список где что поправить, все параметры привожу для своего монитора — 13,3" при 2560x1600, это даёт 226 dpi. Более высокое разрешение сейчас я видел только в ноутбуке Fujistu U904 — 262 dpi.
Читать дальше →

Полное отключение синхронизации времени между виртуальной машиной и гипервизором VMware ESXi

Reading time2 min
Views50K
Небольшая, но довольно полезная статья. Надеюсь поможет кому-нибудь избежать проблем в будущем.
Недавно на одном из наших проектов случился неожиданный шторм инцидентов, вызванный рассинхронизацией времени между виртуалками и NTP-серверами. Причину нашли довольно быстро: в это время происходила массовая онлайн-миграция vMotion между хостами, вызванная обновлением BIOS гипервизоров. Причем хосты тоже получали время с NTP-сервера, но виртуалки на них начинали мигрировать сразу после включения гипервизоров, когда последние еще не успевали полностью синхронизировать время, соответственно возникала разница во времени между хостами между которыми происходила миграция. Очевидно, что это была ошибка со стороны команды виртуализации, однако это вызвало шторм инцидентов на нас, UNIX команде.
Читать дальше →

TOX — Защищенный мессенджер добрался до Альфа версии (Для всех платформ)

Reading time1 min
Views91K


Недавно состоялось очень важное событие в сфере защищенных коммуникаций и мессенджеров — проект Tox.
Он поставил перед собой задачу заменить Skype и сейчас он добрался до Альфа версии.

Хочу обратить ваше внимание, альфа версия означает, что более 90% функций работают на всех OS одновременно:
— Аудио вызовы
— Видео вызовы
— Передача файлов
— TCP Relay
— DNS Name discovery
— Групповые чаты
Читать дальше →

Azarkant: короткометражный мультфильм, на который ушло три года

Reading time1 min
Views92K


На Хабре не так давно публиковалась новость о создании короткометражного фильма «Крепость», созданного Дмитрием Федотовым.

На днях на глаза попалась еще одна короткометражка, Azarkant, от Андрея Климова. На создание этой короткометражки ушло целых три года, и создавалась она на ПК с процессором i7 930 и 6 ГБ ОЗУ.

Само собой, на такой машине прорисовка/рендеринг выполняется достаточно долго (одна сцена прорисовывается по 50 часов, по словам создателя ролика), так что остается удивляться терпению автора.

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

Современный бэк-офис IT-компании

Reading time11 min
Views55K
В одной из дискуссий недавно, я перечислил основные системы, делающие работу ИТ-компании цивилизованной. Список получился весьма обширный, и я решил оформить его как самостоятельную статью.

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

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

Краткий спойлер содержимого: VCS, репозиторий исходного кода, code-review, build-сервера, CI, таск-трекер, вики, корпоративный блог, функциональное тестирование, репозиторий для пакетов, система управления конфигурацией, бэкапы, почта/jabber.

Картинка с фрагментом обсуждаемой инфраструктуры:


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

Несколько интересностей и полезностей для веб-разработчика #22

Reading time4 min
Views38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


В прошедшие несколько недель мне регулярно попадались Awesome-* проекты, о которых я упоминал в последних подборках. Началось все с Awesome-PHP, потом появились «живые списки» полезностей для сисадминов и питонистов. Все заметили положительную тенденцию и как по желанию это переросло в целый тренд. Сейчас есть коллекции инструментов для языков Ruby, Go, NodeJS, JavaScript, Java, Scala, Bash и др. Уже даже существуют подобные наборы для целых направлениям в ИТ, к примеру Big Data. Awesome Awesomeness — это живой список живых списков всего самого необходимого для разработчика из той или иной сферы.

Breach — полноценный браузер на JavaScript




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

Инновационный метод производства энтропии

Reading time5 min
Views11K
I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and I tell you that you are free.
— Эрис, богиня хаоса, раздора и путаницы

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

Предупреждение для юристов, политиков и других роботов: это полушуточная статья.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity