Загрузка. Пожалуйста, подождите...
Главная страница
домой
контакты
История
Наука
Интернет
Медицина
Техника
Политика
Кулинария
поиск по сайту
Информация для всех
»
Программы
23.08.2011
Веб-разработка без перезагрузки страницы в браузере. Установка LiveReload 1.6 под Windows
Каждому веб-разработчику приходится перезагружать свой браузер для просмотра изменений, сделанных в исходном коде веб-страницы или скрипта. В данной статье описана установка приложения под названием «LiveReload», которое позволяет автоматически перезагружать браузер при сохранении файла с кодом на диск. Посмотреть, как это работает, можно в скринкасте.
LiveReload состоит из двух частей:
— Ruby-пакет (gem);
— расширение для браузера.
По умолчанию приложение следит за файлами .html, .css, .js, .png, .gif, .jpg, .php, .php5, .py, .rb и .erb.
Работает под Windows, Mac OS X и Linux, в браузерах Chrome, Safari и Firefox 4.
Далее — пошаговый процесс установки LiveReload 1.6 под Windows.
Установка
1. Скачать и установить Ruby 1.9.1-p430 отсюда (10.72 Мб).
Почему не 1.9.2? Потому что LiveReload не установится на 1.9.2 (пруфы — #48, #60). У меня тоже выдавало такие ошибки, пока не установил 1.9.1.
Путь установки по умолчанию — c:\Ruby191\
2. Скачать последнюю версию Ruby DevKit отсюда (21.62 Мб).
Распаковать в любую папку, к примеру — c:\DevKit\
3. Открыть командную строку (Win+R — cmd) и выполнить три команды (последовательно):
cd c:\Ruby191\bin\
ruby c:\DevKit\dk.rb init
ruby c:\DevKit\dk.rb install
Получим сообщения об успешной установке:
[INFO] found RubyInstaller v1.9.1 at C:/Ruby191
Initialization complete! Please review and modify the auto-generated 'config.yml' file to ensure it contains the root directories to all of the installed Rubies you want enhanced by the DevKit.
[INFO] Installing 'C:/Ruby191/lib/ruby/site_ruby/1.9.1/rubygems/defaults/operating_system.rb'
[INFO] Installing 'C:/Ruby191/lib/ruby/site_ruby/devkit.rb'
4. В командной строке выполнить ещё одну команду:
gem install eventmachine-win32 win32-changenotify win32-event livereload --platform=ruby
Подождать, пока скачаются и установятся все компоненты и документация:
...
Successfully installed livereload-1.6
13 gems installed
...
Installing RDoc documentation for livereload-1.6...
5. Запустить сервер. Для того, чтобы LiveReload следил за определённой папкой, её нужно указать при запуске (в той же командной строке):
livereload d:\UniServer\www\
В ответ получим:
Version: 1.6 (compatible with browser extension versions 1.6.x)
Port: 35729
...
LiveReload is waiting for browser to connect.
6. Установить расширение:
— для Chrome;
— для Safari;
— для Firefox 4.
Далее, подключиться из браузера к серверу LiveReload (нажать на кнопку LR, в Chrome она справа сверху).
7. Готово! Если всё получилось, то в командной строке отобразится:
Browser connected.
Browser URL: ...
Теперь при каждом изменении файлов в папке d:\UniServer\www\ браузер будет автоматически обновляться, а в окне сервера будут добавляться события:
Modified: ...
8. Можно создать ярлык к файлу c:\Ruby191\bin\livereload.bat и дописать в путь папку, за которой нужно следить. Это позволит запускать сервер LiveReload без командной строки, а также добавлять его в автозагрузку Windows. Пример:
C:\Ruby191\bin\livereload.bat d:\UniServer\www\
Примечания
Авторы приложения: Никита Васильев (elv1s), Михаил Гусаров (dottedmag) и Андрей Таранцов (andreyvit). Почему-то ни один из них ещё не рассказал о LiveReload, поэтому я и написал данную статью.
Готовится к выходу новая версия 2.0, которая будет самодостаточным приложением, но станет платной. Альфа-версии для Mac можно попробовать, скачав их с сайта. Для Windows пока нет новых версий, но тоже планируются.
Функция автоматического обновления страницы по умолчанию есть в Espresso и называется Live Preview. Также предварительный просмотр есть в TopStyle и, возможно, в других редакторах. Но описанный в статье способ более универсальный и использует реальный браузер, а не встроенный в редактор.
Лучше всего, на мой взгляд, при веб-разработке с LiveReload держать открытыми два окна одновременно (split windows): слева — код страницы, справа — окно браузера. Можно также пользоваться двумя мониторами (если есть). Чтобы быстро расположить два окна в Win7 слева и справа, пользуйтесь встроенной функцией Aero Snap.
Просмотров: 1529
Подробнее »
23.08.2011
Правильная установка Mac OS 10.7 или беспроблемный переход на новую ось от Apple
Не так давно Apple представила миру свою новую ос под кодовым именем Lion и порядковым номером 10.7. Наверняка многие из вас уже ее поставили, кто-то может ждет версии 10.7.1 или даже 2. Я же хочу представить вам статью о том как по моему мнению и со взгляда своего опыта правильно и менее безболезненно перейди со Snow Leopard на Lion.
Я отношусь к тем пользователям которые не спешат ставить новую ось сразу после выхода, обычно жду первого крупного обновления но в этот раз решил поставить Льва почти сразу, через две недели после релиза, предварительно глянув отзывы и проблемы с которыми сталкиваются пользователи. Зайдя на ру-мак в уютненьком, не нашел критических проблем или багов, все сводилось к тому что кто-то не нашел привычной кнопки, у кого-то не оказалось нужного шрифта, кому-то не понравилось новое оформление и полоса прокрутки не в ту сторону, проблемы с работой специфических устройств и прочие мелочи.
Как мне кажется 85% этих проблем можно было бы избежать “правильной” установкой новой оси, а именной установкой с нуля а не обновлением текущей. Объясню почему-не смотря на заверения Стива что Льва можно без проблем поставить с Snow Leopard, старая виндовая привычка говорить о том что новую ось лучше ставить начисто, во избежание проблем, лучше заново все настроить за 2-3 часа чем потом мирится с глюками и искать их решения. Все таки Лев это новая ось, внешних изменений не так много но зато внутри Apple покопалась значительно: удалены флеш, ява, поддержка power pc приложений, удалена часть 32 битного кода и старые драйверы, добавлены новые. Чем не новая операционка?
Итак решено ставить начисто, качаем или с торрента или аппстора (у кого какие убеждения и предпочтения), извлекаем установочной образ (правой кнопкой по скачанному Льву-Показать содержание пакета-/Contents/SharedSupport/, тут должен находится образ – InstallESD.dmg-копируем на рабочий стол. Потом образ пишем на болванку или на флэшу (http://macdaily.me/howto/how-to-make-bootable-usb-drive-with-mac-os-x-lion/).
Пока образ пишется мы займемся бекапом данных.
Тут на выручку приходить еще одна виндовая мудрость — не слишком доверять встроенному в систему софту, поэтому мы не будем использовать Time Machine или сторонний софт а все сделаем руками и сохраним действительно важные данные и настройки.
Итак поехали:
Часть софта имеет возможности по сохранению настроек и своих данных на сервере или экспорт в файл (как правило основные браузеры или программы для работы с облачными сервисами, адресная книга), поэтому бекап там сводится к нажатию пары кнопок.
Почту стараемся сохраняем на почтовом сервере, так как часто бывает что емейл клиенты не в состоянии работать со своими же базами бекапа из предыдущих версий или не в состояние прочитать базу например с не юникод символами).
Остальной же софт хранит свои настройки или дынные в домашней папке-
Library или же Library-Application Support и Library-Preferences (скрыты по умолчанию). Оттуда можно скопировать торрент файлы качалки (не забываем сохранить также папку “Загрузки”), целые папки настроек приложений если у вас нет сомнений в их роботе, все это копируем на флэшу, внешний диск или Dropbox и потом не забываем положить обратно после установки новой системы.
Так же копируем папки “Музыка”, “Документы”, “Сайты” и прочие папки если там есть важные для вас данные. Не забываем глянуть что есть на “Рабочем столе”.
Бекап закончили, пора пройтись по периферии: думаю без проблем будут работать в новой системе флэшки, внешние диски, мышки, роутеры, проблемы могут постигнуть принтеры, мфу, 3г модемы и специфические устройства, поэтому интересуемся у гугля их работой в новой ос и заглядываем на сайты производителей в поисках драйверов под Льва. Так же само просмотрим наши программы, популярный софт скорее всего уже есть в версии для Льва, по другому софту читаем гугл и офф. сайты. Если же есть проблемы с наличием драйверов или работоспособности вашего софта, то с переходом на 10.7 следует повременить.
После записи образа на флэшку и бекапа нужных данных можно приступать к самой установке, перезагружаем мак-зажимаем альт-грузим флэшку-через дисковою утилиту форматируем жесткий диск и ставим начисто Льва.
Вся процедура от начала бекапа и скачки образа до завершения установки заняла у меня полтора часа, где-то столько же понадобится для настройки свежей оси, установки важных программ их настройки и копирования обратно бекапа. В вашем случае может быть быстрее или медленнее в зависимости от вашего инета или сноровки, ну и не обязательно все делать одномоментною. Как по мне такой способ установки сохранит вам время и нервы от переживания что что то работает медленно с глюками или как то не так.
Все выше написанное есть мой опыт — я не утверждаю что могут быть проблемы с обновлением Снежного Леопарда, тут как карма ляжет, просто описал свой опыт перехода.
Просмотров: 1847
Подробнее »
23.08.2011
Сборка и установка CMS Alfresco
Вкратце, CMS Alfresco — open source система управления контентом уровня предприятия, с открытыми стандартами, для платформ Microsoft Windows и Unix. Система характеризуется дизайном с высокой степенью модульности и масштабируемой производительностью. Alfresco включает в себя такие модули как репозиторий контента, готовый к использованию веб-портал, фреймворк для управления и использования стандартным содержимым портала, интерфейс CIFS, предоставляющий совместимость с файловыми системами Microsoft Windows и Unix ОС через интернет, систему управления веб-контентом с возможностью виртуализации веб-приложений и статичных сайтов через Apache Tomcat, а также предлагает механизм индексирования и поиска Lucene и jBPM workflow. Система Alfresco разработана с использованием Java технологий.
Инструкция на русском по сборке и установке данной системы найдена не была, поэтому было принято решение написать свою. При сборке и запуске найдено несколько подводных камней связанных с разрядностью системы и нехваткой памяти при запуске, об этом ниже.
Сборка CMS Alfresco
При запуске приложения на x64 системе замечена ошибка возникающая если использовать версию tomcat предназначенную для x86 системы. Поэтому для корректной работы установите версию соответствующую вашей системе.
Скачиваем исходные коды CMS Alfresco из репозитория:
Забираем из репозитория исходники
port 3690: svn://svn.alfresco.com/alfresco/HEAD
port 80: svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD
Установка JDK
JDK 1.6.x или выше. После установки добавить переменные среды:
JAVA_HOME=”\jdk1.6.0_24”
JRE_HOME=”\jre6”
в path “\jdk1.6.0_24\bin”
в path “\jre6\bin”
Установка MySQL
MySQL 4.x или выше: mysql.com/. При установке использовать следующие параметры:
Server Type=Dedicated MySQL Server Machine,
Database usage=Transactional Database Only,
InnoDB Tablespace=Оставляем по умолчанию,
Concurrent Connections=Decision Support (DSS) OLAP,
Networking and Strict Mode Options=Enable TCP/IP Networking,
Port Number 3306 и Enable Strict Mode,
Character Set=Best Support for Multilingualism,
Security Options=Modify Security Settings
После установки выполнить следующие команды для создания базы и пользователей:
mysqladmin -u root create alfresco
mysql -u root -e "grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;"
mysql -u root -e "grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;"
Установка Ant
Ant 1.8.2 или выше: ant.apache.org/. После установки добавить переменные среды:
ANT_HOME=”\ant-1.8.2”
в path “\ ant-1.8.2\bin”
Установка Tomcat
Tomcat 6.x или выше: tomcat.apache.org/. Создать две папки с tomcat: tomcat и virtual_tomcat. После установки добавить переменные среды:
APP_TOMCAT_HOME=”\6.0.32”
TOMCAT_HOME=”\tomcat-6.0.32”
VIRTUAL_TOMCAT_HOME=”\virtual-tomcat-6.0.32”
в path “\tomcat-6.0.32\bin
Сборка и запуск
Заходим в папку HEAD/root, запускаем командную строку и выполняем команду: “ant”. Начнется сборка проекта. После сборки скрип автоматически скопирует собранные war-файлы в каталог /webapps. Для запуска проекта в необходимо выполнить команду:
“ant start-tomcat-application”
Если при запуске проекта возникает ошибка связанная с нехваткой памяти, добавьте в переменные среды JAVA_OPTS=” -server -Xss1024K -Xms1G -Xmx2G -XX:MaxPermSize=128M -XX:NewSize=512m”
Открываем браузер и переходим по адресу localhost:8080/alfresco. Логин — admin, пароль — admin
Просмотров: 1547
Подробнее »
23.08.2011
Установка Chiliproject на Debian 6.0 Squeeze
Всем привет!
В этой статье я хочу расказать о своём опыте установки форка Redmine — Chiliproject.
На официальном сайте есть инструкция по установке pmc на Debian. Но есть немного подводных камней, но очень не приятных!
1. Обновляем систему и устанавливаем Ruby
Вариант установки Debian Packages
aptitude update
aptitude install ruby rubygems
Самый первый подводный камень и в самом начале оф.инструкции. Для Chiliproject по умолчанию нуже rubygems 1.4.0, но в пакетах есть версия 1.3.7.
Последняя официальная версия rubygems 1.8.7 но и она не принесла много пользы, изза постоянных ошибок, которые вылезают позже при установки gem пакетов.
После перебора версий остановился на версии 1.4.1.
Скачиваем rubygems-1.4.1 c сайта rubyforge.org/
rubygems-1.4.1
Устанавливаем:
tar -zxvf rubygems-1.4.1.tgz
cd rubygems
ruby setup.rb
Проверить версии можно так:
gem --version
2. Установка RAILS из gem пакетов
Второй подводный камень в установке Chiliproject:
gem install rails -v=2.3.12 // На оф сайте предлагают установить 2.3.5, но дальше это принёсет много проблем с generate_session_store
Дальше:
gem install rake -v=0.8.7
gem install i18n -v=0.4.2
Теперь пробуем запустить rake
rake
Если в ответ command not found указываем путь к исполнительному файлу:
export PATH=$PATH:$HOME/bin:/var/lib/gems/1.8/bin
3. Выбор и установка БД и установка веб-сервера Apache
Chiliproject поддерживает PostgreSQL, Mysql, Sqlite. В качестве основной БД была выбрана Mysql.
Устанавливаем
aptitude install mysql-server libmysql-ruby
Установка Apache
aptitude install apache2 libapache2-mpm-prefork libapache2-mod-passenger
Установим Chiliproject как виртуальный хост:
ServerName chiliproject.domain.com
DocumentRoot /srv/www/chiliproject/public
Options None
AllowOverride None
Order deny,allow
Allow from all
Активируем виртуальный хост:
a2ensite chiliproject
/etc/init.d/apache2 reload
4. Теперь установка самого Chiliproject
Устанавливаем Chiliproject из github. Для этого установим git:
aptitude install git
Создадим директорию для Chiliporject:
mkdir -p /srv/www/chiliproject
Перейдём в созданую нами директорию:
cd /serv/www
И скачиваем Chiliproject:
git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout stable
Дальше устанавливаем bundler для управления зависимостями:
gem install bundler
Дальше в корневом каталоге Chiliproject установим все завиcимости которые указаны в файле GemFile.
bundle install
Создаём базу и пользователя для нашего pmc
create database chiliproject character set utf8;
create user 'chiliproject'@'localhost' identified by 'my_password';
grant all privileges on chiliproject.* to 'chiliproject'@'localhost';
Внесем информацию о БД в конфиг config/database.yml
production:
adapter: mysql
database: chiliproject
host: localhost
port: 3306
username: chiliproject
password: my_password
socket: /var/www/mysqld/mysqld.sock
Проверим, все ли необходимые gem пакеты установлены:
bundle exec rake generate_session_store
Сразу скажу, что в GemFile нужно закоментирывать строку:
platforms :mri_19 do gem 'ruby-debug19'
Эта зависимость нам не нужна, так как у нас установлен ruby версии 1.8, а данный дебагер для версии 1.9.
Зависимости которых не хватает устанавливаем командой:
gem install gem_name -v=x.x.x
где gem_name — имя пакета, х.х.х — версия.
По окончанию проверки, и установки недостающих пакетов, вносим данные в БД:
bundle exec rake db:migrate RAILS_ENV=production
И внесём default контент, такой как: issue, tracker etc.
bundle exec rake redmine:load_default_data RAILS_ENV=production
5. Первый запуск!
Всё очень просто! Заходим в корень папки нашего pmc!
И запускаем командой:
bundle script/server -e production
Также можете добавить -d чтобы запустить сервер в фоновом режиме.
После запуска сервера, зайдите на localhost:3000/
По умолчанию логин и пароль: admin — admin.
P.S. Установка и обновление gem файлов можно делать командой:
gem update
Надеюсь эта статья поможет быстро и без проблем установить ChiliProject!
Просмотров: 2440
Подробнее »
23.08.2011
«Замораживание» и «подвешивание» базы данных Oracle 11g
Во время выполнения операций обслуживания можно временно перевести базу данных в состояние покоя («заморозить», quiesce) или ожидания («подвесить», suspend). Эти возможности позволяют не закрывать базу данных на время обслуживания, сэкономить время на её закрытие и избежать воздействий, связанных с этим процессом.
Пока база данных заморожена, новые транзакции могут быть разрешены только для учётных записей SYS и SYSTEM. Новые запросы или попытки входа в систему будут находиться в состоянии ожидания, пока база данных не будет выведена из состояния покоя. Опция перевода в состояние покоя полезна при обслуживании таблиц и сложном обслуживании данных. Чтобы воспользоваться ей, сначала необходимо активировать диспетчер управления ресурсами базы данных. Вдобавок, параметр инициализации RESOURCE_MANAGEMENT при запуске базы данных должен быть установлен на TRUE, а после запуска он не должен быть дезактивирован.
Войдя в систему как SYS или SYSTEM (другие учётные записи с привилегией SYSDBA не могут выполнять эти команды), переведите базу данных в состояние покоя:
alter system quiesce restricted;
Все сеансы с базой данных, кроме осуществляемых администратором, будут продолжать работу до завершения текущей команды и с этого момента станут неактивными. В конфигурациях Real Application Clusters все экземпляры перейдут в состояние покоя.
Чтобы проверить, находится ли база данных в состоянии покоя, нужно войти в систему как SYS или SYSTEM и выполнить следующий запрос:
select Active_State from V$INSTANCE;
Значением столбца Active_State будет NORMAL (не заморожен), QUIESCING (активные сеансы, проводимые не администратором, ещё выполняются) или QUIESCED (заморожен).
Для вывода базы данных из состояния покоя применяется команда:
alter system unquiesce;
Вместо перевода базы данных в состояние покоя (замораживания) можно перевести её в состояние ожидания. В этом состоянии база данных не выполняет операций ввода/вывода для файлов данных и управляющих файлов, что позволяет проводить её резервное копирование без помех со стороны ввода/вывода. Для перевода базы данных в состояние ожидания нужно выполнить команду:
alter system suspend;
Хотя команда alter system suspend; может выполняться из любой учётной записи с привилегией SYSDBA, нормальные операции можно возобновить только из учётных записей SYS и SYSTEM. Их использование поможет избежать потенциальных ошибок при возобновлении работы базы данных. В конфигурациях Real Application Clusters все экземпляры перейдут в состояние ожидания. Для проверки текущего статуса используется команда:
select Database_Status from V$INSTANCE;
База данных будет находиться в состоянии SUSPENDED или ACTIVE. Чтобы возобновить её работу, нужно войти в систему как SYS или SYSTEM и выполнить команду:
ater system resume;
Просмотров: 969
Подробнее »
23.08.2011
На чем можно сделать учетную программу или бесплатные аналоги 1С: Предприятия
Детище фирмы 1С можно любить, можно не любить, но оно существует, и пользуется спросом, выполняет свои функции. Но в наше время Open Source и большого ассортимента программаного обеспечения по любой тематики, зацыклеваться только на 1С: Предприятии было бы не разумно, точнее не интересно.
В данной статье рассмотрены решения (если их так можно назвать) для малого бизнеса, возможно в какой-то степени среднего.
Начнем с «2С»
Исходя из описание на сайте – это как бы логическое продолжение развития 1С: Предприятия 7.7:
«2С — это среда быстрой разработки программ для автоматизации деятельности предприятий.
Программный продукт АОЗТ «1С» «1С: Предприятие 7.7» является отправной точкой в развитии 2С, и это хорошо видно из названия.»
Зайдя на сайт, сразу обращает на себя тот факт, что последняя новость там от 2006 года. Что в принципе на этом можно было бы конечно остановиться, но решил все, же скачать самый последний снапшот проекта.
То, что это развития 1С:77 видно по всем: от стартера и пиктограмм, до общей схожести дизайна.
В режиме «Конфигуратора», тоже все очень напоминает 1С:77.
Однако, в дереве конфигурации есть ряд дополнений: общие модули, общие формы, объекты, репозитарий – это я так понимаю, то самое что не хватало в 1С:77.
Для анализа ПО будем пытаться создать самую примитивную конфигурацию из учебника
mista
1. Создаем новую базу – здесь отличий от 1с 77 нет.
2. Пытаемся создать новый справочник – Склады. Сам объект метаданных создать так же легко как и в 1с. Но попытки создать форму списка окончились неудачей: данное действие в 1с 77 не представляет, ни каких сложностей, здесь же потратив около часа времени (и общую форму пытался использовать и общую таблицу значений из примера перетащил), решил прекратить данные изыскания.
Выводы:
Хотя 1С:77 позиционируется фирмой «1С» как устаревшее решение, но для многих не больших (да и ряд средних тоже) организации хорошо живут с ней. Возможно, решение позволяющее мигрировать с 1С:77 на ПО под лицензией GPL был бы востребован. Но в данной реализации 2С ничего толком еще не умеет и не работоспособно в реальном режиме.
Перейдем а «Ананасу»:
На данный момент уже доступна версия 0.9.5 – практически релиз.
Даже окно стартера уже совсем не похоже на 1с:
• Возможность воздавать группы бизнес-схем;
• «Ананас» может работать с MySql, Postgree и встроенный формат БД.
Начнем с демо безнес-схемы:
Вроде все есть: справочники, документы. Справочники иерархические, правда нет агрегатных атрибутов (забегая вперед, добавление такого атрибута привела к падению программы).
Документы простенькие, но в полнее работоспособные, единственное, что смущает, печать происходит с помощью MS Office.
Но нас больше интересует данное ПО с точки зрения разработчика, пробуем реализовать «Мини склад».
1. Создаем базу – здесь, по мимо, пути к папке базы приходится еще дать название файлу конфигурации, а также указать параметры подключения к БД.
2. После успешного создание пустой конфигурации входим в режиме «дизайнера» и пытаемся создать новый справочник «Склады»:
2.1. Все вроде понятно: можно добавить отдельно атрибуты для элемента и для группы (создадим только для элемента)
2.2. Теперь попробуем создать форму списка – ага, ниже видим группировку формы, и жмем «новая», после чего видим диалог формы, на котором можно задать режимы использования имя и др. На вкладке «Дизайн» вызываем редактор форм.
Слева есть группировки элементов, в которых интересует «Ananas»: для отображения информации из БД следует использовать DBTable (после размещения этого виджета на форме будет доступно форма выбора таблицы), в моем случае таблица была, и в дизайнере появилась шапка с атрибутами справочника «Склады», но в режиме «Оперативный учет» отображалось только пустое поле; после вторичного входа в «дизайнере» форма тоже была пустая (может конечно я что-то не так делал). И вот отведенный час тоже прошел… даже до кода не добрался…
Написание программных модулей происходит на языке QtScript, что по сравнению с 1с конечно большой минус (да забыл у «2с» синтаксис русский полностью повторяющий 1с).
Выводы:
«Ананас» продвинулся дальше чем «2с»: и руководство пользователя есть подробное и демо пример лучше разработан, поддержка разных СУБД. Однако с точки зрения тупого одинесника, также как и 2с не представляет на данный момент, ни какой конкуренции 1с 77.
Конечно, можно упрекнуть, что я не уделил должного внимания документации, но интерес представляют такие продукты, которые позволяют с наименьшим трудом создавать прикладные решения.
Если пост будет интересен, продолжу изыскания в данном направлении.
Просмотров: 948
Подробнее »
23.08.2011
Оповещение по телефону из Zabbix
Проблема
В качестве системы мониторинга ИТ-инфраструктуры у нас используется Zabbix.
Для критичных триггеров, о срабатывании которых администраторы должны быть оповещены 24/7, настроены SMS-уведомления.
Но субботний вечер показал, что при неудачном стечении обстоятельств SMSки могут остаться незамеченными.
И случилось это конечно тогда, когда сообщение гласило: «UPS Alert — No power!».
Хорошо, что в офисе работали люди, и сообщили по телефону об отключении энергии во всем здании.
Почему бы нам не заставить Zabbix звонить по телефону? Ведь пропустить звонок сложнее, чем SMS.
Решение
Интересно? Читаем ниже:
Нам понадобится один компьютер с zabbix-агентом и asterisk.
Подготовим фразу для сообщения
Её можно записать c микрофона, либо синтезировать.
У нас на asterisk установлен festival — используем его.
Создаем ups-fail.txt
Внимание!
Отключили электричество!
Генерим wave-файл
text2wave -F 8000 -o ups-fail.wav ups-fail.txt
Кладем файл в /var/lib/asterisk/sounds
Готово.
Добавляем нужный функционал в dialplan
Вносим изменения в /etc/asterisk/extensions_custom.conf (у нас используется сборка trixbox)
[admin-alert]
exten => s,1,Answer()
exten => s,n,Playback(ups-fail)
exten => s,n,Playback(ups-fail)
exten => s,n,Playback(ups-fail)
exten => s,n,Hangup()
Готово.
Создаем call-файл для дозвона
Пусть он будет /etc/asterisk/scripts/ups_fail.call
Channel: Local/89210000000@from-internal
CallerID: MyCompany
MaxRetries: 2
RetryTime: 45
WaitTime: 30
Context: admin-alert
Extension: s
Priority: 1
AlwaysDelete Yes
Не забудем выставить владельца asterisk:asterisk.
Готово.
Делаем php-скрипт
Чтобы не мудрить, воспользуемся уже имеющимся web-сервером.
Создаем /var/www/html/alert.php (у нас trixbox).
Готово.
Первую часть можно проверить, открыв asterisk_host/alert.php из браузера.
Настраиваем zabbix-агент
Для выполнения задачи нам потребуются удаленные команды.
На выбранном zabbix-агенте разрешаем их выполнение.
Для этого в /etc/zabbix/zabbix_agentd.conf исправляем
EnableRemoteCommands=1
LogRemoteCommands=1
Перезапускаем агент: /etc/init.d/zabbix-agent restart
Готово.
Настраиваем действие в zabbix
Создаем действие на основе нужного нам триггера.
И в дополнение к рассылке уведомлений, добавляем «выполнить удаленную команду».
А команду мы будем выполнять вот такую:
zabbix_agent_host:wget -q -O /dev/null asterisk_host/alert.php
Сохраняем. Всё готово.
Проверяем: вырубаем входные автоматы в щите… получаем звонок на телефон с грозным синтезированным голосом!
В нашем случае будет три попытки дозвона на номер 89210000000: 30 секунд ждем ответа, через 15 секунд набираем заново. Если удается дозвониться, в трубку три раза проигрывается звуковой файл и вызов завершается.
Успехов! И поменьше вам таких звонков!
Просмотров: 814
Подробнее »
23.08.2011
Проблемы установки MySQL + Mac OS X + MacPorts
Описание проблемы
В процессе установки MySQL на Snow Leopard из портов, руководствуясь одной из многочисленных инструкций, столкнулся с невозможность залогиниться на сервер после старта. В качестве пользователя использовал root с пустым паролем.
Причина неисправности
В процессе поиска обнаружил опцию --skip-grant-table, которая позволяет запустить сервер в режиме открытого доступа. К моему удивлению в системной таблице mysql, созданной командой mysql_install_db, пользователей не оказалось.
Решение проблемы
Выход из сложившейся ситуации был очевиден: добавить вручную пользователя root с необходимыми привилегиями. В режиме открытого доступа это невозможно. На помощь пришла еще одна опция --init-file. Если запускать сервер с этой опцией, то файл, переданный как параметр, будет выполнен перед стартом.
Поместив в SQL файл следующий код:
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'root', PASSWORD('123456'));
GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
и запустив сервер с опцией --init-file=sql_filename.sql удалось добавить пользователя root с необходимыми привилегиями в системную таблицу.
Надеюсь, этот небольшой опыт поможет кому-нибудь сберечь несколько часов полезного времени.
Просмотров: 704
Подробнее »
23.08.2011
Простая система управления версиями для домашних проектов
Сегодня я начал маленький домашний проект и хотя команда состоит из меня одного, я, тем не менее, решил использовать систему контроля версий. На ее выбор, настройку и установку у меня ушел целый день.
Этим постом я просто хочу сэкономить кому-то время. Систему контроля версий можно настроить за 20 минут и далее написано как:
На работе используется Team Foundation Server, соответственно хотелось похожего интерфейса, функционала и интеграции в Visual Studio 2010. Замечу, что Express Edition не поддерживает интеграцию сторонних модулей, так что перманентный триал на 90 дней рулит.
Весь функционал TFS мне не нужен, нужна лишь система управления версиями.
Рассматривались Subversion + AnkhSvn, Git + Git Source Control Provider и Mercurial + HgScc. Материалов, посвященных сравнению этих систем очень много, в том числе и на Хабре.
Я остановился на последнем варианте. Решающим аргументом стал сервис для хостинга проектов Bitbucket. Для Git и Subversion есть GitHub, но он бесплатен лишь для OpenSource проектов, BitBucket же бесплатен для проприетарных проектов с числом разработчиков до 5. Ну и в общем, теперь я пишу эту статью.
Зачем возится с BitBucket при проекте, состоящем из одного девелопера? Наверное, это просто перестраховка. Даже несмотря на использование RAID 1 для рабочей информации, хочется перестраховаться и хранить результаты своей работы еще где-то.
Итак, пошаговая инструкция для установки Mercurial Windows way (то есть без консоли):
Скачать и установить Mercurial. Рекомендую выбрать установку и для Visual Studio 2008 и для Visual Studio 2010. У меня были проблемы когда я выбрал установку лишь для Visual Studio 2010.
Скачать и установить Python. На сегодня для Mercurial нужно ставить Python 2.7.2.
Скачать и установить HgScc. Надо сказать, что документация к HgScc отсутствует начисто. Считается, что пользователи должны пользоваться документацией, относящейся к Mercurial.
Запустить Visual Studio, в Tools -> Options -> Source Control выбрать Mercurial в качестве плагина для системы контроля версий.
Создать новый проект или зайти в существующий. В Solution Explorer выбрать Solution и в контекстном меню выбрать Mercurial -> Add to Source Control.
Появится окно Create Repository, в нем оставим дефолтное значение Solution Location и нажмем Ok.
Все, можно пользоваться локальным репозиторием. Единственное ухудшение по сравнению с TFS – не работает окно Pending Changes, вместо него приходится использовать модальное окно, открывающееся по Mercurial -> Commit в контекстном меню. Получается чуть медленнее. Здесь важно понимать, что когда вы совершаете commit, ваши изменения не идут сразу на сервер, они идут в локальный репозиторий на вашем компьютере.
В принципе, если вам нужен только локальный репозиторий, то на этом инструкция заканчивается.
Но Mercurial — распределенная система контроля версий, соответствено схема ее использования выглядит так: вы заливаете свои изменения на локальный репозиторий, затем синхронизируете свой локальный репозиторий с сервером (в данном случае BitBucket). Для проекта с одним разбработчиком это лишь беполезное усложнение, но для команды разработчиков это очень удобно.
Вот ролик, очень наглядно объясняющий почему это так удобно (in English).
Интеграция с BitBucket:
Зарегистрироваться на BitBucket. Создать новый репозиторий для своего проекта, не забыв отметить, что он приватный.
Подтвердить свой e-mail.
Зайти в Mercurial -> Synchronize. Здесь в первой же строке Repository Path, есть иконка с изображением ведра – это соединение с BitBucket. Ввести данные для аутентификации и выбрать репозиторий на BitBucket, с которым вы хотите синхронизировать свой проект.
Нажатие на кнопку Incoming позволяет узнать, какие изменения будут получены с сервера при нажатии кнопки Pull. Pull эти изменения непосредственно получает. Соответственно, Outgoing показывает, какие изменения будут переданы на сервер по нажатию кнопки Push, а Push передает эти изменения.
Просмотров: 809
Подробнее »
14.08.2011
Как я поверил в ХИПС
Может я просто был счастливчиком, но пока я не поставил себе Windows 98 в 98. или 99. году, честно не помню, я с вирусами вообще не сталкивался. Сначала на Windows 98 попал Саддам Хусейн вирус, после загрузки винды появлялась его фотография(в ASCII) и что-то было написано(я в английском не очень-то был силён тогда). На Windows XP попадался Sality и мучил меня постоянно. И тогда я сообразил — надо выбрать антивирус! Поставил и понял что этого мало. Ставил всякие антиспайверы в придачу и вроде как стало всё ок — вирусов нет, компьютер немножко тормозит но работать можно. Сразу же после этого 'приёма' вирусов как будто перестало существовать.
Вот так я и жил спокойно до сегодняшнего дня. Сегодня утром встал какой-то уставший, несмотря на то что спал 10 часов, и решил посмотреть фильм. Поискал онлайн фильмы, нашел хорошенький сайт и вдруг выскакивает реклама. Ищу большое 'X' чтоб закрыть окошко, не нахожу и думаю — «Может если кликну по ней, она исчезнет и я успею расслабится и посмотреть фильм». Кликаю, открывается новое окошко, браузер закрывается, explorer.exe перезапускается и я понимаю что я попал. Антивирус не работает, а вместо него в углу стоит щит и при клике на него выходи Фейкалерт. А я просто хотел посмотреть фильм. Сразу запустил Process Explorer и увидел куда он поселился — конечно же папка Local в AppData(Windows7) под именем gnt.exe.
К счастью успел легко от него избавится — просто убил процесс и скопировал его на рабочий стол и удалил всё из папки Temp. Кстати в папке Temp перед удалением нашел лоадер — jar_cache.
Семплы отослал антивирусным разработчикам.
Кто интересуется, может посмотреть VT и Malware Analysis Report
gnt.exe
jar_cashe
Malware Analysis Report
После такого случая я понял что мне придется приобрести ХИПС, так-как антивирус меня не спас, и конечно же найти что-то похожее на NoScript но для Оперы.
Просмотров: 766
Подробнее »
← Назад
1
2
3
4
5
6
7
8
Вперед →
НАВИГАЦИЯ
Главная страница
ЮМОР
СПОРТ
МУЗЫКА
РЕФЕРАТЫ
ЭКОНОМИКА
ИССКУСТВО
АВТОМОБИЛИ
КОМПЬЮТЕРЫ
СТРОИТЕЛЬСТВО
ПРОГРАММЫ
ЖЕЛЕЗО
ЭЛЕКТРОНИКА
ПРОГРАММИРОВАНИЕ
ПОПУЛЯРНОЕ
ОПРОС
Ваш вид домашнего телефона
радиотрубка
проводной
проводной с АОН
радиотрубка с АОН
отсутствует
Голосовать
Результаты
АККАУНТ
Имя:
Пароль:
Войти
Регистрация
|
Забыл пароль
Обьявления
Производится обмен на деньги, 12ти канального микшера, мощностью 1кВт Powerpod K12
КАЛЕНДАРЬ
«
Май 2012 »
Пн
Вт
Ср
Чт
Пт
Сб
Вс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
КЛЮЧЕВЫЕ СЛОВА
Карта сайта