Установка и настройка библиотеки CryptoPP для C/C++

Прежде всего пара слов об этой замечательной библиотеке.

CryptoPP (она же Crypto++) — это чудесная и очень обширная библиотека криптографических функций и алгоритмов. Огромный выбор хеш-функций, реализации всех или почти всех шифров, возможность гибкой настройки каждого из них. Это и многое другое вы получите сразу после того, как прочитаете мою заметку и научитесь компилировать, собирать и подключать Crypto++ к своим проектам.

Неоспоримые плюсы CryptoPP

  • Умопомрачительное количество реализованных алгоритмов и протоколов (в том числе протокол Диффи-Хеллмана);
  • Самодокументированный код: библиотека грамотно написана, благодаря чему во многих случаях отпадает необходимость часто «гуглить» решение;
  • Скорость работы на хорошем уровне: а были сомнения? Это ж плюсы все таки.

Вещи, которые могут отпугнуть

Библиотека написана на полноценном академическом C++ с активным использованием ООП, шаблонов и классов. На первый взгляд это может показаться жутким запутанным клубком шаблонов, классов, статических функции и прочих ужасов. Особенно если библиотека была установлена «на один раз», например, студентом для домашнего задания.

Но есть выход! В таком случае можно просто нагуглить парочку примеров и вечно их модернизировать под разные задачи. Это становиться возможным как раз благодаря гибкой системе шаблонов. Работа с совершенно разными алгоритмами может быть реализована практически не отличающимся кодом. О этот чудный C++!

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

Установка библиотеки Crypto++

читать далее «Установка и настройка библиотеки CryptoPP для C/C++»

Настройка подключения по SSH с помощью OpenSSH на Linux

SSH(Secure Shell) — очень крутой инструмент удаленного администрирования, который позволяет безопасно подключаться к консоли сервера. Перечислять причины, по которым это очень удобно можно бесконечно, достаточно просто представить, что не нужно идти в серверную, в которой скорее всего очень жарко(если это плохая серверная) или очень холодно(если хорошая), а можно со своего рабочего места подключиться напрямую.

Но хватит мечтать, пора настраивать!

Установка OpenSSH

Осуществить такое чудо можно с помощью программы OpenSSH, соответственно на сервере должен быть установлен openssh-server, а на клиенте openssh-client.

Установка на сервере

apt-get install openssh-server

Установка на клиенте

apt-get install openssh-client

Ничего не мешает установить клиент и сервер на одной машине и проверить работоспособность подключившись к самому себе командой

ssh user@localhost

Если все работает, то вам будет предложено ввести пароль пользователя user. Естественно, такой пользователь должен существовать на сервере.

читать далее «Настройка подключения по SSH с помощью OpenSSH на Linux»

RabbitMQ — установка и простейший пример на PHP

RabbitMQ — это мощный инструмент, реализующий обмен сообщениями между компонентами программной среды, будь-то процессы, web-приложения, клиент-сервер и прочее. Обмен сообщениями происходит по стандарту AMQP, который своим появлением решил огромную кучу проблем и вылечил множество головных болей разработчиков.

Самым большим преимуществом является то, что стандарт доступен в огромном количестве языков программирования, это позволяет обмениваться сообщениями скрипту на PHP со скриптом на Python и им обоим отправлять сообщения на сервер, который написан на Java. В двух словах — очень удобно!

Основные термины:

Producer — поставщик — программа, которая отправляет сообщения в очередь.

Consumer — подписчик — программа, которая принимает сообщения из очереди, чаще всего находится в режиме ожидания и при получении сообщения сразу же приступает к его обработке.

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

читать далее «RabbitMQ — установка и простейший пример на PHP»

Настройка репликации Master-Slave в MySQL

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

Master-Slave репликация MySQL

В терминологии Master-Slave мастером является первичный сервер с базой данных, на нем производится запись в базу, но чтение распределяется между мастером и слейвом в зависимости от нагрузки на систему, что повышает отказоустойчивость и производительность. Кроме того, благодаря такому подходу, копия базы данных всегда под рукой и ее можно восстановить в случае отказа одного из серверов.

В каких ситуациях может понадобится slave-сервер? Например, когда поступает большой массив данных для записи в базу и master-сервер просто не успевает выполнять чтение и клиенту приходится ждать окончания записи, чего можно избежать благодаря slave-серверу.

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

Репликацию настроить совсем не сложно, благо механизм заложен в MySQL с самого начала.

Настройка на Master сервере

читать далее «Настройка репликации Master-Slave в MySQL»

Zend Framework — установка с помощью Composer

В прошлой своей инструкции я предложил скачать настроенный Zend Framework с установленной Doctrina на борту и добавил, что можно «легко и просто» скачать все с официального сайта и установить. А сейчас я решил, что пришло время написать подробнее про «легкую и простую» установку.

Устанавливать будем с помощью замечательного пакетного менеджера на PHP — Composer. Очень удобная штука, позволяет буквально в одну команду установить любые зависимости в проекте, подключать библиотеки и прочее. Zend Framework тоже поддерживает Composer и сейчас я опишу, как можно сравнительно легко установить любую версию фреймворка.

Установка Zend Framework

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

читать далее «Zend Framework — установка с помощью Composer»