Настраиваем управление APC SmartUPS с помощью apcupsd в Citrix XenServer 6.0

Без чего не может обойтись любой нормальный сервер? Конечно без УПСа! А если он есть, то конечно необходимо научиться правильно им управлять и снимать статистику, чтобы система могла корректно заверишь свою работу прежде, чем сядет батарея. Для этого мы будем использовать apcupsd.

Настройка Nginx в качестве frontend к Apache

И так в вкратце что такое nginx? nginx — быстрый и легкий, но очень мощный и эффективный web-сервер, созданный Игорем Сысоевым для использования на серверах компании Рамблер и любезно предоставленный им для использования open-source сообществом.

Установка Alfresco за 19 шагов

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

Для наших целей используем ОС CentOS 5.3.

Итак приступаем к установке Alfresco:

1. Устанавливаем с нуля CentOS, с базовыми пакетами (mysql, httpd, tomcat — не устанавливаем). Все необходимые пакеты мы установим позже, взяв их из репозитариев.

Suhosin для ОС CentOS 6

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

Данный патч я буду ставить на PHP версии 5.3.2, и веб-сервера Lighttpd. Операционная система CentOS 6.

1. Скачаем последнюю версию Suhosin с сайта разработчика

Продолжаем защишать PHP

Ранее я уже писал статью о том как установить патч безопасности Suhosin на PHP. А сейчас я опишу несколько дополнительных правил к дефолтному конфигу Сухосина:

В php.ini мы добавим следующее:

Виды циклов Паскаля

В паскале существуют три оператора цикла ,которые относятся к двум видам циклов. Это цикл с предусловием и цикл с постусловием. В чем же различие?

Цикл с предусловием

Циклом с предусловие называется цикл ,в котором сначала происходит проверка условия,а уже затем выполняется / не выполняется действие. То есть если условие не позволяет - ни одно действие не выполниться.

К таким относятся циклы с for и while.

Рассмотрим простой пример. Сосчитаем сумму чисел от одного до ста . Вот как будет выглядеть кусок код для этой задачи.

Массивы

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

Массивы объявляются следующим образом:

где:
type - это тип массива, то есть какой тип данных будет содержаться в этом массиве.
name - имя массива. Имена массивам даются также как и переменным.
size - размер массива, то есть количество элементов которое будет в массиве.

Циклы. Оператор for

Часть 1 Простые Циклы

Представим, что нас нужно вывести какое-нибудь число не один, а десять раз. Это можно сделать при помощи циклического оператора for.

for(int i = 0; i < 10; i++) {
cout << a;
}

Например если a = 5, то в выходном файле мы увидим
5555555555

Рассмотрим оператор for поподробней.
for(, , ) {
}

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

Оператор random - генератор случайных чисел

Часто в задачах требуется выполнить различные действия с большим количеством чисел. В таких случаях вводить все числа становится просто неудобно и долго. Для этого в Паскале придуман генератор случайных чисел - оператор random. От программиста лишь требуется задать числовые промежутки ( например от 2 до 50 ) , все остальное программа выполнит сама. Итак как добавить к коду программы оператор random.

Все типы данных и наиболее часто используемые

Алгоритм языка Pascal построен таким образом ,что для того чтобы оперировать с переменными,нужно обычно указать их тип. Причем описание типа для каждой переменной необходимо производить до выполнения программы (в разделе var). То есть запуске компилятора программа сначала получает сведения,касательно того с какими типами данных будет работать и только потом выполняет какие-либо действия.

Итак в Паскале 3 основных типа : простой ,структурированный и указатель. Однако каждый тип имеет свои подтипы. Для удобства все типы данных приведены в виде списка.

Оператор for

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

В паскале цикл просто необходим : он позволяет сократить время написания программы и оптимизации кода. Особенно часто циклы используются для работы с базами данных и массивами. Итак как же выглядит цикл

for оператор:=начальное значение to конечное значение do
действие

FreeBSD - чертик в клетке

О создании виртуальных машин с помощью технологии jail во freebsd. Данная статья основывается на официальном руководстве, доступном по адресу _http://www.freebsd.org/doc/handbook/jails.html и моём личном опыте, полученном при создании виртуальной северной инфраструктуры.

Фильтр по нескольким параметрам, JavaScript

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

Стоит только немножко подумать. А с подключением jQuery, всё что угодно может стать проще :)

XML, XHTML, HTML. В чем разница? Что выбрать?

На самом деле, в названии допущена ошибка. XML не подходит для разметки веб-страниц. Но частенько используется в интернете, и не только, так что всё равно было бы неплохо узнать что это такое, новичкам. Поэтому фактически выбирать будем из HTML и XHTML.

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

Ошибка прекомпиляции при деплое Rails приложения

Вылетела у меня ошибочка при деплое, причем вчера всё было окей. А сегодня я ассеты не трогал, изменял только вывод вьюхи. Хотя я вчера мог просто не заметить ошибки когда делал последний деплой.

Первым делом в deploy.rb в строку с прекомпиляцией добавил параметр —trace, чтобы видеть что происходит:
bundle exec rake assets:precompile --trace RAILS_ENV=production

Отбор файлов по расширению

Недавно один друг (Стас) попросил мня написать на PHP скрипт который бы сканировал папку на наличие файлов определенного типа. Меня заинтересовало такое задание, и я хочу поделиться с вами тем, что у меня получилось с соответствующими комментариями конечно .

Итак, суть задания была такова:

Методы передачи данных GET и POST

Часто скрипты написанные на PHP требуют вмешательства пользователя, когда необходимо передать какие либо данные. Протокол HTTP позволяет нам это сделать посредством передачи GET и POST запросов серверу. И в PHP есть поддержка этих методов передачи .

Метод GET

При использовании метода GET, данные передаются путем добавления их к URL-адресу вызываемого сценария, предназначенного для обработки полученной информации. Например:
_http://домен.ru/script.php?num=10

Работа с файлами в PHP - запись и чтение

Как я уже говорил в прошлом посте, в качестве хранилища данных можно использовать и обычные текстовые файлы. Хоть их использовать и не рекомендуют, т.к. скорость взаимодействия с ними ниже, чем с БД, но функции для работы с ними пригодятся. Одну из них мы уже использовали в статье «Основные функции на примере парсера XML» – это file_get_contents(), которая, напомню, получает содержимое файла в виде одной строки. Это что касается чтения. Думаю сначала логично рассмотреть как записать данные в файл, а потом уже их получать из него.

Связь PHP с базой данных MySQL

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

Условные операторы и циклы

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

Операции в PHP

Всем доброго времени суток! Сегодня я хочу рассказать об операциях в PHP. Данный пост будет носить скорее информативный характер, чтобы в дальнейшем было понятно что, например, означает запись $a++. Итак, начну с самого начала.

В PHP для манипуляции значениями и переменными, а так же выполнения над ними различных операций используются знаки операций.

Основные функции на примере парсера XML

Всем привет! Сегодня я хочу на примере парсера (программы, которая будет извлекать контент с удаленного сайта и выводить на нашей странице) погоды из xml-файла с сайта gismeteo.ru, описать некоторые основные функции в PHP. Так сказать, чтобы было наглядно. Выбрал я xml потому что парсить его гораздо легче, нежели HTML, да и после очередной смены дизайна сайта гизметео, нужно было бы каждый раз переписывать код . Я уже имел опыт написания парсера на C#, поэтому написать парсер на PHP было не так сложно.

Синтаксис языка PHP, Дескрипторы, Комментарии

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

Синтаксис языка PHP прост и во многом подобен синтаксису языка C. Так же он во многом заимствован из таких языков как Java и Perl. Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Дескрипторы

Что же такое PHP?

Итак, пора бы уже приступить к изучению PHP! И начнем с базовых понятий.

Сначала необходимо понять как он вообще работает. Поможет нам в этом следующая схема.

Схема "Пользователь - Сервер PHP - Сервер Mysql"

Gajim – тонкая настройка

Рассмотрим тонкую настройку Gajim, чтобы открыть тонкую настройку Gajim выберите Правка – Параметры, открываем вкладку Расширенные – Расширенный редактор настроек – Открыть.

Далее нам будут интересны основные параметры, такие как:

Eclim – VIM для Eclipse

Когда я ещё не знал что такое VIM, то использовал для кодинга только Eclipse. Но в один прекрасный день решил почитать о VIM’e и понял что теперь это мой самый лучший редактор.
Так как VIM очень хорош для работы с текстом, а Eclipse для работы с проектами, был найден плагин который объединяет VIM и Eclipse: Eclim.
Для Eclim нужны установленные: Eclipse 3.5.x, VIM 7, JDK>=1.5.

Введение в PyQt4

Что такое Qt? Qt – это мощный тулкит для создания кросс-платформенных графических приложений(для ОС: *BSD, Mac OS X, Linux, Windows, Symbian S60, Windows Mobile, QNX и т.д.).

Библиотека написана на языке C++, компанией Trolltech, недавно которую выкупила компания Nokia.

Библиотека настолько популярна, что создали огромное количество привязок к ней для языков: Python, Ruby, PHP, Perl, C#, Java.

Разработкой PyQt занимается компания Riverbank.

Библиотека PyQt4 реализована в виде Python модулей и имеет следующие модули:

Меню и панель инструментов в PyQt4

С помощью класса QMainWindow, можно создать основное(главное) окно приложения. В основном(главном) окне, можно создать строку состояния, панель инструментов и панель меню.
Строка состояния.
Данный виджет нужен для отображения дополнительной информации, располагающейся в самом низу окна.

Собираем свое ядро для убунты, плюс ставим патч BFS

И так, сегодня мы соберем свое ядро для убунты. После перехода с генту, непривычно что ядро собрано за тебя и со всеми возможными(ненужными) опциями. Также generic ядра настроены для ЛЮБОГО железа и с опциями понижающие производительность.

Все действия проводятся в убунту 9.10, хотя именно убунтовских опций тут ~5%. Так что эта информация подойдет даже для ванильного (официального) ядра.

Первое что нам нужно, это получить рут права чтобы дальше не использовать команду sudo:

$ su

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

Виджеты в PyQt4

В данном уроке мы рассмотрим только некоторые виджеты.
Флажок(QCheckBox).
Виджет QCheckBox по умолчанию имеет два состояния: выключенный и включенный. Но есть и третье состояние – частично включенный. Для добавления состояния «частично включенный», используется функция setTristate, где ей передается логический аргумент, который включает/выключает данное состояние.
При изменении состояния, флажок посылает сигнал stateChanged(int).

Garena брутфорс и чекер

Версия 0.1
Возможности:

  • Брут аккаунтов Garena.
  • Чекер аккаунтов Garena.
  • Работа через HTTP запросы.
  • Поддержка HTTP-проксей(опционально).

Описание опций:

Обзор плагинов для Eclipse

Итак, приступим к обзору!

PyDev – плагин позволяющий работать с Python, Jython и IronPython. Возможности:

  • Автозавершение кода
  • Автозавершение кода с поддержкой «import»
  • Подсветка синтаксиса
  • Анализ синтаксиса
  • Анализ кода
  • Переход к объявлению объекта ил функции
  • Рефакторинг
  • Отладка
  • Интерактивная консоль и многое другое

Ссылки для установки через «Install New Software»:

Сигналы и слоты в PyQt4

События(events).
С помощью сигналов и слотов, в библиотеке PyQt4 происходит взаимодействие между объектами. Объектами могут выступать например, виджеты.

После запуска главного цикла app.exec_(), приложение начнет обрабатывать события. Например, когда будет нажата кнопка(QPushButton), то произойдет событие(сигнал) clicked(). События бывают пользовательские(например, нажатие кнопки) и системные.
Чтобы обработать событие(сигнал) объекта(например, QPushButton), необходимо его соединить с нужным слотом. Слотом является пользовательская или библиотечная функция.

STL и операторы сравнения

Не для кого не секрет, что STL (Стандартная библиотека шаблонов) C++ не только предоставляет эффективную реализациюю стандартных алгоритмов, контейнеров, но и значительно сокращает время разработки приложения.

Но мало кто знает о существовании некоторые операторов сравнения, которые позволяют автоматически определить операторы сравнения – <=, >, >=, != – для класса, перегрузив лишь операторы == и <. Находятся эти операторы в заголовочном файле в пространстве имен std::rel_ops.

Ниже простой пример, демонстрирующий применение этих операторов.

Настройка громкости в Kubuntu 11.10

Сегодня поделюсь опытом по настройке громкости звука в Kubuntu 11.10 данная статья может помочь и при настройки в kde громкости звука любой версии ubuntu и не только. У меня ноутбук Samsung r519-js01 и при установке kubuntu возникло много проблем (они не смертельные работать можно), которые я решал для более комфортной работы с ноутбуком по мере возможности.

Как установить и настроить LTSP в Ubuntu 10.04

В этой статье вы узнаете как самостоятельно можно установить и настроить LTSP в Ubuntu 10.04 LTS.

Linux Terminal Server Project (LTSP) - это свободно распространяемый пакет для Linux, который позволяет нескольким слабым компьютерам использовать ресурсы другого компьютера (сервера). Слабые компьютеры в данном случае будут являться тонкими клиентами.

Gmail как настроить сбор почты с yandex

Я думаю, что я не один такой, у кого несколько почтовых ящиков и их лень все проверять каждый день. Так как я предпочитаю использовать почту gmail о ней и пойдет речь. Зарегистрировал себе новую почту на gmail (с нормальным адресом и еще было пару причин для регистрации новой почты).

Идем в настройки почты gmail. Переходим на вкладку «Аккаунты и импорт» и находим там пункт «Сбор почты с других аккаунтов». Нажимаете «Добавьте свой почтовый аккаунт POP3″ и добавляете необходимые почтовые адреса. Важно:

Как в Kubuntu 11.10 добавить проверку орфографии в приложениях

На работе появилась необходимость установить Ubuntu 10.04 третьей ОС (Операционной системой). На компьютере уже стояли две ОС: Windows XP и Alt Linux. В установке Ubuntu нет не чего сложного, про установку с диска alternate на примере Ubuntu 10.04.3 можете прочитать статью по ссылке. После установки Ubuntu одна система перестала загружаться… я думаю вы догадались, что это Alt Linux. Честно говоря мне не нравится Alt Linux, но я все равно устранил данную ошибку.

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

Решил завести блог с заметками о различных CMS. WordPress хорош, но функционала мне не хватает. Битрикс - люблю, но жаба душит платить за него (несмотря на партнерскую скидку). Остановился на Друпале. И при установке сразу же наткнулся на баг с доступом к записям для анонимусов.

404-oshibka-otchety-monetizaciya-i-analitika

Материал является вольным переводом записи, опубликованной на web-development-blog.com. Материал рассчитан на новичков и владельцев сайтов, где ошибка 404 (страница не найдена) обрабатывается стандартными средствами сервера. Например, вот так - httpd.apache.org/404 . Для владельцев сайтов на современных CMS (Drupal, Joomla, Bitrix и т.д.) может быть интересна разве что идея встраивания Google-поиска с Google Adsense.

LAMP, GLAMP или сборки Apache+PHP+MySQL

Обзор сборок набора PHP-разработчика для случаев «если не хочется долго возиться самому». Для начинающих.

Профессионалы настраивают веб-сервер вручную, отдельно скачивая apache, php, mysql. Настраивают почтовый сервер. В идеале все это собирается из исходников... Самые свежие версии. Ну а если вам не хочется мучиться с настройками всех компонентов по отдельности и требуется просто рабочая среда «сейчас и сразу» - предлагаю ознакомиться со списком и описанием сборок.

Итак, известный многим, очень популярный у русскоязычного населения…

Phar в PHP 5.3, введение

Заметка про расширение, которое вошло в PHP 5.3, а именно – Phar (библиотека для создания исполняемых архивов).

Phar работает на PHP начиная с версии 5.2.0, но с версии 5.3 он входит в сам дистрибутив PHP (то есть не является отдельной библиотекой и не требует установки).

Phar предназначен для создания исполняемых архивов (идея взята из технологии Java™ - JAR). Несмотря на то, что расширение уже не новое, предыдущие версии, написанные на PHP, были тормознутыми и неэффективными. В результате обновлений получился быстрый и удобный продукт.

Подстветка кода для визуальных редакторов в Drupal

Пару месяцев назад пытался я подружить wysiwyg-редакторы с geshi в стиле, хотя бы отдаленно напоминающем drupal-way. Были перепробованы связки модулей wysiwyg+wysiwyg-geshi, ckeditor+wysiwyg-geshi. Оказалось безуспешно. Поиски по глобальным просторам интернета привели только к одному решению, которое нещадно ломало контент либо в редакторе, либо в итоговой странице.

Подключение к базе данных через SSH

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