Search
Write a publication
Pull to refresh
6
0
Дмитрий @Gilberg

User

Send message

Большие потоки трафика и управление прерываниями в Linux

Reading time4 min
Views66K
В этой заметке я опишу методы увеличения производительности линуксового маршрутизатора. Для меня эта тема стала актуальна, когда проходящий сетевой трафик через один линуксовый маршрутизатор стал достаточно высоким (>150 Мбит/с, > 50 Kpps). Маршрутизатор помимо роутинга еще занимается шейпированием и выступает в качестве файрволла.
Читать дальше →

Автоматическая преднастроенная установка Ubuntu: isolinux и preseed

Reading time11 min
Views72K
Как известно, Ubuntu Linux уже давным-давно содержит полный набор инструментов, необходимых для работы большинства офисных сотрудников. А то, что не содержит, можно доустановить, либо же запустить с сервера, например, с помощью FreeRDP и Remmina. В результате — экономия средств и сильное упрощение администрирования клиентов. Многие фирмы уже начали потихоньку заменять свой парк машин на тонкие клиенты и полноценные компьютеры с Linux. И если вы тоже хотите пересадить пару отделов на Ubuntu, то возможно я смогу помочь вам сэкономить немного времени.

В этой статье я расскажу, как создать на основе Ubuntu (а так же любых её модификаций, включая Ubuntu Sever) или Debian преднастроенную, автоматически устанавливающуюся систему. Разобравшись в описанном ниже весьма несложном материале вы сможете делать свои собственные сборки Ubuntu с необходимыми вам приложениями и настройками, которые будут способны устанавливаться в полностью автоматическом режиме как с диска, так и по сети. В итоге при желании вы сможете добиться того, что вам будет достаточно просто включить компьютер и пойти пить чай, чтобы вернувшись увидеть установленную и полностью настроенную под ваши запросы систему со всем необходимым вам для работы софтом.

Подробнее...

text-overflow в Firefox и все, все, все

Reading time9 min
Views15K
Многие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?

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

Linux HA на основе Pacemaker

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

ICQ — платить за каждого пользователя альтернативного клиента?

Reading time2 min
Views1.8K
Сегодня в блоге Экслера появилась любопытная запись, откуда можно узнать об аппетитах нового владельца ICQ.

Как вы знаете, недавно компания DST (ныне — «Mail.ru Group») купила один из популярнейших сервисов — ICQ. Также под управлением компании находится ряд других популярных проектов, таких, как «Mail.ru» и «Одноклассники».

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

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

Reading time3 min
Views65K

Стили


User Agent

Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Читать дальше →

Создание приложений на GTK+ с использованием среды Glade

Reading time10 min
Views47K
Данный пост посвящен созданию приложений с использованием кроссплатформенной библиотеки GTK+. Ориентирован он в основном на новичков? поэтому какие-то вещи возможно для многих покажутся очень простыми и банальными, но я постарался максимально подробнее всё описать, чтобы было понятно для всех.

Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.

Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.

Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.

Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
Читать дальше →

Модерируемая коллекция кистей для GIMP

Reading time3 min
Views4.4K
Здравствуйте, хочу сегодня поведать вам об одном некоммерческом проекте.

Для тех, кто не в теме: существует опенсорсный графический редактор, который называется Gimp. Чтобы рассказать о нем, для простых людей был создан сайт, на котором были размещены уроки и описания этого редактора. Но речь пойдет не о самом сайте.

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

В чем плюсы проекта для пользователей:
  • Отказ от системы «пакетов кистей». Человек будет скачивать только те кисти, которые ему интересны.
  • Подбор кистей по фильтрам и ключевым словам. То, что будет реализовано в GIMP 2.8 мы попытались реализовать на страницах сайта.
  • Удобный просмотр кистей. Пользователь видит кисть перед скачиванием. Может изменить цвет кисти и посмотреть ее в полном размере.
  • Перед скачиванием пользователь может опробовать кисть в действии. Порисовать ей в специальном графическом редакторе.
  • Скачивание со страниц сайта. Никаких тебе турбобитов, летитбитов и других файлообменников.
  • Рейтинг кистей. Сортировка кистей по качеству. Мы видим сколько раз кисть просмотрели, сколько раз ее скачали (показатель отказов), сколько раз ей подняли (в будущем и опустили) рейтинг. И в зависимости от этого, сортировать кисти по их качеству, а не дате добавления.
Читать дальше →

Перенаправление функций в разделяемых ELF-библиотеках

Reading time22 min
Views36K
Все мы пользуемся динамически-компонуемыми билиотеками. Их возможности поистине великолепны. Во-первых, такая библиотека загружается в физическое адресное пространство только один раз для всех процессов. Во-вторых, можно расширять функционал своей программы, подгружая дополнительную библиотеку, которая и будет этот функционал обеспечивать. И все это без перезапуска самой программы. А еще решается проблема обновлений. Для динамически компонуемой библиотеки можно определить стандартный интерфейс и влиять на функционал и качество своей основной программы, просто меняя версию библиотеки. Такие методы повторного использования кода даже получили название «архитектура plug-in’ов». Но топик не об этом.

Кстати, нетерпеливые могут все скачать и попробовать прямо сейчас.

Осторожно, много текста!

Build Your First PHP for Android Application

Reading time5 min
Views34K
Операционная система Android повергла рынок сматрфонов в шок :). В отличии от компании Apple, которая предъявляет достаточно строгие требования к разработчикам, которые хотят выставлять свои приложения в iPhone App Store, Google создал платформу Android открытой (в оригинале wide open). В настоящее время вы можете писать приложения PHP. Парни из Irontech создали необходимое, и используя Scripting Layer для Android (SL4A), вы можете создавать на PHP приложения для Android.
Вы думаете - сейчас мы будем читать о чем-нибудь ужасном?

Рабочий метод разрыва конкретного активного соединения из командной строки linux (drop/kill/cut/close ESTABLISHED connection)

Reading time1 min
Views42K
Иногда бывает необходимо принудительно разорвать активное соединение. Самый распространенный способ:

netstat -na
kill PID


Проблема в том, что один воркер может одновременно обслуживать несколько соединений, поэтому правильнее будет убить соединение а не воркер. Для этого на многих форумах рекомендуют использовать tcpkilll, cutter или awk+hping3. Однако, хоть эти утилиты и находятся в официальных репозиториях, мне не удалось заставить их разрывать соединения.

После продолжительных поисков был обнаружен perl скрипт killcx, разрывающий соединение по удаленному хосту и порту.

killcx 94.133.119.242:4403
Читать дальше →

Xen Cloud Platform в условиях предприятия [1]

Reading time8 min
Views12K
Среди всех энтерпрайзнутых систем виртуализации XCP единственная бесплатная и свободная. История XCP уходит в XenServer, который хоть и основывался на опенсорсном гипервизоре, но был вполне себе платным софтом. Цирикс опубликовала код XenServer под свободной лицензией и с этих пор XenServer начал плавно превращаться в Xen Cloud Platform.

В этом цикле статей я расскажу о том, как применять XCP в условиях единого административного центра, когда виртуальные машины и инфраструктура виртуализации управляется одной и той же организацией (т.е. о типичном сценарии с виртуализацией серверов предприятия). В этих статьях будет мало примеров и ключей командной строки (administration guide на сайте цирикса вполне опубликован), вместо этого я буду рассказывать про понятия, термины и взаимоотношения объектов.

С пользовательской точки зрения основным различием между обычным зеном (в составе большинства ОС) и XCP является процесс установки и количество добработок до запуска в продакт. XCP поставляется в виде ISO'шки с готовой ОС для dom0 (CentOS), адаптированной для обслуживания гипервизора и обеспечения работы хостов в облаке. Xen же обычно идёт в виде hypervisor + utils, подразумевается, что всё остальное человек создаст сам. Ещё некоторым бонусом для тех, кому приходится соприкасаться с продукцией Microsoft, являются подписанные драйвера для Windows (их с некоторыми ухищрениями можно установить и в зене, но в XCP они являются родными).

XCP — относительно своеобразная платформа. Она не «закрыта» в том смысле, как закрыт, например, hyper-v, но идёт в виде готовой ОС, многие аспекты конфигурации которой контролируются средствами платформы, а не ОС. Например, сеть: можно повесить ip-адрес на любой интерфейс ifconfig'ом, но последствия этого будут печальные — следует использовать инструментарий платформы для управления сетями и интерфейсами.

XCP состоит из нескольких компонент: xen, xapi, open vswitch, xe cli, stunnel, sqeezed обеспечивающих разные аспекты работы системы.

В начале о системных требованиях:
Читать дальше →

Балансировка нагрузки с LVS

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

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

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →

Мгновенная отправка ссылок, карт и телефонных номеров на Android с помощью расширения Chrome to Phone

Reading time2 min
Views13K
Дейв Бёрке (Dave Burke), менеджер по разработке программного обеспечения
Вам когда-нибудь хотелось быстро переслать ссылки или другую информацию с вашего компьютера или ноутбука на мобильный телефон? Теперь при установке расширения Chrome to Phone, в браузере Google Chrome появится специальная кнопка, с помощью которой вы сможете мгновенно переслать веб-страницу, фрагмент карты, видео с YouTube, телефонный номер или текст на ваш телефон, работающий на ОС Android 2.2 (aka Froyo).

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

Это расширение отлично работает с Картами Google. Например, вы нашли нужный дом на карте и проложили к нему маршрут. С помощью функции Chrome to Phone вы моментально получите доступ к этой информации уже на мобильной версии картографического сервиса Google. То же самое можно сделать и с видеороликами YouTube. Кроме того, если вы хотите позвонить по номеру телефона, найденному на веб-странице, просто выделите его и воспользуйтесь кнопкой Chrome to Phone в браузере Chrome – система сама отправит номер на ваш мобильный телефон, и вам останется только нажать кнопку вызова. Вы также можете автоматически скопировать любой текст из браузера компьютера в буфер обмена телефона на базе Android и просмотреть его уже на телефоне.



С сегодняшнего дня расширение Chrome to Phone доступно на русском языке. Более подробную информацию вы найдете в справочном центре.

Для начала работы с Chrome to Phone установите расширение в браузере Google Chrome на компьютере и специальное приложение на мобильном телефоне, работающем на OC Android 2.2. Теперь все готово!

HTML5 для веб-дизайнеров. Часть 1: Краткая история языка разметки

Reading time7 min
Views14K
HTML5 для веб-дизайнеров

  1. Краткая история языка разметки
  2. Модель HTML5
  3. Мультимедиа
  4. Формы 2.0
  5. Семантика
  6. HTML5 и современные условия


HTML — язык, объединяющий всемирную сеть. Всего лишь посредством набора простых тегов, человечеству удалось создать несравнимую ни с чем по своим масштабам систему связанных между собой страниц и веб-узлов: от Amazon, eBay и Википедии, до личных блогов и сайтов, посвященных котам, похожим на Гитлера.

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

Как и всемирная сеть вообще, HTML — язык разметки гипертекста (HyperText Mark-up Language) — является детищем сэра Тима Берненс-Ли (Sir Tim Berners-Lee). В 1991 году он написал работу, озаглавленную «HTML Tags», в которой описал чуть меньше двух дюжин тегов, предложенных им для разметки веб-страниц.

Идея использовать для этого кодовые слова внутри треугольных скобок, впрочем, не принадлежит сэру Тиму. Такая система на тот момент уже существовала и использовалась в SGML (Standard Generalised Markup Language, стандартный обобщённый язык разметки), и вместо того, чтобы изобретать что-то с нуля, сэр Тим посчитал более рациональным взять за основу уже существующие решения. Аналогичный подход применялся и вообще на всем пути к HTML5 в процессах разработки.

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

База изображений в любых форматах и разрешениях

Reading time3 min
Views4.5K
заказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG
разработчик: Готово

заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал

заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
Читать дальше

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity