Открытая платформа oVirt. То что надо для промышленной виртуализации Александр Руденко # yum localinstall -y http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum localinstall -y http://mirrors.ibiblio.org/ovirt/pub/yum-repo/ovirt-release34.rpm # yum install -y ovirt-engine # engine-setup # chown vdsm:kvm <каталог> /var/lib/exports/iso 0.0.0.0/0.0.0.0 (rw) /<каталог> 0.0.0.0/0.0.0.0 (rw) # service nfs restart # rm -Rf /var/lib/exports/iso/* <полное имя Engine сервера>:/<каталог> <полное имя Engine сервера>:/var/lib/exports/iso/ # cd /var/lib/exports/iso//images/111111-111111111-111111111111/ # wget http://repo.fedora.md/centos/6.5/isos/i386/CentOS-6.5-i386-minimal.iso # engine-manage-domains add --domain='mydomain.com' --provider=ad --user='ovirtadmin@mydomain.com' # service ovirt-engine restart ----------------------------------------------------------------------------------------------------------------- Мониторинг виртуальной инфраструктуры Сергей Болдин chown nagios.nagcmd /usr/local/nagiosxi/html/includes/configwizards/vmware/scripts/getguests.pl chmod 775 /usr/local/nagiosxi/html/includes/configwizards/vmware/scripts/getguests.pl yum erase perl-XML-SAX-Base -y yum install perl-XML-SAX --exclude=perl-XML-SAX-Base -y yum install perl-Nagios-Plugin libuuid* perl-XML-LibXML cd /tmp tar xzf VMware-vSphere-SDK-for-Perl-4.0.0-161974.x86_64.tar.gz cd vmware-vsphere-cli-distrib/ ./vmware-install.pl ----------------------------------------------------------------------------------------------------------------- Система Nagios. Комплексный мониторинг. Часть 1 Рашид Ачилов # yum list nagios cfg_file=/usr/local/etc/nagios/hostextinfo.cfg cfg_dir=/usr/local/etc/nagios/services log_rotation_method=m define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 } define timeperiod{ timeperiod_name workhours alias Normal Work Hours monday 09:00-17:00 tuesday 09:00-17:00 wednesday 09:00-17:00 thursday 09:00-17:00 friday 09:00-17:00 } define timeperiod{ timeperiod_name none alias No Time Is A Good Time } define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ } define command{ command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ } define contact{ contact_name severtsev-rv alias Ruslan V. Severtsev service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,c,u,r host_notification_options d,u,r service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email email severtsev-rv@deltahw.ru } define contactgroup{ contactgroup_name hardware-admins alias Hardware Hosts Administrators members severtsev-rv, nagios } define contactgroup{ contactgroup_name windows-admins alias Remote Windows Administrators members severtsev-rv, nagios } $USER2$=10.54.1.1 $USER3$=10.54.1.2 define command{ command_name check_ilo_power command_line $USER1$/check_ilo_power.pl -H $HOSTADDRESS$ -u nagios -p NaGiOs123 -2 -d -t 60 } define command{ command_name check_ipmi_fan_speed command_line $USER1$/check_ipmi_sensor -H $HOSTADDRESS$ -U nagios -P NaGiOs123 -L USER -T Fan } define command{ command_name check_snmp_oid command_line $USER1$/check_snmp -H $HOSTADDRESS$ -p $ARG1$ -o $ARG2$ -C $ARG3$ -w $ARG4$ -c $ARG5$ -u $ARG6$ -l "" -P $ARG7$ } define command{ command_name check_nrpe_cmd command_line $USER1$/check_nrpe2 -H $HOSTADDRESS$ -p 5666 -t 20 -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ } define command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1 } define host{ name generic-host ; notifications_enabled 1 ; event_handler_enabled 1 ; flap_detection_enabled 1 ; process_perf_data 1 ; retain_status_information 1 ; retain_nonstatus_information 1 ; max_check_attempts 3 ; check_interval 2 ; retry_interval 1 ; notification_interval 300 ; register 0 ; } ----------------------------------------------------------------------------------------------------------------- Все о печати из 1С Олег Филиппов КлючНастройки = ""; КлючОбъекта = "Общее/НастройкиПечатиТабличногоДокумента/ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_М4"; Пользователь = "Админ Администратович Администраторов"; ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, КлючНастройки, Пользователь); ----------------------------------------------------------------------------------------------------------------- Введение в AngularJS Игорь Антонов Листинг 1. Код службы todoStorage todomvc.factory('todoStorage', function () { var STORAGE_ID = 'todos-angularjs'; return { get: function () { return JSON.parse(localStorage.getItem(STORAGE_ID) || '[]'); }, put: function (todos) { localStorage.setItem(STORAGE_ID, JSON.stringify(todos)); } }; }); Листинг 2. Код контроллера todomvc.controller('TodoCtrl', function TodoCtrl($scope, todoStorage) { var todos = $scope.todos = todoStorage.get(); $scope.$watch('todos', function () { todoStorage.put(todos); }, true); $scope.addTodo = function () { if (!$scope.newTodo.length) { return; } todos.push({ title: $scope.newTodo, completed: false }); $scope.newTodo = ''; }; $scope.editTodo = function (todo) { $scope.editedTodo = todo; }; $scope.doneEditing = function (todo) { $scope.editedTodo = null; if (!todo.title) { $scope.removeTodo(todo); } }; $scope.removeTodo = function (todo) { todos.splice(todos.indexOf(todo), 1); }; Листинг 3. Пример использования директив в представлении Листинг 4. Код директивы myDatepicker directive('myDatepicker', function() { return { require: 'ngModel', link: function (scope, element, attrs, ngModelCtrl) { $(function() { element.datepicker({ showOn: 'both', changeYear: true, changeMonth: true, dateFormat: 'dd.mm.yy', maxDate: '+1Y', yearRange: '1920:2015', onSelect:function (dateText, inst) { ngModelCtrl.$setViewValue(dateText); scope.$apply(); } }); }); } } }); ----------------------------------------------------------------------------------------------------------------- Алгоритмы: ирландское рагу Алексей Вторников int a = 10, b = 20, temp = 0; temp = a; a = b; b = temp; int a = 10, b = 20; a = a + b; b = a – b; a = a – b; int a = 10, b = 20; a = a ^ b; b = a ^ b; int quarter = 0; switch (month) { case 1: case 2: case 3: quarter = 1; break; case 4: case 5: case 6: quarter = 2; break; ... } if (month >= 1 && month <= 3) quarter = 1; if (month >= 4 && month <= 6) quarter = 1; ... quarter = [(month - 1) / 3] + 1 int a, b; int min = 0; ... if (a > b) min = b; else min = a; min (a, b) = (a + b – abs (a – b)) / 2; int count1 = 0, count2 = 0, count3 = 0, count4 = 0; int weight = 0; while (table.next ()) { if (table.number == 1) count1 = count1 + 1; if (table.number == 2) count2 = count2 + 1; if (table.number == 3) count3 = count3 + 1; if (table.number == 4) count4 = count4 + 1; } weight = count1 * 10 + count2 * 20 + count3 * 30 + count4 * 40; if ((weight == 10) || (weight == 30) || (weight == 60) || (weight == 100)) { return true; } else { return false; } ----------------------------------------------------------------------------------------------------------------- Особенности построения корректных программс использованием метода вычисления индуктивных функций Кирилл Ткаченко Листинг 1. Программа решения задачи 1 public class Main { public static void main(String[] args) { double[] o = { 8.1580e+0, 8.5010e+0, 1.7370e+1, 7.7220e+0, 1.3190e+1, 9.0350e+0, 1.1660e+1, 1.0920e+1, 6.4290e+0, 1.4050e+1, 1.3000e+1, 4.8380e+0, 9.8400e+0, 1.9450e+1, 9.8130e+0, 1.0770e+1, 5.2450e+0, 7.9320e+0, 1.0850e+1, 1.1060e+1, 8.8590e+0, 1.6640e+1, 1.7500e+0, 1.5080e+0, 2.1370e+1, 8.9400e+0, 8.8250e+0, 1.0410e+1, 7.6320e+0, 2.3720e+0, 1.2780e+1, 1.3780e+1, -1.1430e+0, 1.0470e+1, 8.7490e+0, 7.5710e+0, 1.7070e+1, 6.7480e+0, 1.0260e+1, 7.5710e+0, 8.6910e+0, 1.7790e+1, 1.4550e+1, 8.7880e+0, 1.7080e+1, 6.8140e+0, 8.1570e+0, 7.2240e+0, 9.9540e+0, -5.6870e-1 }; double fo1, fo2; if (o[0] <= o[1]) { fo1 = o[0]; fo2 = o[1]; } else { fo1 = o[1]; fo2 = o[0]; } for (int i = 2; i < o.length; i++) { double x = o[i]; if (fo1 <= fo2 && fo2 <= x) { fo2 = x; } else if (x <= fo1 && fo1 <= fo2) { fo1 = x; } } System.out.println(String.format("%.4f\t%.4f", fo1, fo2)); } } Листинг 2. Программа решения задачи 2 public class Main { public static void main(String[] args) { double[] o = { 8.1580e+0, 8.5010e+0, 1.7370e+1, 7.7220e+0, 1.3190e+1, 9.0350e+0, 1.1660e+1, 1.0920e+1, 6.4290e+0, 1.4050e+1, 1.3000e+1, 4.8380e+0, 9.8400e+0, 1.9450e+1, 9.8130e+0, 1.0770e+1, 5.2450e+0, 7.9320e+0, 1.0850e+1, 1.1060e+1, 8.8590e+0, 1.6640e+1, 1.7500e+0, 1.5080e+0, 2.1370e+1, 8.9400e+0, 8.8250e+0, 1.0410e+1, 7.6320e+0, 2.3720e+0, 1.2780e+1, 1.3780e+1, -1.1430e+0, 1.0470e+1, 8.7490e+0, 7.5710e+0, 1.7070e+1, 6.7480e+0, 1.0260e+1, 7.5710e+0, 8.6910e+0, 1.7790e+1, 1.4550e+1, 8.7880e+0, 1.7080e+1, 6.8140e+0, 8.1570e+0, 7.2240e+0, 9.9540e+0, -5.6870e-1 }; double fo1, fo2, fo3; if (o[0] <= o[1] && o[1] <= o[2]) { fo1 = o[0]; fo2 = o[1]; fo3 = o[2]; } else if (o[0] <= o[2] && o[2] <= o[1]) { fo1 = o[0]; fo2 = o[2]; fo3 = o[1]; } else if (o[1] <= o[0] && o[0] <= o[2]) { fo1 = o[1]; fo2 = o[0]; fo3 = o[2]; } else if (o[1] <= o[2] && o[2] <= o[0]) { fo1 = o[1]; fo2 = o[2]; fo3 = o[0]; } else if (o[2] <= o[0] && o[0] <= o[1]) { fo1 = o[2]; fo2 = o[0]; fo3 = o[1]; } else { fo1 = o[2]; fo2 = o[1]; fo3 = o[0]; } for (int i = 3; i < o.length; i++) { double x = o[i]; if (fo1 <= x && x <= fo2) { fo1 = x; } else if (fo2 <= x && x <= fo3) { fo1 = fo2; fo2 = x; } else if (fo3 <= x) { fo1 = fo2; fo2 = fo3; fo3 = x; } } System.out.println(String.format("%.4f\t%.4f\t%.4f", fo1, fo2, fo3)); } } -----------------------------------------------------------------------------------------------------------------