Pull to refresh
9
0
Send message

Ардуино на службе здоровья

Reading time10 min
Views119K
В статье описан путь от идеи до создания домашнего портативного анализатора качества воздуха (CO2, влажность, температура, давление).

Вступление


В сети много гуляет разных кошмаров про безжалостную черную плесень, которая убивает людей, а плесень любит влажные помещения. Бороться с плесенью тяжело, но самое первое, за чем нужно следить – это влажность воздуха. Еще о влажности стоит вспомнить с наступлением зимы, так как нагревая холодный воздух мы тем самым понижаем его влажность, а слишком сухой воздух негативно сказывается на слизистых оболочках, резко снижая иммунитет.
Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments37

Бесплатный Code signing для Open Source от Certum

Reading time3 min
Views29K
Запустив сегодня программу, описанную в статье, я увидел следующее предупреждение:


Бросается в глаза необычный префикс, Open source developer. Кроме того, несколько дней назад я уже видел точно такой же префикс, с другим именем. Напрашивается вывод, что, скорее всего, существует какая-то программа выдачи подобных сертификатов.

Несложный поиск показал следующее:
Что именно?
Total votes 29: ↑28 and ↓1+27
Comments19

Создание пользовательских OID для мониторинга систем на Caché с помощью SNMP

Reading time12 min
Views17K
Доброго дня (вечера, ночи, утра — нужное подчеркнуть) всем хаброжителям!
Этот пост посвящен мониторингу инстанса Caché с помощью SNMP. Наверняка, многие пользователи Caché этим в той или иной степени уже пользуются. Мониторинг через SNMP поддерживается в стандартной инсталляции Caché уже давно, однако далеко не все интересующие параметры доступны из «коробки». Например, хотелось бы видеть мониторинг количества CSP-сессий, более подробные сведения по использованию лицензии, частные KPI эксплуатируемой системы и т.п.
В этой статье вы узнаете, как добавить свои параметры для мониторинга Caché с помощью SNMP.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Введение в FreeSWITCH, часть первая

Reading time3 min
Views49K
В свое время я открыл для себя Asterisk и VoIP вообще после прочтения серии статей на opennet.ru о его настройке. Попробую повторить пиар подобного типа для FreeSWITCH.

Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments1

Краткий экскурс в охлаждение серверных

Reading time16 min
Views107K
В определенный момент некоторые предприятия дорастают до того состояния, когда их внутренние информационные системы перестают умещаться в одном серверном шкафу. Тогда руководителю IT-департамента предстоит взвесить все «за» и «против» и решить, строить или не строить серверную. Вариантов может быть несколько: от полного избавления от собственных мощностей и увода их в облака или колокейшн в большом ЦОДе, до строительства собственного мини- (или не очень мини) ЦОДа с блэкджеком.

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

Второй по величине потребитель ресурсов (в данном случае это электричество и расходники) в серверной — это система охлаждения. Ни для кого не новость, что “мощность” системы охлаждения серверной должна минимум совпадать, а в лучшем случае превышать на пару десятков процентов пиковую мощность всего оборудования установленного в серверной. О том, какие системы охлаждения бывают и как сэкономить на эксплуатации таких систем мы и поговорим в этой статье.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments11

Ещё одна метеостанция, пошаговая видеоинструкция

Reading time5 min
Views28K
Последнее время все более популярна стала тема метеостанций. Наверное создание собственной погодной станции является хорошей практикой в освоении ардуинки. Хочу внести свой небольшой вклад в это благое дело.
Хочу представить Вам видео урок по работе с датчикам температуры, влажности, давления, и выводу этих данных на дисплей.Возможно эта информация кому — то поможет начать свой путь в мир микроконтроллеров.
Если интересно - смотрим
Total votes 22: ↑19 and ↓3+16
Comments20

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time9 min
Views96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

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

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Total votes 131: ↑81 and ↓50+31
Comments85

Метеостанция на прокачку. Добавим к Ардуине SD карту

Reading time9 min
Views12K
Мой предыдущий пост о процессе создания метеостанции на ардуине вызвал положительную реакцию, поэтому я хочу продолжить тему. Представляю вам следующий видео урок где будет рассказано как подключить к ардуинке SD катру, записать на нее данные с датчиков в виде лога, ну и выгрузить эти данные в ком порт.
Если интересно запасаемся попкорном и смотрим
Total votes 10: ↑5 and ↓50
Comments15

Подключаем китайскую метеостанцию

Reading time3 min
Views42K
В сети широко рассматривался вариант реализации датчика температуры, выполненного на микросхеме DS18B20 и подключенного к роутеру TP-link MR-3020 ( с прошивкой OpenWRT) через преобразователь PL2303.
Утилитой digitemp датчик читался и данные отправлялись на сайт narodmon.ru.

Но данного функционала оказалось маловато, захотелось чего-то большего…
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments15

Введение в FreeSWITCH, часть вторая

Reading time4 min
Views36K
О FreeSWITCH
Первая часть

Номерной план



Итак, у FreeSWITCH можно подкрутить множество настроек, но основное действо будет происходить в номерном плане. Номерной план располагается в conf/dialplan/*. Как обычно препроцессинг собирает все файлы из этой папки в один. Номерной план делится на контексты (context). То есть следуя настройкам в SIP профиле, настройкам пользователя, выбирается соотвествующий контекст и звонок обрабатывается в соответствии с модулями (extension, переводится на русский как «добавочный номер», но не соответствует смыслу).

Читать дальше →
Total votes 4: ↑2 and ↓20
Comments10

Droidutils — набор решений, которые ускоряют разработку приложений под Android

Reading time7 min
Views20K
При разработке приложений я заметил, что каждый раз, когда мне приходилось сталкиваться с решением похожих задач (реализовывать работу с http, json, multithreading и т.п.), приходилось делать одну и туже роботу, причем на это уходило много времени. Поначалу это было не критично, но в больших проектах занимало слишком много времени. Чтобы сэкономить свое и ваше время, решил написать универсальное решение для этих задач, которым и хочу поделиться с сообществом.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments36

Как IT-фрилансеру стать предпринимателем. Часть 3

Reading time4 min
Views36K
Всем привет! Мы продолжаем серию постов о том, как IT-фрилансеру стать предпринимателем. Вы уже знаете, почему ИП лучше, чем ООО и как зарегистрировать ИП самостоятельно. Сегодня мы расскажем, что ждёт предпринимателя после регистрации.



Краткий путеводитель для начинающих предпринимателей от «Я люблю ИП»
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments46

Настройка OpenVPN в связке Mikrotik/Ubuntu

Reading time3 min
Views181K
В любой компании, где существует более одного офиса, рано или поздно возникает необходимость в объединении этих самых офисов. Многие провайдеры предлагают такие услуги, но попросят за это денег, да и кто знает, что там творится на стороне провайдера? Поэтому сделаем все сами, и рассмотрим вариант объединения с помощью Mikrotik RB750, Ubuntu и OpenVPN.

image
Читать дальше →
Total votes 46: ↑36 and ↓10+26
Comments28

Комнатная метеостанция на Arduino

Reading time4 min
Views127K
Однажды, исследуя просторы интернета наткнулся я на интересную плату Arduino. Меня очень заинтересовала эта плата. С ее помощью можно сделать самому робота, метеостанцию, сигнализацию и даже что-то посерьезней, например — «Умный Дом».

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

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

Вот так метеостанция будет выглядеть в сборе:

image

Наверно, вам захотелось собрать такое же устройство, ну что же, не будем тянуть.
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments108

MAYHEM — многоцелевой бот для *NIX-серверов. Расследование Яндекс.Безопасности

Reading time5 min
Views44K
UPD. Спустя несколько часов после публикации на Хабре англоязычная версия этого исследования команды Безопасного поиска Яндекса вышла на Virus Bulletin. Чуть больше деталей и ссылки на библиографию.

Ботнеты из зараженных серверов под управлением ОС на базе *nix становятся все более популярными у злоумышленников. Широкий канал, отличный uptime и мощное железо делают сервера привлекательной целью для заражения. Принято считать, что для полноценного заражения *nix-системы нужно обладать правами root. Однако злоумышленники придумывают все новые и новые способы извлечения из зараженного сервера максимума пользы, довольствуясь при этом маленькими привилегиями. В этом посте мы расскажем о довольно нестандартном ботнете под названием MAYHEM, состоящем из зараженных серверов.



Изначально MAYHEM представляет собой php-скрипт, который после запуска определяет архитектуру системы (x86 или x64) и наличие прав на запись в текущую директорию. Эти привилегии в подавляющем большинстве случаев есть у пользователя, под которым запущен веб-сервер, и в данном случае их достаточно для работы бота.
Читать дальше →
Total votes 119: ↑112 and ↓7+105
Comments45

Caesar III: game loop

Reading time27 min
Views69K
Если бы меня спросили, какая часть технической реализации игры «Цезарь» мне интересна больше других, я бы вспомнил о расчете одного «дня» городской жизни. Отдельные компоненты математической модели города тоже интересны в реализации, но эти «шестеренки» будут крутиться только в сборе. Большая часть игры проходит внутри «игрового цикла», в котором проводятся вычисления параметров компонентов, выполняются перемещения игровых объектов, создаются новые события и объекты. Если вам интересно узнать, как была устроена симуляция города в одной из лучших игр 1998 года — добро пожаловать под кат. Описания, псевдокод и схемы помогут вам лучше узнать об используемых алгоритмах.


Читать дальше →
Total votes 151: ↑150 and ↓1+149
Comments26

Как защитить свой сервер от уязвимости POODLE SSLv3

Reading time4 min
Views28K

Вводная информация


14 октября 2014 года в протоколе шифрования SSL версии 3 была выявлена уязвимость. Эта уязвимость, названная POODLE (Padding Oracle On Downgraded Legacy Encryption), позволяет злоумышленнику читать информацию, зашифрованную этой версией протокола, используя атаку man-in-the-middle.
Также SSLv3 является очень старой версией протокола, но тем не менее многие приложения поддерживают его и используют SSLv3 в случаях, когда недоступны другие более новые и лучшие варианты шифрования. Что важно, злоумышленник может нарочно требовать использования только SSLv3 на обоих сторонах соединения.
Уязвимости POODLE подвержены любые сервисы или клиенты, которые могут соединяться, используя SSLv3.
Более подробная информация по этой уязвимости опубликована здесь CVE-2014-3566.


Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments12

Использование паттерна Proxy для организации кэширования на PHP

Reading time3 min
Views8.3K
Постановка задачи. Имеется действующий отлаженный проект на PHP, содержащий десяток моделей, в каждой из которых по 5 методов выборок данных. Проект растет, всё хорошо, но в определенный момент, под тяжестью нагрузки, назревает необходимость добавить каким-то образом кэширование обращений к моделям.

Возможные решения.

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

  1. Нарушается один из принципов SOLID, «код должен быть открыт для расширения, но закрыт для изменений», т.е. мы берем и ломаем уже отлаженный выпущенный в продакшн код для того, чтобы добавить новую функциональность, а это всегда вызывает шквал ошибок и как следствие недовольство пользователей и заказчика.
  2. В одном и том же коде смешивается логика получения данных и кэширование, что приводит к распуханию классов и беспощадному повторению кода.
  3. Сделав так, мы лишаемся возможности получить живые данные в обход кэша (следующим шагом будет добавление флага $nocache).
  4. Очень высокая трудоёмкость впиливания кэширования таким способом и ещё большая трудоёмкость выпиливания его потом.

Второй способ, «расширяем классы моделей»: добавляем в модели методы-дублеры, которые оборачивают вызовы существующих методов в кэширование, например findById_Cached().
Вроде бы лучше, существующие методы не трогаем, вместо этого добавляем новые. Но остальные минусы на месте:
  1. Смешивание логики.
  2. Размеры классов растут ещё больше, чем в предыдущем способе.
  3. Очень высокая трудоемкость (добавить 50 новых методов, в нашем примере) + заменить везде в приложении вызовы старых методов, на новые, а если в будущем придется кэширование выпиливать, то еще и повторить все действия назад.


Третий способ «кэширующий прокси», очень простое и быстрое решение, поражающее своим изяществом и скоростью внедрения. Как его сделать – смотрим код.
Читать дальше →
Total votes 14: ↑5 and ↓9-4
Comments24

Удобный поиск компьютера пользователя в домене Windows

Reading time5 min
Views34K
Привет всем!
Работаю в компании. 1500+ активных пользователей.
Организован ХелпДеск, сотрудники регистрируют тикеты в системе, но, как-то так получается, что часть из юзеров забывают указывать имя пк, за которым они находятся.

Для выяснения этой информации (по телефону/email/экстрасенсорные способности) девочки из поддержки тратят драгоценное время, которое они могли бы уделить свежей чашке кофе или разговорам о новом платье (шутка). Наши сотрудники постоянно заняты своей непосредственной работой.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments50

mod_proctitle — модуль Apache для отображения запросов и краткой статистики в имени программы (вывод top и ps)

Reading time3 min
Views7.1K
Часто возникает ситуация, когда надо быстро оценить, чем занимается ваш веб-сервер. Иногда для успокоения «вроде не он». Когда на сервере один апач, один сайт, нагрузка небольшая — проблем нет. Зашел, top посмотрел. /server-status посмотрел, tail -f на логи сделал, помедитировал — и обычно всё понятно. Однако бывает ситуация, когда сайтов много, много самих apache (почти все ОС сейчас из коробки умеют подымать несколько веб-серверов apache, но этим редко пользуются почему-то). Бывает ситуация, когда apache уже и ответить не может. Как было бы хорошо, хотя бы примерно прикинуть, что делают (или уже делали) воркеры апача. Представьте — делаете вы ps -aux, а у вас там — кто какие URL запрашивает, какой ширины канал занят, какова скорость работы — ня!

Я достаточно давно использую патч для apache, который после разбора строки запроса пишет в имя программы IP, откуда был запрос, то, что пришло в заголовке Host и саму строку запроса. Но этот двухстрочный патч был написан 12 лет назад для Apache версии 1.3. А потом руки не доходили. Тем более, с того времени появилось множество (я за пять минут нашел как минимум два) разновидностей модулей для тех целей, для более новых версий Apache. Однако, со временем мне стало маловато просто строк запросов. И… я написал свой модуль.
Как это было
Total votes 24: ↑22 and ↓2+20
Comments25

Information

Rating
Does not participate
Registered
Activity