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»

Настройка библиотеки MPI в CLion

Привет «параллельным программистам», мы продолжаем настраивать библиотеку MPICH везде, где это возможно и сегодня на операционном столе замечательная IDE CLion от JetBrains. До этого я уже рассказывал о том, как установить библиотеку MPI в систему Linux, и затронул тему настройки MPI в Eclipse.

Необходимо сразу подчеркнуть, что сейчас будет сказка, настройка в CLion несравнимо проще, чем в Eclipse. CLion сам по себе на голову выше многих IDE, поэтому если вы можете себе его позволить, то незамедлительно позволяйте. Сам я бедный студент ЧелГУ и пользуюсь лицензией для студентов, которая будет действовать до тех пор, пока числюсь в списках университета. Спасибо JetBrains за такую возможность!

Подключить библиотеку MPI в CLion

Проекты на C/C++ в CLion`е собираются с помощью автоматизированной кроссплатформенной системы сборки CMake. Суть в двух словах, мы пишем файл CMakeLists.txt в корне проекта, который содержит правила для сборки, на которые ориентируется Make, либо ее аналог в Windows. Более подробно о CMake на вики и статья на хабре.

читать далее «Настройка библиотеки MPI в CLion»