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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка Zend Framework

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

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

Настройка OpenMP в CLion и пример программы

Доброго времени суток! Продолжаем рассматривать варианты параллельного исполнения программ. Я уже рассказывал про библиотеку MPI, которая позволяет создавать несколько параллельно исполняемых процессов в системе. Рассказал о базовой установке MPI, интеграции его в CLion и даже поделился своей реализацией алгоритма Флойда-Уоршелла.

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

А в этой статье я расскажу о потоках(Threads). Потоки создаются внутри процесса, они имеют доступ к стеку своего процесса, могут читать и писать в область памяти процесса. Благодаря этому увеличивается эффективность параллельных алгоритмов, уменьшаются затраты ресурсов на пересылку данных. Кроме того, упрощается программирование алгоритмов, проще следить за синхронизацией данных и прочее.

Что такое OpenMP

Признанным открытым стандартном параллельного программирования на языках C/C++ и Fortran является OpenMP. Он включает в себя множество директив препроцессора, библиотечных функций и переменных окружения для реализации многопоточных программ. Более подробную информацию вы сможете найти на вики и прочих источниках, а я перейду непосредственно к настройке.

читать далее «Настройка OpenMP в CLion и пример программы»

Iptables — настройка Firewall для Linux

Всех приветствую! Разговор пойдет о консольной утилите iptables для Linux систем, которую смело можно обозвать полноценным сетевым экраном. Разобраться в ней «с наскока» не так просто, как хотелось бы, страница с маном кажется просто огромной простыней лишнего текста, не понятно для кого написанной. Конечно, это только мое мнение, именно поэтому я и решил написать эту шпаргалку по iptables, чтобы в следующий раз идти уже по проторенной дорожке.

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

Firewall Iptables

Как гласит викиучебник, iptables является оболочкой над netfilter, которая повсеместно принята за стандарт. Часто под iptables понимают сам межсетевой экран netfilter, и мы не станем исключением. Хотя вообще весь набор программ — межсетевой экран + утилита для управления им так и называется: netfilter/iptables.

читать далее «Iptables — настройка Firewall для Linux»

Установка wine32(x86) и wine64(x64) на Linux Ubuntu 16.04

Доброго времени суток! Вот как бывает, полностью переходишь на unix-подобную операционную систему, мгновенно пропадают головные боли, начинаешь дышать полной грудью и вообще все отлично. Но однажды может наступить такой момент, когда прошлое возвращается вместе со срочной необходимостью запустить программное обеспечение написанное исключительно под Windows. Чаще всего такое происходит со старым ПО, которое уже никто и никогда не перепишет под Linux, а функционал его остается востребованным.

Так случилось и со мной, пару дней назад мне понадобилось быстро собрать поистине много ключевых слов, а единственный инструмент доступен только под 32 битную версию Windows. Даже не под 64 битную, ну что за ужас.

Поэтому, друзья мои, сейчас я расскажу о том, как запускать Windows программы на любой Linux системе с помощью Wine.

Что такое Wine

Буквально в двух словах, Wine это свободная альтернативная  реализация известного всем и каждому Windows API. Wine стремительно развивается каждый божий день, добавляется поддержка все новых программ и улучшается совместимость со старыми. В общем, все отлично. Больше ничего говорить не буду, уже давно пора перейти к настройке, все остальное вы сможете прочитать на вики.

Самый главный совет перед установкой Wine: убедитесь, что реально не существует аналогов программного обеспечения под вашу систему, пусть даже с урезанным функционалом. Зачастую установить аналог и привыкнуть к нему гораздо проще, чем заставить ПО бегать под wine.

Если совсем никакого выхода нет, то прошу к инструкции по установке Wine.

читать далее «Установка wine32(x86) и wine64(x64) на Linux Ubuntu 16.04»