The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Ссылки на программное обеспечение (базовая разбивка)

   Средства программирования
Java
Perl
Полезные Perl модули.
Модули для WEB-программирования
Python
Web-разработчику
Perl:
CGI-скрипты
JavaScript-библиотеки
PHP
Базы данных
MySQL
Oracle
PostgreSQL
Библиотеки функций
XML
Взаимодействие между процессами
Графические и оконные тулкиты
Контроль состояния сокетов и событий
Другие языки (Ruby,Tcl, Lisp и т.д.)
Компиляторы и интерпретаторы
Машинное обучение
Отладка и оценка кода
Сборка проекта и портирование
Среда для разработки
Визуальные средства разработки
Управление версиями ПО

----* Processing - environment for processing images, animation, and interactions [+]
[обсудить]
 Открытый язык программирования и среда разработки для создания графики, анимации и интерактивных систем. Отличается относительной простотой, которая позволяет использовать язык людьми не имеющими опыта программирования, например, художниками или дизайнерами. Содержит средства для 2D и 3D-графики, может работать с векторными форматами. Язык популярен в областях визуализаций данных (например, графов), создания эффектных интерактивных интерфейсов (например, multi-touch), используется художниками для создания замысловатых анимаций.
 
----* Mono Project [+]
[есть мнение]
 Свободная реализация технологии .Net.В Mono реализована поддержка следующих возможностей:
  • Поддержка API .NET платформы Microsoft:
    • ADO.NET 2.0 API для доступа к базам данных;
    • ASP.NET 2.0 API для создания web-приложений;
    • Windows.Forms 2.0 API для создания десктоп-приложений;
    • System.XML 2.0 для манипулирования XML документами;
    • System.Core с реализацией поддержка LINQ (Language Integrated Query) запросов;
    • System.Xml.Linq - реализация LINQ для XML;
    • System.Drawing 2.0 API - переносимое API для выполнения графических операций.
  • Mono специфичное API:
    • Gtk# 2.12 - биндинг к Gtk+ 2.12 и GNOME, для создания кроссплатформенных графических приложений;
    • Mono.Cecil - библиотека для манипулирования исполняемыми файлами в формате ECMA CLI ;
    • Mono.Cairo - биндинг к графической библиотеке Cairo, для создания 2D изображений;
    • Mono SQLite - библиотека для работы с SQLite базами;
    • Mono.Posix - библиотека с реализацией низкоуровневого и высокоуровневого интерфейса к Unix-специфичным функциям.
  • API сторонних производителей:
    • Поддержка СУБД PostgresSQL, DB2, Oracle, Sybase, MS SQL server, SQLite и Firebird;
    • Библиотека базовых классов C5.
  • Компиляторы:
    • Реализация C# 3.0 компилятора с полной поддержкой LINQ;
    • Компилятор совместимый с Visual Basic 8;
    • Ассемблер/дизассемблер IL и набор утилит для низкоуровневой разработки приложений.
  • Инструменты разработчика:
    • Отладчик Mono Debugger;
    • Gendarme - пакет для выявления проблем в .NET приложениях и библиотеках, позволяет выявить большинство типовых ошибок, нераспознаваемых компилятором, на основе анализа исполняемого файла в формате ECMA CIL;
    • Mono Linker - программа для динамического связывания с библиотеками, позволяет уменьшить размер итоговых приложений и библиотек, за счет выноса кода доступного в стандартном API;
    • Mono Tuner - утилита для низкоуровневого преобразования кода, например, используется для создания ключевых библиотек Silverlight на основе стандартных системных библиотек;
    • Mono Documentation Tools - пакет для создания документации и системы интерактивной подсказки.
 
----* OpenCyc - open source version of the Cyc technology [+]
[обсудить]
 Сокращенный открытый вариант базы знаний Cyc. Может использоваться для создания экспертных систем. В БД OpenCyc содержится 47000 понятий и 300000 фактов.
  • Небольшой обзор OpenCyc на русском языке
  • ThoughtTreasure - открытая база знаний содержащая 27000 понятий и 51000 фактов.
  • Open Mind Commonsense - одна из крупнейших баз знаний, включает в себя данные о 700000 фактах.
  • WordNet - БД семантических связей Английского языка. Включает данные о 150000 слов, 115000 синонимов и 207000 связях.
  •  
    ----* KDiff3 - visual compares or merges two or three text input files or directories [+]
    [обсудить]
     Удобная GUI утилита для наглядного сравнения или объединения двух или трех файлов.

    Другие утилиты для визуального сравнения файлов:

  • Kompare (отличное ПО на базе KDE/Qt)
  • meld
  • xxdiff
  • TkDiff
  • vimdiff
  • ediff (Emacs)
  •  
    ----* Doxygen - Software documentation system (Версия: 1.8.7 от 2014-04-23) [+]
    [обсудить]
     Система документирования исходных текстов программы. Позволяет описать структуру программы, используемые модули, функции и структуры. Поддерживается большое число языков программирования.
  • ROBODoc - Automating Software Documentation;
  • Natural Docs
  •  
    ----* SWIG - Simplified Wrapper and Interface Generator [+]
    [обсудить]
     Система для создания комбинированных проектов на нескольких языках программирования, основа которых написана на C/C++, а интерфейсная часть на одном из скриптовых языков (Tcl/Tk, Perl, Python).
     
    ----* rjsPerlObfuscator - RJ's Perl Obfuscator [+]
    [обсудить]
     Приведение исходного текста скрипта в абсолютно нечитаемый и непригодный для модификации вид, за счет изменения имен переменных и функций на бессмысленные, убирания комментариев, пробелов и форматирования.
    Подобные фильтры для других скриптовых языков
  • POBS - PHP Obfuscator/Obscurer;
  • Frink - formats, minimises and obfuscates Tcl programs;
  • pyobfuscate Python source code obfuscator;
  • Marvin Obfuscator - Java Obfuscator.
  •  
    ----* Code2HTML - converts a program source code to syntax highlighted HTM [+]
    [обсудить]
     Преобразует исходный текст программы в HTML вид с подсветкой синтаксиса. Поддерживается около 15 языков программирования, среди них C/C++, Perl, HTML, Java. Может использоваться как CGI-скрипт.
     
    ----* Linux Source Driver (Версия: 3.11.1 от 2013-09-17) [+]
    [обсудить]
     Путеводитель по исходникам ядра linux.
     
    ----* genparse - command-line parser generator [+]
    [обсудить]
     Система для генерации кода для обработки параметров командной cтроки и файлов конфигурации.
     

       Java

    ----* FindBugs - Find Bugs in Java Programs [+]
    [обсудить]
     Анализатор исходных текстов Java программ, предназначенный для выявления ошибок.
     
    ----* Kaffe - clean room implementation of the Java virtual machine (Версия: 1.1.7 от 2006-04-03) [+]
    [обсудить]
     Открытая GPL реализация виртуальной машины Java (JVM). В качестве Java 1.4 (и частично 1.5) совместимой библиотеки классов может использоваться GNU Classpath.
  • Результаты тестирования производительности по сравнению с другими JVM;
  • Оценка степени совместимости API;
  • Примеры совместимых с Kaffe Java приложений;
  • Сравнение jdk14 и classpath;
  • Сравнение jdk15 и classpath.
  •  
    ----* RepDB - multi-master replication solution for PostgreSQL [+]
    [обсудить]
     Открытая (GPL) система репликаций на Java, с возможностью создания "multi-master" системы репликации на базе PostgreSQL.
     
    ----* ASM - Java bytecode manipulation framework [+]
    [обсудить]
     Система манипулирования байткодом, предоставляющая возможность по генерации или модификации байткода классов на лету. Похожие проекты:
  • Jakarta BCEL - Byte Code Engineering Library;
  • SERP - open source framework for manipulating Java bytecode;
  •  
    ----* Sleep - scripting solution for Java applications inspired by Perl with bits of Objective-C [+]
    [обсудить]
     Скриптовый язык, написанный на Java, с очень похожим на Perl синтаксисом и библиотекой функций (включая регулярные выражения как в perl).
  • Другие интерпретаторв на Java: Jacl (TCL), Jython (Python) и JRuby (Ruby).
  •  
    ----* Retroweaver - Use JDK 1.5 features on older JDK 1.4 [+]
    [обсудить]
     Позволяет задействовать возможности появившиеся в J2SE 5.0 в более старых JVM (выполнить использующие JDK 1.5 приложение на JDK 1.4). Трансформирует файлы с Java классами собранные для 1.5 в вид пригодный для выполнения на 1.4.
     
    ----* PMD- scans Java source code and looks for potential problems [+]
    [обсудить]
     Анализатор исходного кода программ на Java с функциями автоматического выявления некоторых проблем. Доступен в виде плагина к большому числу редакторов и IDE.
     
    ----* DPPEJ - Distributed Parallel Programming Environment for Java [+]
    [обсудить]
     Набор средств для создания распределенных приложений на Java. Основной компонент DThread, - параллельно работающие нити, выполнение которых, распределено на несколько JVM машин. API для обмена сообщениями похож на MPI.
     
    ----* Resin - XML Application Server (Версия: 3.0.9 от 2004-10-05) [+]
    [обсудить]
     Отличающийся высокой скоростью работы сервер приложений, насквозь пропитан идеологией XML. Позволяет в купе с JDK исполнять сервлеты (Servlet 2.3) и JSP скрипты (JSP 1.2).
     
    ----* Jython - Python written in Java and seamlessly integrated with the Java platform (Версия: 2.2 от 2007-08-29) [+]
    [обсудить]
     Jython - реализация Python интерпретатора на Java, позволяющая использовать готовые Java библиотеки и целиком интегрированный в Java среду.
     
    ----* GNUJSP is a free implementation of Sun's JavaServer Pages [+]
    [обсудить]
     
    ----* Astyle - automatically re-indents C , C++, Java source [+]
    [обсудить]
     Фильтр для разбивки исходников java, C и C++ программ в приятный для глаз вид.
  • Uncrustify - форматирует исходные тексты на языках C, C++, C#, D, Java, Pawn.
  •  
    ----* CodeGuide (Версия: 7.0 от 2004-03-16) [+]
    ----* BlueJ - integrated Java environment (Версия: 3.0.2 от 2010-10-07) [+]
    ----* IBM Java Developer Kit [+]
    ----* FreeBuilder - free visual Java IDE [+]
    ----* Pure Java Dialog Builder [+]
    ----* AnyJ - GUI Builder,Integrated graphical debugger, [+]
    ----* JDK - a Java Developers Kit [+]
    [обсудить]
     Программы для разработки Java приложений.
     
    ----* Jikes Debugger (Версия: 1.22 от 2004-10-05) [+]
    [обсудить]
     Отладчик Java апплетов, позволяет инспектировать удаленно выполняющиеся приложения. Написан на Java.
     
    ----* JAD - the fast JAva Decompiler [+]
    [обсудить]
     Декомпиллятор из байткода в исходные тексты на Java.
     
    ----* Harissa - compiler from Java bytecode to C [+]
    [обсудить]
     Преобразование Java байткода в исходные тексты на языке Си.
     
    ----* Apache Tomcat - контейнер сервлетов с открытым исходным кодом [+]
    [есть мнение]
     Apache Tomcat (зачастую Tomcat Server) — реализует спецификацию сервлетов, спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF). Написан на языке Java. Tomcat позволяет запускать веб-приложения, содержит ряд программ для конфигурирования. Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в сервере приложений JBoss.
     
    ----* OpenJIT (Just In time Compiler) - translate Java bytecode into machine code on the fly [+]
    [есть мнение]
     Для ускорения работы Java приложений рекомендуется использовать "Just In time Compiler" для прозрачного транслирования байткода Java в машинный код.
     
    ----* FreeBSD Java Project - Sun's Java Development Kit for FreeBSD (Версия: 9.2 от 2013-11-08) [+]
    [обсудить]
     JDK адаптированный для FreeBSD. Для желающих установить JDK от Sun, необходимо использовать следующие патчи.
     
    ----* Linux port of Sun's JVM. [+]
    [обсудить]
     Адаптированный для Linux вариант SUN Java JDK.
     
    ----* GCJ - GNU Compiler for the Javatm Programming Language (Версия: 0.3.1 от 2004-12-14) [+]
    [обсудить]
     GPL реализация компилятора исходных текстов на Java в Java байткод и выполняемый машинный код, не требующий JVM.
     
    ----* Jikes - compiler Java sources into the bytecoded instruction set. (Версия: 1.22 от 2004-10-06) [+]
    [обсудить]
     Open Source реализация компилятора исходных текстов на Java (The Java Language Specification) в бинарный формат, соответствующий Java Virtual Machine Specification. От javac от Sun отличается более высокой производительность и открытостью проекта. Для академических целей может использоваться Jikes RVM (Research Java Virtual Machine). Для разработчика может оказаться полезным IMB Java Developer Kit.
     

       Perl
    Полезные Perl модули.
    Модули для WEB-программирования

    ----* mod_perlite - lightweight Apache module that embeds a Perl interpreter (Версия: 0.10 от 2009-10-13) [+]
    [обсудить]
     Упрощенный модуль со встроенным Perl для apache. mod_perl больше ориентирован для специализированных проектов, а не для массового хостинга. Cуть mod_perlite во встраивании Perl интерпретатора в apache, не более.
     
    ----* mod_perlite - lightweight Perl module for Apache 2.x (Версия: 0.10 от 2009-10-12) [+]
    [есть мнение]
     Модуль mod_perlite доступен для Apache 2.x и представляет собой простейшую реализацию механизма встраивания Perl интерпретатора в apache. mod_perlite позволяет оптимизировать выполнение обычных CGI скриптов, через минимизацию накладных расходов связанных с загрузкой и инициализацией perl интерпретатора.
     
    ----* EPIC - open source Perl IDE based on the Eclipse platform (Версия: 0.5.33 от 2007-04-08) [+]
    [обсудить]
     Интегрированная среда разработки на языке Perl построенная на базе платформы Eclipse.
     
    ----* Pq (Perl/Tk-over-Qt) - Perl/Tk API using the C++ GUI toolkit Qt [+]
    [обсудить]
     Порт библиотеки для создания графических интерфейсов Perl/Tk под Qt и Qt/Embedded. Позволяет использовать весь спектр возможностей Qt в графических интерфейсах написанных с использованием Perl/Tk, без переделки программы.
     
    ----* Sleep - scripting solution for Java applications inspired by Perl with bits of Objective-C [+]
    [обсудить]
     Скриптовый язык, написанный на Java, с очень похожим на Perl синтаксисом и библиотекой функций (включая регулярные выражения как в perl).
  • Другие интерпретаторв на Java: Jacl (TCL), Jython (Python) и JRuby (Ruby).
  •  
    ----* ActivePerl - ActiveState's ready-to-install distribution of Perl (Версия: 5.10 от 2007-12-26) [+]
    [обсудить]
     Дистрибутив языка программирования Perl для Windows, Mac OS X, Solaris и Linux. В комплект входит сам Perl, пакетный менеджер PPM и набор популярных perl модулей.
  • Strawberry Perl - новый дистрибутив Perl для Windows, с поддержкой компиляции XS CPAN модулей, которые теперь можно устанавливать под Windоws из исходные текстов, как это делается под Unix.Для организации сборки в комплект включен Mingw GCC C/C++.
  • Дополнительные Perl модули для Windows можно скачать здесь (5.8) или здесь (5.6).
  • Статус работы модулей на различных платформах;
  • Архив бинарных версий модулей для различных платформ, включая Windows;
  • См. также проекты ActivePython и ActiveTcl;
  •  
    ----* perllinux - Linux distribution where ALL programs are written in perl [+]
    [обсудить]
     Linux дистрибутив в котором все пользовательские утилиты написаны на языке Perl. Единственные программы на Си - это Linux ядро, perl-интерпретатор и системная библиотека uClibc.

    Например, на Perl написан web-сервер plHttpd, текстовые редакторы edit и vi (на базе aced), команды mount, xargs, login, passwd, getty, halt, init, ifconfig, route и т.д.

  • Perl/Linux - проект Jay Kominek по созданию аналогов системных утилит на Perl, список программ см. здесь;
  • PPT (Perl Power Tools) - другой проект по написанию классических Unix команд на Perl, список утилит.
  •  
    ----* EPIC - Perl IDE (Версия: 0.5.33 от 2007-04-09) [+]
    [обсудить]
     Дополнение к Eclipse для реализации полноценного средства для ведения разработки на Perl. Включает в себя редактор, отладчик и RegExp-плагин.
     
    ----* SpeedyCGI - Speed up perl scripts by running them persistently. [+]
    [обсудить]
     Гибкий интерфейс для запуска Perl скриптов в persistent режиме (когда perl-интерпретатор не выгружается из памяти). Применяется от простых схем использования путем замены "#!/usr/bin/perl" на "#!/usr/bin/speedy", до контроля выполнения через CGI::SpeedyCGI и применения apache модуля mod_speedycgi. Возможно установка лимитов на число запущенных процессов, задание таймаута на время выполнения и т.д.
     
    ----* Log::Log4perl - runtime code logger. (Версия: 0.23 от 2002-09-25) [+]
    [обсудить]
     log4perl позволяет вести подробный лог выполнения скрипта в реальном режиме времени. Главным преимуществом log2perl является возможность избежать неимоверного потока лог-сообщений, благодаря таким вещам как многоуровневая модель лог сообщений, переадресация разных лог-сообщений в разные потоки/файлы. log4j - аналог для Java скриптов.
     
    ----* PPerl - persistent environment for perl scripts (Версия: 0.14 от 2002-06-19) [+]
    [обсудить]
     Позволяет уменьшить время выполнения Perl скриптов, за счет постоянного нахождения Perl интерпретатора в памяти. Для запуска скрипта в persistent режиме достаточно заменить #!/usr/bin/perl на #!/usr/bin/pperl. Другим решением является использование SpeedyCGI, выполняюшей аналогичные PPerl функции.
     
    ----* PerlComposer (Visual Perl) - two-way visual tool used to design graphics interface for Perl/GTK [+]
    [обсудить]
     Система визуального программирования на языке perl для разработки приложений для библиотеки perl/GTK.
     

       Полезные Perl модули.
    Модули для WEB-программирования

    rus-* TextCat - implementation of the text categorization algorithm [+]
    [обсудить]
     Реализация алгоритма "N-Gram-Based Text Categorization" (на Perl) статистического анализа текста для автоматического определения языка на котором написан текст (для русского языка производится также определение кодировки).
  • Статья отражающая суть алгоритма (на русском языке).
  •  
    rus-* Perl модули для автоматического определения кодировки и перекодирования документов. (Версия: 5.16.3 от 2013-03-19) [+]
    [есть мнение]
     Lingua::DetectCharset из пакета cyrillic или модуль Cyrillic::CPdetect.
     
    ----* P5NCI - Perl extension for loading shared libraries and their functions [+]
    [обсудить]
     Perl расширение, позволяющее импортировать функции из любых разделяемых библиотек. Создано в качестве примера реализации метода разработки расширений на языке Си в стиле Python ctype, для тех кто считает, что текущая система XS излишне усложнена.
     
    ----* MysqlAsync (perl-mysql-async) [+]
    [есть мнение]
     Perl модуль для асинхронного выполнения запросов к MySQL, при котором после отправки SQL запроса управление мгновенно возвращается обратно, а при готовности результата вызывается callback функция.
     
    ----* AnyEvent - provide framework for multiple event loops (Версия: 5.29 от 2010-12-28) [+]
    [обсудить]
     Perl модуль для создания цикла обработки событий, например, поступление сигнала от таймера, изменение файла, поступление сетевого соединения.
  • POE - фреймворк для создания многозадачных и сетевых приложений на Perl;
  • EV - perl интерфейс к libev. Отличается высокой производительностью;
  • Event - Event loop processing
  •  
    ----* IPTables::IPv4::IPQueue - Perl extension for libipq. [+]
    [обсудить]
     Perl интерфейс к netfilter/iptables библиотеке libipq, позволяющей перенаправлять пакеты в пользовательское приложение, в котором будет принято решение о дальнейших действиях с пакетом или будут изменены данные в пакете.
  • libnetfilter_queue - новый механизм, пришедший на смену ip_queue / libipq.
  •  
    ----* PDF::API2 - Creation and Modification of "Portable Document Format (aka. PDF)" Files. (доп. ссылка 1) (Версия: 2.018 от 2011-03-03) [+]
    [обсудить]
     Perl модуль для создания и изменения PDF документов.
  • "Using PDF::API2" - статья с примерами использования PDF::API2.
  •  
    ----* DBD::PgLite - PostgreSQL emulation mode for SQLite [+]
    [обсудить]
     Модуль эмулирующий работу DBD::Pg, автоматически преобразующий специфичные для PostgreSQL конструкции в вид пригодный для использования под SQLite3.
  • DBD::PgLite::MirrorPgToSQLite - модуль для одновременного ведения зеркальной таблицы в PostgreSQL и SQLite.
  •  
    ----* Linux::Statistics - collect system statistics [+]
    [обсудить]
     Linux::Statistics - Perl модуль для разбора многочисленной статистической информации (системные буферы, утилизация ОЗУ, процессы, сетевые соединения, диски и т.д.), которую можно получить через файловую систему /proc под Linux;
  • BSD::Resource - позволяет устанавливать и просматривать состояние лимитов, контролировать загрузку CPU и расход памяти для текущего процесса (интерфейс к getrusage).
  •  
    ----* Event::RPC - Event based transparent Client/Server RPC framework [+]
    [обсудить]
     Perl модуль для организации клиент-серверных сервисов удаленного выполнения процедур.
     
    ----* GnuPG::Interface - Perl interface to GnuPG [+]
    [обсудить]
     Perl модуль для создания и проверки подписей, а также кодирования и декодирования текста методами поддерживаемыми в GnuPG.
  • Mail::GPG - расширение для операций с почтовыми сообщениями.
  •  
    ----* TagLib - library for reading and editing audio meta data. (Версия: 1.5 от 2008-02-23) [+]
    [обсудить]
     Набор Perl модулей для чтения и изменения данных в информационных полях файлов в форматах MP3, MPEG, OGG, APE и т.д.
     
    ----* Readonly::XS - speed up read-only scalar variables. [+]
    [обсудить]
     Модуль реализует альтернативный способ доступа к переменным, которые в процессе работы скрипта не меняют свое значение. Т.е. делаем "use Readonly::XS" и если есть какие-то неизменяемые переменные, например, описывающие параметры конфигурации, то доступ к ним становится на порядок быстрее.
     
    ----* Parallel::Simple - simplest way to run code blocks in parallel [+]
    [обсудить]
     Perl модуль обеспечивающий простейший интерфейс для параллельного запуска нескольких perl функций, через fork, в Perl скриптах.
  • Parallel::Jobs - параллельный запуск нескольких процессов с контролем через stdin, stdout и stderr;
  • Parallel::ForkManager - параллельный запуск нескольких процессов, при ограниченном числе одновременно запущенных процессов, т.е. один завершается тут же запускается другой;
  • Parallel::ForkControl - инструмент для контроля за запущенными в фоне процессами, с учетом Load Average, времени выполнения и т.д.
  •  
    ----* Sub::Timebound - Perl extension for timebound computations [+]
    [обсудить]
     Позволяет запустить функцию задав ограничение на время выполнения и число повторных вызовов на случай возврата кода ошибки.
  • Proc::Reliable - делает тоже самое, но вызывает не perl функцию, а запускает внешний процесс.
  •  
    ----* List::MoreUtils - дополнительные функции для работы с массивами и хэшами [+]
    [обсудить]
     
  • List::MoreUtils - полезные функции для работы с массивами, такие как выборка элементов по условию, объединение, пересечение, вывод уникальных элементов, поиск наибольшего и наименьшего и т.д. Все функции написаны на языке Си, что обеспечивает наилучшую производительность для типовых операций с массивами. Модуль написан как дополнение к List::Util и Scalar::Util;
  • Hash::MoreUtils - полезные утилиты для хэшей, такие как сортировка, выборка по списку и т.д.
  • Hash::Util - стандартный модуль для определение диапазона допустимых значений для ключей в хэше;
  • Hash::Merge - слияние нескольких хэшей любой вложенности в один хэш;
  •  
    ----* PerlPoint - presentation and a documentation toolset [+]
    [обсудить]
     Модули для парсинга и преобразования wiki-подобного диалекта для текстового форматирования презентаций и текстовых документов. Поддерживается экспорт в HTMP, XML, POD, SGML, TeX и т.д.
  • PerlPoint::Converters;
  • PerlPoint-styles;
  • OpenOffice-PerlPoint - конвертер из формата Open Office / Open Document в PerlPoint;
  • CGI::Wiki - toolkit for building Wikis;
  • Convert::Wiki - конвертер HTML/POD/txt из Wiki или в Wiki формат;
  • HTML::WikiConverter - преобразователь HTML файлов в формат таких wiki как DocuWiki, Kwiki, MediaWiki,MoinMoin, PhpWiki , WakkaWiki, TikiWiki и т.д.
  •  
    ----* Tie::Sub - Tying subroutine to a hash [+]
    [обсудить]
     Дает возможность представить обращение к функции как к хэшу.
     
    ----* Regexp - полезные perl модули для работы с регулярными выражениями. [+]
    [обсудить]
     
  • Regexp::Assemble - позволяет объединить несколько regex блоков в один результирующий;
  • Regexp::Optimizer - приводит заданное регулярное выражении в более оптимальный вариант, например, заменяет "foo|far" на "f(?:oo|ar)". В комплект входит модуль Regexp::List, стоящий оптимальный regex на основании списка слов;
  • Regexp::Log, Regexp::Log::Common - генерирует регулярные выражения для парсинга строчных логов нетривиального формата;
  • Regexp::Common - большая подборка модулей с типовыми regex для решения разнообразных задач, например, для парсинга строки URI;
  • Regexp::Tr - реализация предкомпилированных tr/// блоков;
  •  
    ----* DateTime - Perl modules for dealing with dates and times (доп. ссылка 1) [+]
    [обсудить]
     
  • DateTime::* - набор Perl модулей для прсинга и отображения дат в заданных форматах;
  • "The Many Dates and Times of Perl" - хороший обзор модулей для работы с датами;
  • Date::Manip - большой (более 3-х тысяч строк на Perl, ресурсоемкий) модуль для манипулирования датами, включает мощные функции парсинга дат, например, понимает "1st thursday in June 1992", поддерживает функции манипулирования датами, вычисление разницы, математические операции (DateCalc("today","+ 3hours 12minutes 6 seconds"));
  • Date::Calc - написанный на Си модуль для манипулирования датами, функциональность не хуже чем у Date::Manip. Позволяет выполнять всевозможные манипуляции с датами, рекомендуется использовать именно его;
  • Date::Range - модуль ориентированный на вычисление различных параметров разницы между двумя датами;
  • TimeDate (Date::Format, Date::Parse) - простые модули для парсинга и вывода дат в произвольном виде;
  • DateTime::Format::HTTP, HTTP::Date - разбор и преобразование даты в формат соответствующий RFC 822, используемый в HTTP, RSS и т.д.
  •  
    ----* Net::Server - Extensible, general Perl server engine (Версия: 0.97 от 2009-03-14) [+]
    [обсудить]
     Лучший Perl модуль для создания сетевых серверов и процессов демонов.
     
    ----* IO::Multiplex - Manage IO on many file handles [+]
    [обсудить]
     Фронтенд над системным вызовом select для упрощения обработки открытых сокетов и файловых дескрипторов.
    Более продвинутые, но привязанные к ОС, системы мультиплексирования соединений:
  • Danga::Socket, POE::Loop::Epoll и IO::Epoll - фронтенды к epoll (Linux ядра 2.6.x);
  • POE::Loop::Kqueue и IO::KQueue - интерфейсы к FreeBSD kqueue();
  •  
    ----* Интересные варианты реализации хэшей в Perl (Версия: 5.16.3 от 2013-03-25) [+]
    [обсудить]
     
  • Tie::Hash::Approx - если элемент хэша не найден, то осуществляется попытка вернуть значение наиболее похожего ключа;
  • Tie::AliasHash - оптимальный вариант хэша, когда одно и тоже значение имеет множество ключей;
  • Tie::Hash::Expire - хэш с заданием времени жизни записи, облегчает организацию кэширования;
  • Tie::Hash::Regex, Tie::Hash::RegexKeys и Tie::RegexpHash - возможность использования регулярных выражений для выборки ключей;
  • Tie::Hash::Sorted, Tie::SortHash - хэш хранящий ключи в отсортированном виде. Tie::Hash::Rank - обратный случай, когда элементы сохраняются отсортированными по данным, которые ассоциированы с ключом. Tie::InsertOrderHash и Tie::Hash::Indexed - сортировка в порядке вставки элементов;
  • Tie::RangeHash - в качестве ключа выступает числовой промежуток, например от 1 до 5 ="a", от 6 до 10 = "b";
  • Tie::Hash::Transactional - хэш с возможностью отката операций, используя контрольные точки;
  • Hash::MultiKey - хэш ориентированный на привязку к хранимому значению нескольких ключей;
  •  
    ----* String::Approx - Perl extension for approximate matching (fuzzy matching) [+]
    [обсудить]
     Модуль для определения степени похожести двух строк. Позволяет отождествить две незначительно отличающиеся строки.
     
    ----* Bloom::Filter - Perl Bloom filter implementation [+]
    [обсудить]
     Perl модуль Bloom::Filter позволяющий, с минимальным потреблением ОЗУ, используя вероятностную оценку (без реального сохранения всех записей), определить наличие ключа в хэше, представляющем собой множество очень большого размера.
  • Статья с примером использования.
  • Подобные модули: Bloom16, Text::Bloom.
  •  
    ----* XML::Parser - perl module for parsing XML documents (Версия: 2.40 от 2010-09-20) [+]
    [обсудить]
     
  • XML::Parser / XML::Parser::Expat - Perl интерфейс в стиле XML::Parser к Си библиотеке expat, по сравнению с другими модулями имеет самую высокую производительность;
  • XML::SAX::Expat - интерфейс к библиотеке expat, использующий API SAX (Simple API for XML). Самый медленный из всех парсеров, работает в 6-10 раз медленнее XML::Parser;
  • XML::LibXML - Perl интерфейс к Си библиотеке libxml2. При тестировании занял 4 место по производительности (XML::LibXML::SAX::Parser примерно в 4 раза медленнее XML::Parser);
  • XML::Xerces - интерфейс к "Apache Xerces XML parser" на C++.
  • XML::SAX::ExpatXS
  • XML::RSS::LibXML - совместимый с XML::RSS модуль для создания RSS лент, построенный на базе XML::LibXML (libxml2) вместо XML::Parser (expat).

    Наихудшую производительность продемонстрировал модуль XML::SAX::Expat (скорость обработки в 6 - 10 раз ниже (695%) , чем XML::Parser), на предпоследнем месте XML::LibXML::SAX::Parser (393%), затем идут XML::LibXML (202%), XML::Xerces (186%), XML::SAX::ExpatXS (169%) и м XML::Parser (129% - лучший результат).

  •  
    ----* SQL::Statement, SQL::Parser - create or parse SQL statements [+]
    [обсудить]
     Perl модули для разбора на элементы строки с SQL запросом или автоматической компоновки SQL запросов из составных частей.
     
    ----* FAM - File Alteration Monitor (Версия: 5.0.0 от 2005-11-10) [+]
    [обсудить]
     API для мониторинга за состоянием файла или группы файлов/директорий. Можно использовать, когда в программе нужно выполнить какое-то действие сразу после изменения состояния файла.
  • SGI::FAM - Perl-интерфейс;
  • Python FAM Lib;
  • fileschanged - утилита работающая в режиме командной строки, для использования в Shell.
  •  
    ----* GraphViz - Graph Visualization Projec (Версия: 2.36 от 2014-03-20) [+]
    [обсудить]
     Система для визуализации потоков данных и древовидных структур например, карты сети.
  • Интерфейсный Perl модуль для GraphViz
  • Графики и диаграммы удобно рисовать при помощи Perl модуля GD::Graph;
  • PGPLOT - perl интерфейс к библиотеке pgplit.
  •  
    ----* dbtool - store and retrieve data in a key/value format in a hash (Версия: 1.7 от 2009-06-25) [+]
    [обсудить]
     Perl модуль позволяющий заносить и выбирать данные из Berkeley DB используя в качестве ключа PCRE регулярные выражения. Возможно хранение данных в зашифрованном виде.
     
    ----* Storable - преобразует структуру в бинарный вид. [+]
    [обсудить]
     Модули для преобразования сложный структур данных (массивы, хэши) в вид пригодный для записи на диск, передачи по сети или записи в Berkeley DB базу.
  • YAML - преобразует сложные структуры в YAML формат (подходит для ручного редактирования).
  • Data::Serializer - набор модулей для преобразования структур данных, поддерживается шифрование и сжатие.
  • FreezeThaw - более простой и менее производительный по сравнению со Storable.
  • Data::Dumper - преобразует структуру в текстовый "perl" вид, пригодный для eval и ручной правки.
  •  
    ----* Perl модули для кэширования данных. (Версия: 5.16.3 от 2013-03-20) [+]
    [обсудить]
     
  • Cache - кэширование блоков данных в памяти текущего процесса (Cache::Memory) или на диске (Cache::File). Задается время жизни элемента, стратегия очистки кэша при превышении лимита на размер хранилища, возможно обращение к элементам кэша как к хэшу через tie-интерфейс. Cache является переработкой модуля Cache::Cache, имеет простой интерфейс и мощные возможности. Для хранения сложных структур нужно отдельно вызывать не set/get, а freeze/thaw методы.

  • Cache::Cache - прообраз модуля Cache, похож на него как по синтаксису, так и по функциям. Содержит Cache::MemoryCache, Cache::SharedMemoryCache (очень медленный), Cache::FileCache и т.д. Множество разнообразных функций, но относительно медленный.

  • Cache::FastMemoryCache - Расширение Cache::Cache для быстрого хранения блоков данных в памяти процесса, ориентирован в качестве замены Cache::MemoryCache для простых задач, например, когда не требуется свопинг кэша на диск.

  • Cache::FastMmap - Написанный с использованием языка Си модуль для кэширование данных в памяти между несколькими процессами (разделяемая память через mmap). Присутствует система автоматического контроля размера кэша и удаления устаревших элементов. Наиболее подходит при использовании с mod_perl. Отличается высокой производительностью. Существует похожий модуль Cache::Mmap, но большая часть кода в нем написана на Perl, он проигрывает Cache-FastMmap по производительности.

  • CGI::Cache - позволяет кэшировать на диске вывод cgi-скриптов использующих модуль CGI (в качестве ключа используются параметры запроса или cookie). Задается время жизни, максимальный размер файла.

  • Cache::Memcached - Perl API для memcached, системы для распределенного кэширования объектов в памяти. Более быстрая альтернатива - Cache::Memcached::Fast, примерно в 6 раз быстрее.

  • File::Cache - безнадежно устарел, на смену ему пришел Cache::Cache.

  • Tie::Cache::LRU - немного устарел. Используется для кэшировании блоков данных в пределах одного процесса, используя алгоритм вытеснения из кэша устаревших элементов LRU. Может использоваться для создания хэшей с ограничением общего размера для всех элементов.
  •  
    ----* Tie::Array::Sorted - массив хранимый в отсортированном виде. [+]
    [обсудить]
     
    ----* Memoize - Make functions faster by trading space for time [+]
    [обсудить]
     Позволяет уменьшить время выполнения perl функций, за счет кэширования возвращаемых значений. Т.е. если запоминается состояние вызова, и если функция будет вызвана с теми же что и ранее параметрами, то результат будет возвращен из кэша.
     
    ----* Perl модули для работы с архивными или сжатыми данными. (Версия: 5.16.3 от 2013-03-18) [+]
    [обсудить]
     
  • Archive::Tar - работа с TAR архивами (включая .tar.gz), предусмотрен режим работы с распаковкой в памяти, без создания временного файла. Альтернативный модуль - Archive::TarGzip;
  • Archive::Extract- Perl интерфейс к командам tar, gzip и zip для раскрытия .tar, .tar.gz, .gz или .zip архивов;
  • PerlIO::gzip, IO::Zlib, Tie::Gzip - работа с сжатыми gzip файлами в прозрачном режиме (т.е. доступ через обычный файловый дескриптор);
  • Compress::Zlib - полноценный Perl интерфейс к функциям библиотеки zlib;
  • Compress::Bzip2 - функции упаковки и распаковки строк методом bzip2;
  • IO::File::CompressOnClose - сжатие файла в формате zip и gzip в момент закрытия файла, до закрытия работа производится с несжатым файлом;
  • CGI::Compress::Gzip - автоматическое gzip сжатие вывода CGI-скрипта (эффект как в mod_gzip или mod_accell).
  •  
    ----* Полезные лингвистические Perl модули, преобразование и определение кодировки (Версия: 5.16.3 от 2013-03-26) [+]
    [обсудить]
     
  • Lingua::Ispell - проверка орфографии;
  • Lingua::Ident - автоопределение языка по отрывку текста;
  • Lingua::Num2Word - преобразование цифр в буквенное написание;
  • Lingua::RU::Number - буквенное написание денежной суммы (в рублях);
  • Lingua::RU::PhTranslit - преобразование текста в правильный транслит или другую русскую кодировку;
  • Lingua::DetectCharset, Lingua::DetectCyrillic - определение русской кодировки по отрывку текста;
  • PerlIO::locale - прозрачное перекодирование текста при чтении и записи в файл;
  • Convert::Cyrillic - преобразование из одной кодировки в другую (включая поддержку UTF-8);
  • Snowball Stemmer - работа с русскими словарными формами (стемминг, выделение корня убирая суффиксы и окончания). perl интерфейс (для стеммера любого языка) - "Lingua::Stem::Snowball".
  • В сети так-же доступны исходные тексты стеммера от Andrew Kovalenko, см. так же статью Вероятностный морфологический анализатор русского и украинского языков.
  •  
    ----* Lingua::Ispell - encapsulating access to the Ispell program. [+]
    [обсудить]
     Модуль Lingua::Ispell (раньше был Text::Ispell) прекрасно подходит для автоматизации проверки орфографии из perl скриптов. В документации есть простой и понятный пример использования. Поддержка русского включается через use_dictionary("russian").
     
    ----* Crypt::GeneratePassword - generate secure random passwords [+]
    [обсудить]
     Генератор случайных но запоминаемых паролей, по сравнению с модулем Crypt::RandPasswd реализующим рекомендации FIPS-181, Crypt::GeneratePassword генерирует более надежные пароли, но гораздо более ресурсоемкий (строит по базе размером около 1 Мб).
     
    ----* BerkeleyDB - для работы с Berkeley DB базами версий 2, 3 и 4 (Версия: 4.3.21 от 2004-11-11) [+]
    ----* DB_File - работа с базами Berkeley DB версий 1.x [+]
    [обсудить]
     Perl модули для работы с Berkeley DB. Позволяют обращаться к DB хранилищу на диске как к обычному хэшу.
  • Для хранения многоуровневых хэшей (или хэшей элементами которых являются сложные типы данных, например, массивы) нужно использовать модуль MLDBM, для организации блокировок нужно использовать MLDBM::Sync.
  •  
    ----* Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers [+]
    [обсудить]
     Набор функций для оперирования временем с точностью до микросекунды. Креме специфичных функций usleep, gettimeofday, tv_interval, setitimer , getitimer и ualarm, приводятся микросекундные аналоги функций time, sleep, alarm и т.д.
     
    ----* Cache::Cache - Share data between processes via filesystem [+]
    [обсудить]
     Модуль для организации промежуточного хранения блоков данных.
     
    ----* File::NCopy - Copy file, file Copy file[s] | dir[s], dir [+]
    [обсудить]
     Модуль для копирования группы файлов, рекурсивного копирования директорий, копирования файлов по маске.
     
    ----* File::ReadBackwards - Read a file backwards by lines. [+]
    [обсудить]
     Позволяет читать построчно файлы вверх ногами, снизу-вверх. Полезно при разборе лог файлов.
     
    ----* File::Remote - Read/write/edit remote files transparently [+]
    [обсудить]
     Стандартные операции для работы с удаленным файлом как с локальным (открыть на запись или чтение, удалить и т.д.), доступ к файлу производится по ssh или rsync.
     
    ----* File::Transaction, File::Transaction::Atomic - transactional change to a set of files [+]
    [обсудить]
     Простой интерфейс для реализации контроля изменений в файле или группе файлов в рамках одной транзакции.
     
    ----* Convert::Cyrillic и Lingua::DetectCharset - модули для автоматического определения кодировки. (Версия: 0.1 от 2003-07-10) [+]
    [есть мнение]
     Пакет "cyrillic" (Convert::Cyrillic и Lingua::DetectCharset) представляет из себя удобные средства для перекодировки текста, включая функции автоматического определения текущей кодировки набора символов и поддержки UTF-8
     
    ----* Config::General - Generic Config Module (Версия: 2.52 от 2013-07-04) [+]
    [обсудить]
     Модуль для работы с конфигурационными файлами в perl-скриптах. Позволяет не только считывать информацию из файла конфигурации, но и создавать и производить изменения из perl скриптов. Конфигурация для программы выглядит в виде многоуровневого хэша. См. также модули: Config - информация о текущем окружении Perl, Config-Simple и Config-Tiny
     
    ----* GD::Graph - Graph Plotting Perl Module [+]
    [обсудить]
     Perl модуль для рисования гистограмм, линейных и круговых диаграмм, графиков.
     
    ----* SQLite - Embeddable SQL Database Engine (Версия: 3.7.3 от 2010-10-20) [+]
    [есть мнение]
     Библиотека реализующая интерфейс для организации баз данных без использования сторонних RDBMS систем (например, MySQL, PostgreSQL и т.д.). Для организации БД и доступа к хранилищу достаточно установить библиотеку SQLite, которая поддерживает запросы к хранилищу в виде SQL запросов. Все таблицы и индексы для БД хранятся в одном файле, существуют средства контроля целостности данных (атомарные commit и rollback транзакции), небольшой размер библиотек и поразительная скорость обработки запросов.
  • Для пользователей Perl разработан модуль DBD::SQLite - предоставляющий доступ к SQLite через DBI драйвер.
  • Для запуска SQLite как сетевого сервера можно использовать SQLRelay;
  • FT3 (full text indexer and search engine) - система полнотекстового поиска для SQLite;
  • SQLiteDBMS - СУБД сервер на базе SQLite, работающий как серверный процесс и принимающий соединения по TCP/IP, используя XML-подобным протокол запросов.
  •  
    ----* Модули для обработки изменений файла в реальном времени (аналог tail -f). [+]
    [обсудить]
     
  • Event::File::tail - при появлении данных будет вызываться заданная функция.
  • File::Tail - цикличная обработка обновлений в файле.
  • File::MultiTail - цикличная обработка одновременно нескольких обновляющихся файлов.
  •  
    ----* Imager - perl module for manipulating gray, color and rgba images (доп. ссылка 1) (Версия: 0.67 от 2009-03-14) [+]
    [есть мнение]
     Набор Perl модулей для создания и обработки изображений. Поддерживаются форматы JPEG, PNG, PPM, PGM, PBM, GIF, Tiff, BMP, TGA. Гибкие возможности по наложению текста (антиалиасинг, truetype и postscript шрифты). Интерфейс для написания плагинов на языке Си. В качестве аналога можно предложить ImageMagick, но люди использующие оба пакета не только для преобразований, но и для обработки и создания изображений больше хвалят Imager.
     
    ----* Devel::DProf - Perl code profiler [+]
    [обсудить]
     Пакет для профилирования perl скриптов, профайлер запускается как perl -d:DProf, отчет формируется с использованием утилиты dprofpp.
     
    ----* Perl модули для манипуляции сетевыми адресами и масками. (Версия: 5.16.3 от 2013-03-21) [+]
    [обсудить]
     
  • Net-Netmask - объектно ориентированный интерфейс для манипуляции с IPv4 CIDR блоками адресов. Аналог - Net-IP
  • Net-IP-Match - проверка вхождения IP в подсеть или промежуток адресов.
  • Net-IPv4Addr - вычисление параметров подсети, определение вхождения в подсеть.
  • NetAddr-IP - Объектно ориентированный интерфейс для манипуляции с IP и определения вхождения в подсеть

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

  •  
    ----* Sendmail::Milter - Perl extension to sendmail's Mail Filter API (доп. ссылка 1) [+]
    [обсудить]
     Модуль предоставляющий Perl интерфейс для написания mail-фильтров для sendmail версии 8.11 и выше (используется Milter - sendmail Mail Filter API). Python Milter. Дополнительную информацию можно найти на milter.org.
     
    ----* File::Scan - Perl extension for Scanning files for Viruses (доп. ссылка 1) [+]
    [обсудить]
     Модуль File::Scan может использоваться как многоплатформенный интерфейс для написания сканера для обнаружения Windows/DOS/Mac вирусов (присутствует CLI утилита для поиска вирусов в файле). В комплект также входит небольшая база сигнатур вирусов, которую удобно использовать, например, при написании фильтров для блокировки почты.
     
    ----* Net::Patricia - Patricia Trie perl module for fast IP address lookups (доп. ссылка 1) [+]
    [есть мнение]
     Библиотека для проверки наличия (или выборки данных) по IP адресу и маске подсети в массиве IP адресов или подсетей. Для хранения информации используется структура данных Patricia Trie, обеспечивающая непревзойденное быстродействие при выборке данных формата IP/маска.
     
    ----* Image::Size - module that retrieves height and width specification from an image file (Версия: 3.2 от 2009-02-26) [+]
    [есть мнение]
     Небольшой perl модуль позволяющий получить данные о разрешении картинки в графических файлах формата JPEG, GIF, PNG, XBM, XPM, BMP и PPM.
     
    ----* RTF::Document - Perl extension for generating Rich Text (RTF) (доп. ссылка 1) [+]
    [есть мнение]
     Perl модуль позволяющий создавать документы в RTF формате. Прочитать содержимое RTF файла можно воспользовавшись модулем RTF::Parser.
     
    ----* Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии. (доп. ссылка 1) [+]
    [есть мнение]
     Модуль позволяет получить значение любой ячейки и столбца их XLS файла, что очень удобно при автоматическом парсинге различных прайсов.
  • Spreadsheet::Read - чтение табличных файлов созданных в OpenOffice, Excel, SquirrelCalc;
  • Для желающих создавать XLS файлы предназначены модули Spreadsheet::WriteExcel и Spreadsheet::SimpleExcel. Оба модуля требуют для своей работы библиотеку OLE-Storage_Lite.
  •  
    ----* Linux::Inotify2 - scalable directory/file change notification [+]
    [обсудить]
     Perl модуль использующий механизм Inotify, появившийся в Linux ядре 2.6.13, для получения сигнала при изменении содержимого файла или директории.
     
    ----* Antimat.pm - средство для борьбы с матом в Интернете [+]
    [обсудить]
     Lingua::RU:Antimat - модуль на языке Perl, который обнаруживает, заменяет или удаляет мат из строки с текстом. Этой строкой могут быть сообщения в гостевой книге, чате или форуме.
     

       Модули для WEB-программирования

    rus-* CTPP - высокопроизводительный шаблонизатор для C, C++, Perl5, PHP4 и PHP5. (доп. ссылка 1) (Версия: 1.0.72 от 2014-06-11) [+]
    [есть мнение]
     Инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. Кредо проекта: достижение максимального быстродействия при минимальном необходимом функционале. Реализованы средства внутреннего кеширования неизменяющихся частей при выводе. Синтаксис шаблона обрабатывается один раз, в дальнейшем параметры подставляются в байткод. Библиотека написана на языке C++ и имеет интерфейс для языков C, C++, Perl5, PHP4 и PHP5. Имеется поддержка синтаксиса Smarty, HTML::Template или Text::Template.
     
    ----* JSON::XS - JSON serialising/deserialising, done correctly and fast (Версия: 2.2 от 2008-04-17) [+]
    [обсудить]
     Perl модуль для оперирования структурами JSON (JavaScript Object Notation). Отличается отсутствием проблем с UTF-8 и хорошей скоростью работы.
     
    ----* Markdown - text-to-HTML conversion tool for web writers. [+]
    [обсудить]
     Простой язык выделения объектов (заголовки, ссылки, код) в текстовых файлах. Фильтр в HTML написан на Perl. Удобно использовать в форумах.Пример кода.
  • showdown - реализация Markdown целиком на JavaScript.
  •  
    ----* JavaScript::Squish - Reduce/Compact JavaScript code to as few characters as possible. (Версия: 0.07 от 2008-03-18) [+]
    [есть мнение]
     Модуль для оптимизации размера JavaScript кода, убирая комментарии и сокращая длину переменных.
     
    ----* GD::SecurityImage - Security image (captcha) generator. [+]
    [обсудить]
     Модуль для рисования картинок для форм где требуется подтверждение пользователя (тест Тьюринга). Для прорисовки поддерживает модули GD и Image::Magick.
  • Authen::Captcha - модуль с похожей функциональностью.
  •  
    ----* Catalyst - Elegant MVC Web Application Framework (доп. ссылка 1) (Версия: 5.80030 от 2011-01-07) [+]
    [есть мнение]
     MVC (Model-View-Controller) framework для создания интерактивных web-приложений на Perl, с использованием технологии Ajax ( когда данные для элементов страницы подгружаются динамически). Идеи и реализация очень похожа на Ruby on Rails или Jakarta Struts, т.е. предоставлен набор инструментов для быстрого создания web-интерфейсов для наборов данных хранимых в СУБД.
  • Maypole - MVC web application framework;
  • Вводная статья по созданию приложений используя Catalyst;
  • CGI::Application - еще один MVS framework на Perl
  • Jifty - другой популярный web-фреймворк на Perl.
  •  
    ----* MogileFS - open source distributed filesystem [+]
    [обсудить]
     Распределенная файловая система созданная в рамках проекта LiveJournal и реализованная на уровне многоплатформенного приложения на Perl.

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

    Для каждого файла задается его класс, определяющий на какое число соседних машин от будет реплицирован. Отлично подходит для создания распределенных web-проектов и как средство создания высоконадежного хранилища данных, не прибегая к использованию RAID. Доступ пользовательских приложений к ФС осуществляется посредством HTTP запросов (PUT/GET) или через использования виртуального NFS тома.

  • Perlbal - система балансировки нагрузки на Perl, представленная на том же сайте. Отличный пример как нужно писать высокопроизводительные приложения на Perl.
  •  
    ----* XML::Parser - perl module for parsing XML documents (Версия: 2.40 от 2010-09-20) [+]
    [обсудить]
     
  • XML::Parser / XML::Parser::Expat - Perl интерфейс в стиле XML::Parser к Си библиотеке expat, по сравнению с другими модулями имеет самую высокую производительность;
  • XML::SAX::Expat - интерфейс к библиотеке expat, использующий API SAX (Simple API for XML). Самый медленный из всех парсеров, работает в 6-10 раз медленнее XML::Parser;
  • XML::LibXML - Perl интерфейс к Си библиотеке libxml2. При тестировании занял 4 место по производительности (XML::LibXML::SAX::Parser примерно в 4 раза медленнее XML::Parser);
  • XML::Xerces - интерфейс к "Apache Xerces XML parser" на C++.
  • XML::SAX::ExpatXS
  • XML::RSS::LibXML - совместимый с XML::RSS модуль для создания RSS лент, построенный на базе XML::LibXML (libxml2) вместо XML::Parser (expat).

    Наихудшую производительность продемонстрировал модуль XML::SAX::Expat (скорость обработки в 6 - 10 раз ниже (695%) , чем XML::Parser), на предпоследнем месте XML::LibXML::SAX::Parser (393%), затем идут XML::LibXML (202%), XML::Xerces (186%), XML::SAX::ExpatXS (169%) и м XML::Parser (129% - лучший результат).

  •  
    ----* HTTP::Recorder - record interaction with websites [+]
    [обсудить]
     Записывает действия пользователя (работая как прокси) в нормальном браузере и генерирует Perl скрипт повторяющий те же манипуляции в автономном режиме, без участия пользователя и браузера;
     
    ----* OpenInteract - web application server written in Perl (для mod_perl) [+]
    [обсудить]
     
    ----* DBIx::FullTextSearch - Indexing documents with MySQL as storage [+]
    [обсудить]
     Perl модуль позволяющий создать локальную поисковую систему используя возможности полнотекстового поиска в MySql. Содержит функции для индексации файлов, URL или полей в БД, а так же выборки по ключевым словам.
     
    ----* HTML-Template и Template-Toolkit - модули для отделения кода от дизайна через шаблоны [+]
    [есть мнение]
     
  • HTML-Template - более легкий и быстрый модуль, но менее функциональный язык разметки темплейтов, использование just-in-time компилятора HTML::Template::JIT позволяет увеличить скорость обработки темплейта в 4-8 раз. Рекомендую.
  • Template-Toolkit - очень объемный набор модулей, язык темплейтов обширен, зачастую даже излишне функционален (темплейты - это уход от смешивания программирования с html, а не замена одного языка на другой), но использование совместно с fastcgi или mod_perl может быть оправдано.
  • dTemplate - быстрые и простые темплейты на Perl.
  • Русскоязычный сайт по Template-Toolkit с переводом документации;
  •  
    ----* Apache::Admin::Config - module which allows you to edit Apache configuration (Версия: 0.94 от 2009-03-14) [+]
    [обсудить]
     Perl модуль для манипуляции с файлом конфигурации Web-сервера Apache. Модуль реализует не только выборки данных, являясь парсером конфиг-файла, но и позволяет модифицировать параметры конфигурации.
     
    ----* CGI::Cache - caches output of time-intensive CGI scripts (Версия: 1.41.1 от 2004-09-17) [+]
    [обсудить]
     Библиотека для организации прозрачного кэширования страниц генерируемых CGI скриптом. При повторяющихся запросах в пределах установленного таймаута пользователям будет выдана сгенерированная ранее страница.
     

       Python

    ----* Dulwich - pure-Python implementation of the Git file formats and protocols. (Версия: 0.8.3 от 2012-06-13) [+]
    [обсудить]
     Реализация поддержки форматов и протоколов Git на чистом Python. Позволяет создавать web-фронтэнды к Git-репозиторям, не требующие вызова внешних команд Git и работающие с данными репозиториями напрямую. Для сравнения модуль GitPython является лишь обвязкой вокруг стандартных утилит git. На базе Dulwich организована поддержка git в системе Google Code.
     
    ----* Django - high-level Python Web framework [+]
    [обсудить]
     Веб-фреймворк (парадигма MVC) для быстрой разработки web-приложений на языке Python. Отличия: прекрасная производительность, один из самых быстрых и грамотно написанных пакетов; прекрасные средства кеширования всего чего можно; наличие встроенного автоматизированного web-интерфейса для администрирования; понятный дизайнерам формат шаблонов; высокая гибкость, при желании почти все можно реализовать вручную (например вставить прямой SQL запрос); полная поддержка русского языка; большая гибкость в настройке; возможность неограниченного масштабирования.
  • WebAlchemy - дополнение значительно ускоряющие работу Django сайтов.
  •  
    ----* Dabo - cross-platform application development framework (Версия: 0.9.4 от 2011-10-08) [+]
    [обсудить]
     Python фреймворк (надстройка над wxPython) для разработки GUI приложений. В будущем, кроме wxPython, планируется поддержка PyQt и TkInter (Python интерфейс к Tcl/Tk).
     
    ----* PyDev - Eclipse plugin for Python and Jython development [+]
    [обсудить]
     Среда разработки на языке Pyhton созданная на базе платформы Eclipse.
    Другие IDE для Python:
     
    ----* Shed Skin - experimental Python-to-C++ compiler (Версия: 0.9.1 от 2012-01-17) [+]
    [обсудить]
     Транслятор Python скриптов в оптимизированное C++ представление. От существующих компиляторов Python кода, Shed Skin отличается значительно более высокой производительностью. Например, на 16 нетривиальных тестовых программах код сгенерированный Shed Skin оказался в 2-40 раз быстрее Psyco и в среднем в 12 раз быстрее CPython.

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

     
    ----* RPyC - Remote Python Call [+]
    [обсудить]
     Python библиотека для организации прозрачного (удаленные объекты выглядят как локальные) вызова удаленных процедур (RPC) в синхронном (с ожиданием завершения) или асинхронном (без блокировки) режимах.
     
    ----* ShedSkin - experimental Python-to-C++ compiler. [+]
    [есть мнение]
     Компилятор для языка Python, генерирующий на выхода оптимизированный C++ код.
     
    ----* SciPy - Scientific tools for Python (graphics and plotting) [+]
    [есть мнение]
     Python библиотека для выполнения математических операций и построению графиков и диаграмм, на основе набора статистических данных.
    Другие python модули для рисования графиков:
  • matplotlib - python 2D plotting library;
  • gracePlot.py - 2-D plotting capabilities via the Grace package;
  • PLplot — a Scientific Plotting Library;
  • ppgplot - python module (extension) providing bindings to the PGPLOT graphics library;
  •  
    ----* Pyrex - a Language for Writing Python Extension Modules [+]
    [обсудить]
     Язык (смесь python и Си), предназначенный для создания модулей-дополнений для Python скриптов. Написанные на Pyrex модули приближаются по производительности к их аналогам на языке Си (Pyrex преобразует код в компилируемый исходник на Си).
     
    ----* FAM - File Alteration Monitor (Версия: 5.0.0 от 2005-11-10) [+]
    [обсудить]
     API для мониторинга за состоянием файла или группы файлов/директорий. Можно использовать, когда в программе нужно выполнить какое-то действие сразу после изменения состояния файла.
  • SGI::FAM - Perl-интерфейс;
  • Python FAM Lib;
  • fileschanged - утилита работающая в режиме командной строки, для использования в Shell.
  •  
    ----* PyQt - comprehensive set of Python bindings for the Qt GUI toolkit. (Версия: 5.3 от 2014-05-29) [+]
    [есть мнение]
     Тулкит позволяющий писать Python программы используя возможности предоставляемые библиотекой QT.
     
    ----* SPYCE - plugin for Python-based dynamic HTML scripting (Версия: 1.3.11 от 2003-07-11) [+]
    [обсудить]
     Spyce позволяет писать Python скрипты инкапсулированные в HTML код (как JSP или PHP, код внутри HTML).
     
    ----* bridgekeeper - Perl to Python source code converter [+]
    [обсудить]
     Преобразователь скриптов на Perl в скрипты на Python.
     
    ----* Psyco - specializing compiler for the Python language (Версия: 1.5.1 от 2006-04-28) [+]
    [есть мнение]
     Компилятор Python программ (just-in-time (JIT) компилятор), преобразующий Python скрипты в псевдо-скомпилированный байткод, что позволяет на порядок увеличить производительность выполнения скомпилированных скриптов.
     
    ----* Jython - Python written in Java and seamlessly integrated with the Java platform (Версия: 2.2 от 2007-08-29) [+]
    [обсудить]
     Jython - реализация Python интерпретатора на Java, позволяющая использовать готовые Java библиотеки и целиком интегрированный в Java среду.
     
    ----* Mod_python - Apache module that embeds the Python language interpreter [+]
    [обсудить]
     

       Web-разработчику
    Perl:
    CGI-скрипты
    JavaScript-библиотеки
    PHP

    !!!-* fckeditor - GPL text editor for Internet (JavaScript) (Версия: 2.6.5 от 2009-09-22) [+]
    [есть мнение]
     Визуальный WYSIWYG редактор текста на JavaScript, для создания MS Word-подобных форм для редактирования текста на сайтах. Поддерживаются браузеры IE 5.5+, Firefox, Mozilla 1.3+, Netscape 7+ (к сожалению нет поддержки Opera, вероятно ситуация изменится после выхода Opera 9). Лицензия - LGPL. Элементарно интегрируется в скрипты на PHP, Java, Perl и т.д. На выходе - отформатированный HTML текст, передаваемый скрипту на сервере. Имеется поддержка русского языка.
    Функции: возможности автоформатирования текста переносимого через буфер обмена из MS Word или OpenOffice, визуальное создание и редактирование таблиц (с растягиванием рамок, как в Word), выбор типа и стиля шрифта, контекстное меню при клике правой кнопкой мыши, подключение внешних плагинов и скинов, проверка орфографии на лету. Online демонстрация работы.
  • TinyMCE - отличная альтернатива с похожей функциональностью, плюс нормальная поддержка Safari и Opera 9. Лицензия LGPL. Серверная часть на PHP.
  • HTMLArea - не такой объемный как TinyMCE и fckeditor редактор, примеры и скрипт для проверки орфографии на Perl.BSD-подобная лицензия.
  • Xinha - продолжение развития HTMLArea, со значительно расширенной функциональностью. BSD-подобная лицензия. В комплекте около 40 плагинов.
  • richtext - пару лет не развивающийся проект создания WYSIWYG редактора на DHTML/Javascript, работающего под Internet Explorer.
  •  
    rus-* CTPP - высокопроизводительный шаблонизатор для C, C++, Perl5, PHP4 и PHP5. (доп. ссылка 1) (Версия: 1.0.72 от 2014-06-11) [+]
    [есть мнение]
     Инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. Кредо проекта: достижение максимального быстродействия при минимальном необходимом функционале. Реализованы средства внутреннего кеширования неизменяющихся частей при выводе. Синтаксис шаблона обрабатывается один раз, в дальнейшем параметры подставляются в байткод. Библиотека написана на языке C++ и имеет интерфейс для языков C, C++, Perl5, PHP4 и PHP5. Имеется поддержка синтаксиса Smarty, HTML::Template или Text::Template.
     
    rus-* freetypo - бесплатный типограф [+]
    [обсудить]
     Средство для автоматизированной расстановки символов типографики в HTML-коде, генерируемом скриптами на языках Perl, PHP и Parser, а также в результате работы PHP-Nuke.
  • typo-py - типрограф на Python
  • PHP tipograf
  • Сравнение типографов.
  •  
    rus-* Решение проблемы кодирования русских символов JavaScript функцией escape() в IE, в utf8, вместо %XX. (доп. ссылка 1) (доп. ссылка 2) [+]
    [есть мнение]
     На стороне CGI скрипта последовательности закодированные в виде %uXXX (utf8) рекомендуется раскодировать посредством модулей Unicode::String и Unicode::Map8. Другим выходом является принудительное кодирование параметров внутри документа средствами JavaScript.
     
    ----* websocketd - превращает любую программу, использующую STDIN/STDOUT, в сервер WebSocket [+]
    [обсудить]
     Похожий на inetd диспетчер, позволяющий наладить взаимодействие с web-приложением в браузере и любым скриптом на сервере с использованием протокола WebSocket. Достаточно запустить скрипт под управлением websocketd и его потоки STDIN/STDOUT будут транслироваться через WebSocket.
     
    ----* node.JS [+]
    [обсудить]
     Серверная платформа на базе JavaScript-движка V8, позволяющая создавать серверные приложения на языке JavaScript, базирующиеся на парадигме обработки событий. Дизайн node.JS напоминает Ruby-библиотеку Event Machine и Python-фреймворк Twisted, но реализует обработку событий в неявном виде, на уровне вызова неблокирующих обработчиков, примерно, так как происходит обработка событий в JavaScript-коде, работающем в web-браузере.
     
    ----* haXe - multiplatform open source programming language [+]
    [обсудить]
     Многоплатформенный язык программирования, позволяющий транслировать исходные тексты с haXe в код на языках JavaScript и PHP, а также формировать на выходе готовый байткод в SWF-формате (Adobe Flash).
     
    ----* MTASC - Motion-Twin ActionScript 2 Compiler [+]
    [обсудить]
     Открытый компилятор ActionScript 2 программ в SWF байткод, поддерживающий сборку большинства ".as" классов без использования Macromedia Flash и других сторонних продуктов.
     
    ----* Mycached - memcached protocol support for MySQL [+]
    [обсудить]
     В рамках проекта Mycached реализована поддержка протокола memcached для обращения к MySQL базам, т.е. дает возможность обратиться к существующей MySQL базе не через SQL запрос, а через протокол memcached. Проект выступает своего рода противоположностью memcached хранилища к MySQL, позволяющему обращаться к внешнему mymcached серверу через стандартные SQL команды.

    По задумке авторов Mycached, прямой запрос ключей из хранилища, позволит оптимизировать скорость выполнения запросов, благодаря пропуску шагов по парсингу SQL и планированию выполнения запроса. При предварительном тестировании, в простейших запросах, обращение по протоколу memcached оказалось в два раза быстрее, чем выполнение стандартных SQL запросов, обеспечив при этом значительное опережение в плане организации параллельных запросов к базе. Mycached позволяет комбинировать гибкость MySQL с высокой производительностью решений подобных MemcacheDB (модифицированная версия memcached с сохранением кэша на диск в Berkeley DB базе).

    В настоящий момент Mycached поддерживает только чтение данных (команда get) и прозрачное преобразование записи в JSON представление (добавление постфикса ":json" к запрашиваемому ключу). Возможен вывод нескольких столбцов за один запрос и вывод отдельных столбцов.

     
    ----* WebDriver - clean, fast framework for automated testing of webapps [+]
    [обсудить]
     Инструментарий для тестирования сложных JavaScript-приложений при их работе в реальных web-браузерах. Код WebDriver открыт и распространяется в рамках лицензии Apache. Инструментарий содержит простой API для формирования автоматизированного набора тестов (можно симулировать нажатия клавиш, работу с мышью, сверять результаты с эталоном и т.п.). В отличии от тестовых фреймворков и Sahi, WebDriver полностью контролирует работу браузера, так как выполнен не как javascript-библиотека, а в виде отдельно устанавливаемого дополнения: FirefoxDriver, InternetExplorerDriver, также поддерживается работа в режиме клиент-сервер, когда тестовые задания загружаются с внешнего источника.
     
    ----* Thrudb - indexing and document storage services [+]
    [обсудить]
     Thrudb предназначен для индексирования и хранения документов. Код системы основан на наработках социальной сети Facebook, поддерживается интеграция с системами кеширования Memcache и Spread, в качестве бэкенда для конечного хранения данных может использоваться BerkeleyDB, Disk, MySQL, S3.
     
    ----* Rails - framework for developing web applications according to the MVC pattern [+]
    [обсудить]
     Фреймворк для создания web-приложений на языке Ruby, следующих парадигме MVC (Model-View-Control). Ruby on Rails абстрагирован от низкоуровневых операций с СУБД и SQL, что позволяет обеспечить прозрачность при миграции скриптов от одной СУБД к другой.
     
    ----* beanstalkd - fast, distributed, in-memory workqueue service [+]
    [обсудить]
     Демон для обработки очередей заданий (один процесс кидает данные в очередь, другой забирает), как и memcached хранит данные только в памяти. Подходит для оптимизации высоконагруженных систем, опробован в рамках проекта Facebook.
     
    ----* libmicrohttpd - small C library for embedding HTTP server functionality (Версия: 0.2.3 от 2008-03-26) [+]
    [обсудить]
     Небольшая библиотека на Си, с реализацией функциональности простого HTTP/1.1 сервера (для встраивания в приложения).
    Альтернативы:
  • libhttpd;
  • Libwww
  •  
    ----* memcachedb - distributed key-value storage system [+]
    [обсудить]
     Модифицированная версия memcached с сохранением кэша на диск, предназначена для надежного постоянного хранения данных для систем с очень большой интенсивностью операций чтения и записи. Протокол совместим с memcached. Для хранения на диске используется Berkeley DB.
  • Tugela - распределенное хранилище хэшей на дисках, на базе memcached и Berkeley DB, разработано в рамках проекта MediaWiki.
  • File cache - система кэширования данных в файловой системе от проекта MediaWiki;
  • Другие распределенные хранилища для хранение данных в формате ключ/значение: Tokyo Tyrant/Cabinet; Facebook Cassandra; Redis; LinkedIn Project Voldemort;
  • Apache CouchDB - документо-ориентированна БД работающая в стиле MapReduce. См. также проект Riak;
  •  
    ----* Django - high-level Python Web framework [+]
    [обсудить]
     Веб-фреймворк (парадигма MVC) для быстрой разработки web-приложений на языке Python. Отличия: прекрасная производительность, один из самых быстрых и грамотно написанных пакетов; прекрасные средства кеширования всего чего можно; наличие встроенного автоматизированного web-интерфейса для администрирования; понятный дизайнерам формат шаблонов; высокая гибкость, при желании почти все можно реализовать вручную (например вставить прямой SQL запрос); полная поддержка русского языка; большая гибкость в настройке; возможность неограниченного масштабирования.
  • WebAlchemy - дополнение значительно ускоряющие работу Django сайтов.
  •  
    ----* KompoZer - complete web authoring system [+]
    [обсудить]
     Система разработки web-страниц поддерживающая WYSIWYG режим редактирования. Имеются средства для редактирования CSS, XML, JavaScrip. Основан на движке Gecko и платформе XulRunner. Продолжает славные традиции Mozilla/Netscape Composer.
     
    ----* CSSTidy - opensource CSS parser and optimiser [+]
    [обсудить]
     Утилита для оптимизации CSS файлов. Имеется полная поддержка CSS2. Может использоваться как библиотека для парсинга CSS (не используются regex).
     
    ----* Ajax Frameworks [+]
    [обсудить]
     Большой обзор Ajax систем и библиотек на Perl, PHP, Ruby, Python, Java, поддерживающих Ajax на стороне сервера.
     
    ----* Sajax - open source Ajax framework (Версия: 0.12 от 2006-01-31) [+]
    [есть мнение]
     Пакет для создания интерактивных GUI-подобных интерфейсов, используя технологию именуемую XMLHTTPRequest или Ajax (Asynchronous JavaScript and XML), когда данные для элементов страницы подгружаются динамически. Можно использовать с серверной частью на любом языке, например, Perl, PHP, Python, Ruby и т.д.
     
    ----* Quanta Plus - highly stable and feature rich web development environment. (Версия: 3.5.9 от 2008-02-27) [+]
    [обсудить]
     Редактор для web-разработчика, ориентированный на подготовку HTML страниц, скриптов, а также основанных на SGML или XML документов, например, DocBook. Имеются функции динамического просмотра результатов работы (preview), управления проектом и версиями, присутствует система подсказки и автодополнения тэгов.
     
    ----* GPLFlash - GPL Flash decoding library, with player and mozilla-plugin [+]
    [обсудить]
     Библиотека для декодирования Macromedia Flash (SWF) файлов. В комплект входит mozilla плагин и обособленный проигрыватель для просмотра flash роликов.
     
    ----* MogileFS - open source distributed filesystem [+]
    [обсудить]
     Распределенная файловая система созданная в рамках проекта LiveJournal и реализованная на уровне многоплатформенного приложения на Perl.

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

    Для каждого файла задается его класс, определяющий на какое число соседних машин от будет реплицирован. Отлично подходит для создания распределенных web-проектов и как средство создания высоконадежного хранилища данных, не прибегая к использованию RAID. Доступ пользовательских приложений к ФС осуществляется посредством HTTP запросов (PUT/GET) или через использования виртуального NFS тома.

  • Perlbal - система балансировки нагрузки на Perl, представленная на том же сайте. Отличный пример как нужно писать высокопроизводительные приложения на Perl.
  •  
    ----* memcached - high-performance, distributed memory object caching system (Версия: 1.4.13 от 2012-03-30) [+]
    [обсудить]
     Система кэширования тяжелых объектов в оперативной памяти. Позволяет используя специальное API (Perl, PHP, Python, Java)прокэшировать в ОЗУ блок данных сопоставленный с определенным символьным ключом (работает как хэш).

    Поддерживаемые операции "set", "add", "replace", "get", "delete", "flush_all", так же устанавливается время жизни элемента, после которого он будет удален из кэша.

    Взаимодействие клиента и сервера производится через TCP соединение (libevent kqueue, select, poll и /dev/epoll схемы нотификации).

  • repcached - набор патчей с реализацией возможности асинхронной мульти-мастер репликации между несколькими memcached серверами;
  • libmemcached - клиентская библиотека на языке Си, для работы с memcached сервером. В комплекте имеется набор утилит для осуществления операций с memcached из командной строки.
  • memcache_engine - движок к MySQL для работы с memcached через SQL операторы (SELECT/UPDATE/INSERTE/DELETE).
  • Memcachedb - модифицированная версия memcached с сохранением кэша на диск (кэш не теряется при перезагрузке).
  • Cache::Memcached::Fast - perl модуль для работы с memcached, примерно в 6 раз быстрее стандартного Cache::Memcached.
  • Cache::Memcached::LibMemcached - Perl интерфейс к libmemcached, опережающий стандартный Cache::Memcached в 8 раз.
  • mod_memcached - модуль к HTTP серверу Apache выступающий в роли транслятора GET, PUT и DELETE запросов к memcached, т.е. позволяет организовать отдачу контента напрямую из memcached;
  • statsproxy - web-интерфейс для просмотра статистики memcached.
  •  
    ----* Flash 5 ioLib - open-source Flash 5 functions [+]
    [обсудить]
     Набор библиотек, отладчик и средства визуального проектирования для создания Flash роликов.
     
    ----* HTML Tidy - clean up and pretty print HTML/XHTML/XML [+]
    [обсудить]
     Утилита для автоматического исправления ошибок в HTML, XHTML, XML документах. Прекрасно подходит для чистка HTML кода после различных WYSIWYG HTML редакторов.
    Tidy умеет преобразовывать HTML в XML/XSL, исправлять незакрытые тэги, нормализовать порядок следования и закрытия тэгов, заменять тэги на CSS блоки, форматировать тэги и разбивать текст.
     
    ----* Ming - SWF (Flash) format movies output library [+]
    [обсудить]
     Библиотека позволяющая генерировать SWF файлы с Flash анимацией прямо из программ на C++, Perl, PHP, Python и Ruby.
     
    ----* Bitflux Editor - browser based Wysiwyg XML Editor  (доп. ссылка 1) (Версия: 0.9.5 от 2004-07-06) [+]
    [обсудить]
     Работающий под Mozilla 1.x/Netscape 7.0 визуальный XML редактор. Редактирование осуществляется прямо в окне браузера. Подходит для интеграции с web-формами для форматирования статей/новостей, так же подходит для создания небольших страниц в online.
     
    ----* Jython - Python written in Java and seamlessly integrated with the Java platform (Версия: 2.2 от 2007-08-29) [+]
    [обсудить]
     Jython - реализация Python интерпретатора на Java, позволяющая использовать готовые Java библиотеки и целиком интегрированный в Java среду.
     
    ----* libcurl - solid and reliable multi-protocol file transfer library for URL syntax defined files. [+]
    [обсудить]
     Мощная библиотека для скачивания файлов (в том числе группы по маске). На базе этой библиотеки написано множество программ для удобного скачивания сайтов (аналог wget), проверки работоспособности ссылок и т.д. Доступна для языков Си, Perl и PHP. Протоколы: http, ftp, dict, telnet, https, ldap, gopher. Особенности: HTTP-put, cookies, FTP закачка, поддержка аутентификации, работа через прокси.
     
    ----* Mason - powerful Perl-based web site development and delivery engine. With Mason you can embed Perl code in your HTML and construct pages from shared, reusable components. [+]
    [есть мнение]
     Модуль HTML::Mason позволяет существенно облегчить разработку интерактивных web приложений, взяв на себя выполнение таких задач, как отладка, интеграция кода и данных, темплейты, кеширование и т.д.
     
    ----* BLADE - web based enviournment supports object embedding from any language into any web page [+]
    ----* Midgard - freely-available Web application development and publishing platform (Версия: 12.09.1 от 2012-09-27) [+]
    ----* Zope - web application platform for building high-performance, dynamic web sites (Версия: 3.3.0 от 2006-09-28) [+]
    [обсудить]
     Системы для автоматизации создания Интранет web серверов и порталов (среда для создания web-проектов на языке Python, может выступать в роли системы управления контентом (CMS)). Используемые методы интеграции стиля представления информации (дизайна) и данных, позволяют существенно сократить время разработки сложных web проектов. Вам не понадобится беспокоиться об организации таких типовых структур, как системы поиска, представления и ведения новостей, персонализации, и т.д.
     
    ----* Apache::ASP - Active Server Pages port to the Apache Web Server [+]
    [есть мнение]
     Модуль реализующий поддержку возможности исполнения ASP скриптов под web-сервером apache. В качестве интегрируемого в HTML языке выступает Perl. Кроме того присутствует библиотека XML тэгов и подсистема рендиренга XSLT, а также расширенное ASP API.
     
    ----* Barque - web browser designed to be run on the GNONE environment [+]
    [обсудить]
     Небольшой браузер использующий для рендеринга html страниц компонент системы GNOME - GtkHtm. Не поддерживает https и фреймы.
     

       Perl:

       CGI-скрипты

    rus-* GIS - Обзор свободных web-приложений ГИС. (Версия: 0.22 от 2004-11-16) [+]
    [обсудить]
     Русскоязычный обзор открытых web-приложений для работы с географическими данными (ГИС - географические информационные системы).
  • Mapit - простая система на Python (нарезка карт и навигация по готовым кускам);
  • Mapserver - наиболее эффективное ПО с функциями zoom/pan/query;
  • Geotools - пакет Java-модулей для разработки собственных систем, на базе Geotools создан готовый продукт - Geoserver.
  •  
    ----* wp-whois-proxy - open source whois tool [+]
    [обсудить]
     Прокси к множеству разрозненных whois сервисов. Позволяет получить исчерпывающую информацию по IP адресу, домену, NIC и ASN идентификаторам. Утилита написана на perl и может работать как cgi-скрипт, так и из командной строки.
     
    ----* Wiki - Open Source Wiki [+]
    [есть мнение]
     
     
    ----* CGI:IRC - access IRC from a web browser (Версия: 0.5.8 от 2006-05-02) [+]
    [есть мнение]
     CGI-скрипт на Perl, позволяющий использовать в качестве irc-клиента web-браузер (web2irc шлюз). Поддерживается несколько режимов отображения.
     
    ----* MovableType - personal publishing system for creating weblogs or news pages [+]
    [обсудить]
     Система для ведения блогов и лент новостей. Написана на Perl, в качестве хранилища данных может выступать Berkeley DB или MySQL/PstgreSQL.
     
    ----* quizz - quiz and test web application [+]
    [обсудить]
     Скрипты для построения системы интерактивных web-тестов и опросов. Написана на Perl, используется Berkeley DB.
    Другие проекты от данного разработчика:
  • faq-system - скрипт для ведения FAQ, с возможностью внесения изменений членами группы и посетителями;
  • note - консольная программа на Perl для ведения заметок и планирования работы, поддерживается как хранение данных в SQL, так и в текстовой базе.
  •  
    ----* CGIProxy - HTTP/FTP Proxy in a CGI Script (Версия: 2.1.11 от 2014-06-03) [+]
    [есть мнение]
     CGI скрипт работающий как HTTP, HTTPS или FTP прокси. При обращении к скрипту появляется форма ввода адреса, после сабмита скрипт помещает блок управления в верхний фрейм (управление куками, анонимностью и т.д.), в нижнем фрейме отображается содержимое запрошенного через скрипт сайта.
     

       JavaScript-библиотеки

    rus-* HTML_MetaForm - извлечение информации о структуре HTML-формы и ее обработка [+]
    [обсудить]
     Библиотека HTML_MetaForm, а также сопутствующая библиотека HTML_MetaFormAction революционным образом упрощает работу с формами в PHP-программах, не изменяя при этом традиционную структуру Web-скриптов. Библиотека работает "прозрачно" и может быть подключена к любому имеющемуся скрипту. В результате скрипт получит полные сведения о структуре формы, которая была ему отправлена, снабженную мета-атрибутами, указанными при создании формы (например, именами валидаторов). На основе этой информации проводится дальнейшая работа: валидация, накопление сообщений об ошибках, защита формы от подделывания и т.д.
     
    rus-* JsHttpRequest - динамическая подкачка данных с поддержкой upload-а (AJAX) (Версия: 5.0 от 2007-04-04) [+]
    [есть мнение]
     JsHttpRequest библиотека для создания AJAX-приложений, отличающаяся повышенной кроссбраузерностью, простотой и универсальностью, а также умеющая закачивать файлы на сервер без перезагрузки страницы и работать с формами целиком. Особенности:
  • Кроссбраузерность. Библиотека работает в IE5.0+, Mozilla 1.7+, FireFox 1.0+, Opera 7.3+, Safari (здесь "+" означает "в этой и более новых версиях"). Кроме того, код может работать без поддержки ActiveX и XMLHttpRequest (однако, если эти возможности включены в браузер, они автоматически задействуются).
  • Закачка файлов (upload) из браузера на сервер без перезагрузки страницы.
  • Полная поддержка отладочных возможностей PHP. Если в скрипте на серверной стороне происходит ошибка (включая фатальную, например, вызов неопределенной функции), клиентская часть имеет возможность корректно ее обработать и вывести диагностику. Помимо данных ответа, ей передается выходной поток скрипта, содержащий текст ошибки PHP.
  • Передача многомерных структур (аналог JSON) в данных запроса и ответа сервера. При этом используются стандартные средства PHP - многомерные массивы (данные запроса можно получить из $_REQUEST, данные ответа записываются в $_RESULT), а также стандартные средства JavaScript - вложенные объекты и свойства. Никакого XML на уровне API: работа происходит "родными" средствами языков.
  • Поддержка сессий PHP стандартными средствами.
  • Выбор оптимального метода загрузки данных (XMLHttpRequest, Microsoft.XMLHTTP, SCRIPT, IFRAME) в зависимости от браузера. В частности, возможность загружать данные с других хостов.
  • Интерфейс, совместимый с XMLHttpRequest.
  •  
    ----* Paper.js - The Swiss Army Knife of Vector Graphics Scripting [+]
    [обсудить]
     Фреймворк для работы с векторной графикой, использующий для отрисовки тег canvas. Кроме функций для работы с графикой как с DOM-объектом в библиотеке предусмотрены средства для взаимодействия с клавиатурой и мышью, математические функции, элементы векторной геометрии и процедуры для использования кривых Безье.
     
    ----* qooxdoo - JavaScript framework for creating rich internet applications (Версия: 4.0 от 2014-06-08) [+]
    [обсудить]
     JavaScript-фреймворк, предназначенный для создания интерактивных web-приложений, снабженных пользовательским интерфейсом приближенным к оформлению десктоп-программ. Фреймворк имеет объектно-ориентированную архитектуру и по заявлению разработчиков позволяет создавать программы даже начинающим программистам, не знакомых с особенностями HTML, CSS и DOM. Кроме средств для разработки GUI-интерфейса в qooxdoo представлена поддержка расширенных средств для организации взаимодействия между клиентом и сервером (серверная часть доступна на языках Java, PHP, Perl, Python). Код фреймворка распространяется в рамках двойной лицензии LGPL/EPL. Демонстрирующие возможности qooxdoo скриншоты можно посмотреть здесь, а рабочую online-демонстрацию - здесь.
     
    ----* Plotr - javascript for rendering bar, line and pie charts. [+]
    [обсудить]
     JavaScript библиотека для построения разнообразных графиков и диаграмм. Для вывода используется Canvas или SVG. Библиотека совместима с браузерами Firefox 1.5+, Safari 2.0+, Opera 9.0+, IE6+.
     
    ----* Highlight.js - JavaScript для подсветки синтаксиса [+]
    [обсудить]
     JavaScript для автоматической подсветки синтаксиса в примерах кода в блогах, форумах и вообще на любых веб-страницах: сам находит блоки кода, сам определяет язык, сам подсвечивает.
     
    ----* yui - Yahoo! User Interface Library [+]
    [есть мнение]
     Набор JavaScript библиотек для создания пользовательского интерфейса, используя Ajax и другие новинки составляющие Web 2.0. Например, различные виды анимации, надстройки над XMLHttpRequest и DOM, "Drag and Drop", средства для обработки событий, модули для создания слайдов, календарей и древовидных структур. Код распространяется под BSD лицензией.
  • Design Pattern Library - набор готовых наработок, таких как, "Drag and Drop" перетаскивание элементов страниц, автодополнение используя Ajax, создание меню в виде закладок, листание многостраничных документов, отображение рейтингов
  •  
    ----* JKL.ParseXML - parse remote XML file into JavaScript object [+]
    [обсудить]
     JavaScript библиотека для преобразования удаленного XML файла (запрос через XMLHttpRequest ) в объектный вид (хэш). Удобно использовать для парсинга XML внутри JavaScript.
  • jsont - небольшая функция для преобразования XML/XSLT в нотацию JavaScript объектов (JSON - Java Script Object Notation).
  •  
    ----* JavaScript::Squish - Reduce/Compact JavaScript code to as few characters as possible. (Версия: 0.07 от 2008-03-18) [+]
    [есть мнение]
     Модуль для оптимизации размера JavaScript кода, убирая комментарии и сокращая длину переменных.
     
    ----* TiddlyWiki - reusable non-linear personal web notebook [+]
    [обсудить]
     Wiki реализация выполненная полностью на JavaScript (~ 200 Кб кода). Никаких серверных скриптов не используется. Для того чтобы сохранить результат редактирования, после изменений страница сохраняется средствами браузера и сохраненный файл копируется на хостинг. При навигации данные не подгружаются из сети, а открываются мгновенно (весь сайт в одном файле).
  • ServerSideWiki - вариант с сохранением и подгрузкой блоков на сервере, написан на Ruby с использованием RubyonRails.
  •  
    ----* Raphaël - JavaScript library for vector graphics on the web [+]
    [обсудить]
     JavaScript-библиотека для упрощения создания векторной графики и выполнения таких манипуляций, как вращение виджетов. Для создания графики используется SVG или VML, при этом графический объект становится DOM-объектом, что позволяет использовать с ним обработчики событий.
     
    ----* GWT - Google Web Toolkit [+]
    [обсудить]
     Набор средств для разработки динамических web-приложений, которые изначально могут быть написаны на языке Java, а затем при помощи специального транслятора преобразованы в представление на базе JavaScript и HTML.
     
    ----* node.js - evented I/O for V8 JavaScript [+]
    [обсудить]
     Серверная платформа, позволяющая создавать высокопроизводительные сетевые приложение на языке JavaScript. Для обеспечения обработки большого числа параллельных запросов node.js использует для запуска кода асинхронную модель, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. По своей сути node.js похож на фреймворки Ruby Event Machine и Python Twisted, но цикл обработки событий (event loop) в node.js скрыт от разработчика и напоминает обработку событий работающим в браузере web-приложением, при этом функции платформы не ограничены web и поддерживают создание обычных сетевых клиентских и серверных программ.

    В качестве способов мультиплексирования соединений поддерживается epoll, kqueue, /dev/poll и select. Для обеспечения выполнения JavaScript-кода используется разработанный компанией Google движок V8. Для мультиплексирования соединений используется библиотека libevent, для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe).

    Для расширения функциональности приложений на базе node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией HTTP/SMTP/XMPP/DNS/FTP/IMAP/POP3 серверов и клиентов, модули для интеграции с различными web-фреймворков, WebSocket и Ajax обработчики, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (например, OAuth), XML-парсеры.

    При написании приложений для node.js необходимо учитывать специфику событийно-ориентированного программирования, например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдет к дальнейшему коду, а результат запроса будет обработан по мере поступления данных. Ни одна функция в node.js не должна напрямую выполнять операции ввода/вывода - для получения данных с диска, от другого процесса или из сети требуется установка callback-обработчика.

    Другие серверные JavaScript системы:

    • Jaxer - позволяет выносить некоторые части web-приложения на сторону сервера;
    • EJScript - web-фреймворк, использующий парадигму Model View Controller (MVC), принцип создания приложений в котором напоминает Ruby on Rails;
    • RingoJS - еще один MVC-фремворк, написанный на Java и использующий JavaScript-движок Mozilla Rhino;
    • AppengineJS - проект по обеспечению возможности выполнения JavaScript кода в окружении Google App Engine.
     

       PHP

    !!!-* Turck-MMCache - PHP Accelerator & Encoder (доп. ссылка 1) [+]
    [есть мнение]
     Система позволяющая кэшировать предкомпилированный вариант php скриптов в разделяемой памяти, так же возможен вариант сохранения предкомпилированного скрипта на диске. Присутствуют функции кэширования отдаваемого контента. Лицензия - GPL. Много положительных отзывов, хороший продукт.
  • EAccelerator - продукт ответвившийся от проекта mmcache, в котором проводятся эксперименты над новой техникой оптимизации. Обеспечивает отличный прирост производительности;
  • APC (Alternative PHP Cache) - стабильный, активно развивающийся акселератор PHP, имеется поддержка всех версий включая PHP5.1;
  • XCache - стабильная система кеширования опкода PHP, нормально выдерживает большую нагрузку. Поддерживает все версии PHP.
  •  
    rus-* php-fpm - PHP FastCGI Process Manager [+]
    [обсудить]
     Патч к PHP 4/5 для использования PHP как FastCGI процесса в высоконагруженных системах. Устраняет ряд проблем мешающих использовать PHP в режиме FastCGI.
     
    rus-* DbSimple - лаконичная работа с различными СУБД [+]
    [есть мнение]
     Библиотека DbSimple предоставляет интерфейс, значительно более простой и удобный, чем другие популярные библиотеки абстракций от СУБД (ADODB, PEAR DB, PDO и т.д.), а также дополнительные возможности. Основные возможности
  • Поддержка PHP 4 и 5, СУБД: MySQL, PostgreSQL и InterBase/FireBird.
  • Простой и лаконичный интерфейс (см. примеры ниже).
  • Условные макроподстановки в теле SQL-запроса ({}-блоки), позволяющие динамически генерировать даже очень сложные запросы без ущерба читабельности кода.
  • Кэширование результатов выполнения запроса (если это необходимо).
  • Поддержка различных видов placeholder-ов (параметров запроса): списковый, ассоциативный, идентификаторный и т. д.
  • Поддержка функции "выборка + подсчет общего числа строк" (для отображения по страницам).
  • Функции непосредственной выборки: всего результата, строки, столбца, ячейки, ассоциативного массива, многомерного массива, связанного дерева и т. д.
  • Удобный интерфейс для отслеживания и обработки ошибок.
  • Поддержка расширенного логирования запросов (включая результат выполнения запроса и номер строки вызывающей программу).
  • Поддержка "родных" placeholder-ов СУБД и автоматическая оптимизация "один prepare, много execute".
  • Объектный интерфейс работы с BLOB-ами (если это необходимо).
  • Код библиотеки весьма компактен: один файл - базовый класс, один файл - драйвер конкретной СУБД.
  •  
    rus-* dbtree - PHP библиотека для работы с деревьями Nested Sets (Версия: 0.8.7 от 2008-07-30) [+]
    [обсудить]
     Основной особенностью библиотеки является, то, что все запросы в методах переписаны согласно стандартам ANSI и работают без изменений на подавляющем большинстве баз данных. Библиотека поддерживает кэширование SQL запросов на уровне методов. Библиотека работает с поддержкой технологии GetText, в качестве двигателя базы данных использует ADODB. Можно использовать свой класс для работы с базой данных
     
    ----* phc - open source compiler for PHP with support for plugins [+]
    [обсудить]
     Построенный в виде GCC-фронтэнда компилятор PHP-скриптов в бинарную форму. Компиляция возможна для скриптов, использующих стандартные функции PHP. Присутствует режим преобразования кода в нечитаемый вид (obfuscate) и в XML-представление (для запуска скрипта в XML-формате используется специально созданная утилита). Поддерживается подключение к компилятору плагинов, написанных на языке C++, которые могут быть использованы, например, для анализа кода.
     
    ----* Jisko - open-source microblogging application written in PHP [+]
    [обсудить]
     Распространяемая в исходных текстах система микро-блогов, написанная на языке PHP и использующая для свой работы СУБД MySQL.
  • jisko-libraries - набор библиотек и модулей для добавления в свои программы средств для взаимодействия с сервисом Jisko.
  •  
    ----* Gollem - web-based File Manager [+]
    [обсудить]
     Файловый менеджер, написанный на PHP и реализованный на основе web-интерфейса. Gollem поддерживает работу с файлами через WebDAV, FTP, стандартные ФС или работу с данными из SQL базы. Файловый менеджер базируется на Horde Application Framework и может быть легко интегрирован в сторонние web-проекты.
     
    ----* Open Flash Chart - creating Flash-based charts for Web (Версия: 1.9.7 от 2008-01-29) [+]
    [обсудить]
     Набор для создания flash диаграмм и графиков с динамической подгрузкой данных. Серверная часть написана на PHP.
     
    ----* Mail logging for PHP (Версия: 5.4 от 2008-07-02) [+]
    [обсудить]
     Обязательный для систем массового хостинга патч к mod_php. Патч позволяет вести полный лог отправки сообщений через функцию mail(), а также включать в тело письма заголовок с уточнением из какого именно скрипта и от какого пользователя осуществлена отправка.
     
    ----* PHP/SWF Charts [+]
    [обсудить]
     Средство для генерации схем и диаграмм в формате SWF (Macromedia Flash) из PHP скриптов.
  • Для других языков, например Perl и Python, можно использовать пакет CML/SWF Charts
  •  
    ----* PL/php - PHP procedural language for PostgreSQL. [+]
    [обсудить]
     Подсистема для PostgreSQL, позволяющая писать хранимые процедуры на PHP.
     
    ----* debugConsole - tool for debugging and tracing PHP5 application [+]
    [обсудить]
     Отладчик PHP кода написанный в виде обычного PHP скрипта, не требующего особых прав для установки (достаточно положить скрипт рядом и написать require_once 'debugConsole.php'). Процесс отладки производится через обычное popup окно, ведется подробный лог-файл.
     
    ----* php_review - PHP Editor Review [+]
    [есть мнение]
     Обзор и рейтинг существующих редакторов, ориентированных на создание PHP скриптов.
     
    ----* DBG - PHP Debugger and Profiler. (Версия: 2.15.1 от 2006-09-22) [+]
    [обсудить]
     Функциональная система для отладки и профилирования PHP скриптов. Бесплатная версия включает модуль для интеграции с php и интерфейс к среде DDD для визуального представления процесса отладки.
     
    ----* Phalanger - the PHP Language Compiler for .NET Framework [+]
    [обсудить]
     Проект для создания компилятора PHP скриптов в MSIL байткод для использования в .NET окружении (например, для запуска web-сервисов в ASP.NET). Позволяет вызывать в PHP скрипте .NET классы написанные на других языках (например, С#).
     
    ----* JpGraph - OO Graph Library for PHP (Версия: 3.0.7 от 2010-01-13) [+]
    [обсудить]
     Библиотека классов для PHP, являющая собой надстройку над GD, предназначенная для простого создания мощных и красивых графиков и диаграмм.
     
    ----* FlatfileDB - PHP Text DB API (доп. ссылка 1) [+]
    [обсудить]
     Библиотека позволяющая работать PHP скриптам с хранилищем данных в виде плоских текстовых файлов, обращаясь при этом к ним используя простые SQL запросы.
     
    ----* bcompiler - PHP bytecode compiler for classes [+]
    [обсудить]
     Открытый компилятор для скрытия исходного кода путем превращения PHP скриптов в бинарный вид.
  • Патчи для усовершенствования bcompiler и краткая инструкция по использованию (так же см.здесь ).
  •  
    ----* ADOdb - Database Abstraction Library for PHP and Python. (Версия: 4.81 от 2006-05-05) [+]
    [обсудить]
     Библиотека для PHP и Python определяющая единый абстрактный интерфейс взаимодействия с различными БД.
  • Русская статья по использованию ADOdb;
  • ADODB – русская документация (Часть 1, Часть 2)
  •  
    ----* suPHP - executing PHP scripts with the permissions of their owners (Версия: 0.6.3 от 2008-04-01) [+]
    [есть мнение]
     ПО позволяющие выполнять php скрипты под привилегиями пользователя владеющего ими (наподобие suexec). Реализован в виде apache модуля mod_suphp и suid root выполняемого файла suphp обеспечивающего запуск PHP интерпретатора.
     
    ----* PHP_Version - determine the minimum PHP version (Версия: .3b от 2004-10-27) [+]
    [обсудить]
     Анализатор исходных текстов скриптов на PHP, позволяющий выявить минимально необходимую для выполнения этого скрипта версию PHP и список расширений которые должны быть установлены.
     
    ----* myXML - PHP implementation of the W3C's DOM, XPath, and XSLT [+]
    [обсудить]
     Реализация DOM, XPath и XSLT рекомендаций на PHP не требующая дополнительных библиотек.
  • Так же см. статью "Альтернатива DOM XML на PHP".
  •  
    ----* APC - Alternative PHP Cache [+]
    [обсудить]
     Бесплатная и открытая система для кэширования предкомпилированных PHP скриптов, позволяет значительно увеличить производительность PHP скриптов выполняющихся из под mod_php.
    Прекрасная альтернатива (бесплатная, используется многопроходная оптимизация php кода) - Zend Optimizer.
  • См. также ionCube PHP Accelerator и Turck MMCache for PHP.
  •  
    ----* Smarty - template engine for PHP. (Версия: 2.6.6 от 2004-11-03) [+]
    [есть мнение]
     Тулкит для программирования на PHP с использованием темплейтов.
     
    ----* phperl - Perl interpreter into the PHP3/4 module for Apache. [+]
    [обсудить]
     Дополнение к PHP модулю, позволяет использовать Perl код в PHP скриптах.
     
    ----* Apolda Template - powerful template class written in PHP (Версия: 0.1.1 от 2002-07-17) [+]
    [есть мнение]
     PHP модуль для вынесение HTML текста в темплейты, позволяет разделить код и оформление.
     
    ----* Symphony - Open-Source PHP Web Framework [+]
    [обсудить]
     Framework на языке PHP для разработки web-приложений в соответствии с парадигмой MVC. Из возможностей можно отметить: поддержка кеширвоания, ajax, создание темплейтов на разных языках. По производительности в несколько раз отстает от Django и Catalyst, но опережает Ruby On Rails.
     

       Базы данных
    MySQL
    Oracle
    PostgreSQL

    !!!-* cdb - constant databases. [+]
    [обсудить]
     Простая и производительная библиотека для создания простых баз данных (ключ=>значение). Автор D. J. Bernstein (qmail, djbdns). По скорости чтения и записи данных значительно опережает NDBM, SDBM, GDBM, QDBM и Berkeley DB. Имеется защита от повреждения базы в случае краха системы. Присутствуют интерфейсы для Си, Python, Ruby, Java и Perl (CDB_File).
     
    rus-* sqlite3-rdiff - signature-based row differences for SQLite3 databases [+]
    [обсудить]
     Утилита, предназначенная для организации репликации данных между несколькими БД SQLite. Утилита поддерживает три базовые операции:
    1. Формирование файла хэш-сигнатур, отражающих текущее состояние всех записей БД.
    2. Генерацию delta-патча на основе сравнения текущего состояния базы с состоянием отраженным в файле сигнатур.
    3. Обновление данных в БД на основе заданного delta-патча:

    Сигнатуры вычисляются с использованием хэш-функции MurmurHash для всех данных одной строки или группы строк базы. Размер файла сигнатур занимает около 10% от размера исходной базы, но имеется возможность вычисления и проверки сигнатур сразу для нескольких строк, что позволяет значительно сократить размер файла сигнатур за счет увеличения размера delta-патча. Примечательно, что при генерации одной сигнатуры для N-строк, размер файла с сигнатурами уменьшается в N раз. Группировку предпочтительно использовать для баз большого размера, данные в которых изменяются не часто.

    Пример по доведению необновленной версии slave.db до актуальной БД master.db:

       sqlite3-rdiff --rows-per-hash 16 signature slave.db slave.db.sign
       sqlite3-rdiff delta slave.db.sign master.db slave.db.delta
       sqlite3-rdiff patch slave.db slave.db.delta slave.db
    

    В итоге, для slave.db размером 1.5 Гб будет сгенерирован патч slave.db.delta размером 4.3 Мб и файл сигнатур slave.db.signature размером 13 Мб. В данный пример (--rows-per-hash 16) сигнатура создается для 16 строк таблицы, если формировать сигнатуру для каждой строки, то итоговые файлы будут следующего размера: slave.db.delta - 3.4 Мб, slave.db.signature - 160 Мб.

     
    rus-* clip - CA-Clipper(tm)-совместимый компилятор (Версия: 1.2.0 от 2006-11-01) [+]
    [обсудить]
     Клиппер и xBase совместимый компилятор для linux, freebsd, solaris, в перспективе и под другие платформы.Реальный инструмент для переноса старых Xbase-программ в юникс подобные системы.
  • В сети можно найти еще две версии clipper компилятора под unix - Harbour и xHarbour (extended Harbour).
  •  
    ----* sqltorrent - вариант SQLite для распределённого хранения БД через торренты [+]
    [обсудить]
     VFS для СУБД SQLite, позволяющая разместить БД в форме torrent-а. Запросы выполняются не дожидаясь загрузки всей БД - с более высоким приоритетом загружаются блоки, содержащие необходимые данные.
     
    ----* CouchDB - document-oriented database [+]
    [обсудить]
     Распределенная, документ-ориентированная база данных, относящаяся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении в рамках определенного представления новых документов.

    CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами, что уже используется для синхронизации содержимого адресной книги ПК c мобильным телефоном через сервис Ubuntu One.

    Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются под лицензией Apache 2.

     
    ----* redis - persistent key-value database [+]
    [обсудить]
     Представлен проект Redis, который продолжает идеи таких проектов, как memcached и memcachedb, и является серверным хранилищем данных вида ключ/значение. Для обеспечения максимальной производительности Redis во время работы хранит все данные в оперативной памяти, периодически сохраняя снимки базы на диск. Архитектура приложения - однопроцессная, основанная на обработке событий, что позволяет избежать блокировок.

    По сравнению с memcached, Redis позволяет использовать в качестве значений не только строки, но и списки, множества. Механизмы транзакций отсутствуют, что компенсируется богатым набором атомарных команд: инкремент/декремент, стандартные операции над списками и множествами, переименование ключей, множественная выборка и т.д.

    Redis может оказаться хорошим выбором для высоконагруженных сервисов, так как адаптирован под максимальную производительность и поддерживает репликацию, а клиентские библиотеки доступны для большинства популярных языков: Perl, Python, Java, Ruby, Tcl и других. Заявленные значения производительности составляют 110000 операций записи или 81000 операций выборки в секунду на процессоре Xeon X3320 2.5 ГГц под управлением Linux 2.6. Еще одним преимуществом можно считать либеральную лицензию BSD.

     
    ----* Mycached - memcached protocol support for MySQL [+]
    [обсудить]
     В рамках проекта Mycached реализована поддержка протокола memcached для обращения к MySQL базам, т.е. дает возможность обратиться к существующей MySQL базе не через SQL запрос, а через протокол memcached. Проект выступает своего рода противоположностью memcached хранилища к MySQL, позволяющему обращаться к внешнему mymcached серверу через стандартные SQL команды.

    По задумке авторов Mycached, прямой запрос ключей из хранилища, позволит оптимизировать скорость выполнения запросов, благодаря пропуску шагов по парсингу SQL и планированию выполнения запроса. При предварительном тестировании, в простейших запросах, обращение по протоколу memcached оказалось в два раза быстрее, чем выполнение стандартных SQL запросов, обеспечив при этом значительное опережение в плане организации параллельных запросов к базе. Mycached позволяет комбинировать гибкость MySQL с высокой производительностью решений подобных MemcacheDB (модифицированная версия memcached с сохранением кэша на диск в Berkeley DB базе).

    В настоящий момент Mycached поддерживает только чтение данных (команда get) и прозрачное преобразование записи в JSON представление (добавление постфикса ":json" к запрашиваемому ключу). Возможен вывод нескольких столбцов за один запрос и вывод отдельных столбцов.

     
    ----* TOra - Toolkit For Oracle (Версия: 2.0 от 2008-11-11) [+]
    [обсудить]
     GUI-интерфейса для управления СУБД разработчиками и администраторами БД. TOra изначально был разработан для Oracle, но в последствии была добавлена поддержка MySQL и PostgreSQL.

    В состав пакета входит PL/SQL отладчик, интерфейс для выполнения SQL запросов с подсветкой синтаксиса и автодоплнением операторов, браузер структуры и содержимого БД, средства для просмотра статистики работы СУБД, модули визуализации и анализа результатов выполнения запроса, средства для мониторинга производительности, выявления узких мест и формирования предложений по тюнингу настроек СУБД. Код TOra распространяется в рамках лицензии GPL.

    В версии 2.0 произведена миграция на использование библиотеки QT4, реализована поддержка Oracle 11g и расширен набор инструментов для PostgreSQL.

     
    ----* SqlSync - compare and synchronize data stored in two SQL databases [+]
    [обсудить]
     Утилита для синхронизации и сравнения содержимого двух баз данных. Имеется поддержка синхронизации данных в базах, работающих по управлением разных СУБД. Имеется поддержка PostgreSQL 8.1.x, MySQL 5.0.x, FirebirdSQL 1.5.x, Microsoft SQL Server 2000, Microsoft SQL Server 2005, Oracle 10g.
     
    ----* pxview - read Paradox database files [+]
    [обсудить]
     Утилита для преобразования файлов данных БД Paradox в формат csv, sql, sqlite или html.
  • pxlib - библиотека для чтения и записи файлов данных для БД Paradox.
  •  
    ----* SQLiteDBMS - сервер баз данных для SQLite (Версия: 0.5.1 от 2006-11-16) [+]
    [обсудить]
     СУБД сервер на базе SQLite, для обработки клиентских запросов использующий встроенный HTTP сервер с поддержкой WebDAV и протоколом обмена данными на базе XML.

    Использование HTTP и XML позволяют напрямую организовать обращение к СУБД из динамических клиентских JavaScript приложений (Ajax), минуя необходимость создания промежуточных скриптов на сервере. Кроме того, в SQLiteDBMS интегрированы средства для управления содержимым базы данных через web-интерфейс.

    Для управления доступом используется аутентификация по паролям и простейшая система разграничения доступа, включая реализацию таких команд как CREATE/DROP DATABASE, CREATE/DROP/ALTER USER, GRANT/REVOKE. В планах реализация поддержки SSL, создание системы репликации и зеркалирования данных.

     
    ----* Glom - design the database and the user interface (Версия: 1.0.0 от 2006-03-30) [+]
    [обсудить]
     Визуальный инструмент для разработки структуры базы, расстановки связей и зависимостей, и создания пользовательского интерфейса для манипулирования данными. В качестве СУБД используется PostgreSQL. Скриншоты.
  • Из альтернатив Glom (системы подобные MS Access), можно отметить встроенные средства интеграции с БД в OpenOffice, Gnome-DB (скриншоты), knoda (скриншоты), Kexi (скриншоты), DBDesigner (скриншоты).
  •  
    ----* DBD::PgLite - PostgreSQL emulation mode for SQLite [+]
    [обсудить]
     Модуль эмулирующий работу DBD::Pg, автоматически преобразующий специфичные для PostgreSQL конструкции в вид пригодный для использования под SQLite3.
  • DBD::PgLite::MirrorPgToSQLite - модуль для одновременного ведения зеркальной таблицы в PostgreSQL и SQLite.
  •  
    ----* Metakit - efficient embedded database library [+]
    [обсудить]
     Похожая на SQLite библиотека для организации БД (не SQL, собственная схема запросов), c хранением базы в одном файле. Имеется поддержка транзакций, формат базы исключает возможность краха. Лицензия - MIT. Может использоваться в программах на C++, Python и Tcl.
     
    ----* OpenXMLD - (OpenDaemon) open-source native XML database server (Версия: 0.7.0 от 2005-11-25) [+]
    [обсудить]
     Обеспечивает SQL-обвязку для XML файла. Т.е. вместо таблицы указывается XML файл, над данными в котором производятся манипуляции через SQL запросы ( выборка,обновление, вставка).
     
    ----* SQLRelay - persistent database connection pooling, proxying and load balancing system [+]
    [обсудить]
     Прокси сервер, транслирующий запросы для большинства СУБД (от SQLite, MySQL и PostgreSQL до Oracle). Имеет средства:
  • балансировки нагрузки на несколько серверов БД (запросы на запись и изменения зеркалируются);
  • гибкие правила для ограничения числа запросов в ед. времени и одновременных (полезно для PostgreSQL);
  • Может выступать как сервер в сети для SQLite базы;
  • гибкие правила перенаправления на нужную БД (например, после обновления СУБД некоторых клиентов можно перенаправлять на старый сервер, а остальных на новый)
  • Эмуляция API библиотек MySQL и PostgreSQL, поддержка Perl DBD, Python DB, Ruby DBD, PHP Pear DB;
  •  
    ----* IBAdm for Linux - Программа администрирования Interbase/Firebird для Linux [+]
    [обсудить]
     Утилита работает в консольном режиме (ncurses) и реализует функции создания БД, редактирования всех типов метаданных, просмотра данных таблиц и представлений, включает в себя редактор SQL запросов (isql) и блок управления правами доступа.
     
    ----* ShellSQL - SQL for Shell Scripts (Версия: 0.7.1 от 2005-02-03) [+]
    [обсудить]
     Набор программ облегчающих использование SQL запросов в Shell скриптах. Поддерживаются интерфейсы к PostgreSQL, MySQL, SQLite3, Unix ODBC и FreeTDS.
     
    ----* QDBM - library of routines for managing a database [+]
    [обсудить]
     GDBM-подобная система хранения данных, ориентированная на наличие большого числа повторяющихся ключей в базе (для B+ tree хранилища. Кроме того есть метод "hash"). Производительность выше чем у NDBM, SDBM, GDBM и Berkeley DB, но ниже, чем у CDB (Constant Database). Интерфейс существует для большого числа популярных языков программирования (Си, Perl, Java, Ruby и т.д.).
     
    ----* xHarbour - Open Source Extended Clipper Language [+]
    [обсудить]
     Многоплатформенный компилятор и препроцессор на 100% совместимый с CA-Clipper. xHarbour (extended Harbour) - форк проекта Harbour. Некоторые бухгалтерские программы, написанные на Clipper, портированы под Linux благодаря xHarbour.
     
    ----* miniDB - isam/btree library/program (Версия: 2.4 от 2010-08-01) [+]
    [обсудить]
     Библиотека и набор утилит для манипулирования данными в isam/btree базе. Поддерживается выборка записей по ключу, индексы, автоинкремент. Возможна работа в режиме клиент/сервер.
     
    ----* Dbf2pos - converts database DBF files into SQL code [+]
    [обсудить]
     Преобразование DBF файлов в SQL вид.
     
    ----* MDB Tools - import data from MDB file format (Microsoft's Access database) [+]
    [есть мнение]
     Утилиты для преобразования формата файлов баз Microsoft's Access 97/2000/2002 в вид пригодный для экспорта в MySQL, Oracle, Sybase, PostgreSQL и т.д. Имеется графический интерфейс, позволяющий просматривать базы и формировать запросы в режиме только для чтения.
     
    ----* FreeTDS - доступ к Microsoft SQL Server и Sybase databases из Unix (Версия: 0.91 от 2011-08-19) [+]
    [есть мнение]
     Библиотеки с открытой реализацией протокола TDS (Tabular DataStream) для взаимодействия с Microsoft SQL Server или Sybase из С/С++, Perl или PHP программ работающих под Unix/Linux.
     
    ----* SQLite - Embeddable SQL Database Engine (Версия: 3.7.3 от 2010-10-20) [+]
    [есть мнение]
     Библиотека реализующая интерфейс для организации баз данных без использования сторонних RDBMS систем (например, MySQL, PostgreSQL и т.д.). Для организации БД и доступа к хранилищу достаточно установить библиотеку SQLite, которая поддерживает запросы к хранилищу в виде SQL запросов. Все таблицы и индексы для БД хранятся в одном файле, существуют средства контроля целостности данных (атомарные commit и rollback транзакции), небольшой размер библиотек и поразительная скорость обработки запросов.
  • Для пользователей Perl разработан модуль DBD::SQLite - предоставляющий доступ к SQLite через DBI драйвер.
  • Для запуска SQLite как сетевого сервера можно использовать SQLRelay;
  • FT3 (full text indexer and search engine) - система полнотекстового поиска для SQLite;
  • SQLiteDBMS - СУБД сервер на базе SQLite, работающий как серверный процесс и принимающий соединения по TCP/IP, используя XML-подобным протокол запросов.
  •  
    ----* Firebird - relational database offering many ANSI SQL-92 features (Версия: 1.5.1 final от 2004-07-18) [+]
    [есть мнение]
     Firebird - версия от независимых разработчиков системы InterBase, имеет великолепную производительность и надежность, распространяется в рамках лицензии InterBase Public License.
     
    ----* PHPGem [+]
    [обсудить]
     PHPGem это программа, которая позволяет ускорить процесс создания PHP-скрипта по работе с таблицей на SQL-сервере.
     
    ----* Cach - LINUX версия постреляционной СУБД [+]
    [обсудить]
     Cache SQL сервер - Высокопроизводительный доступ к базе данных, Cache Object Server - Объектный сервер приложений, Cache Web Link - Позволяет связывать Cache сервера Web-сервера. Web-технологиях.
     
    ----* dbengine - plug and play Web interface for mySQL, PostgreSQL and Oracle (Версия: 2.3.3 от 2008-05-18) [+]
    [обсудить]
     
    ----* BerkeleyDatabase (Berkeley DB) programmatic toolkit [+]
    [обсудить]
      Тулкит для работы с БД как в традиционной форма так ис использованием технологии клиент/север. Включает в себя поддержку B+tree,Extended Linear Hashing, Fixed и Variable-length методы доступа кзаписям, transactions, locking, logging, shared memory caching и databaserecovery. Поддерживаются языки C, C++, Java и Perl.
     
    ----* NOSQL- Unix RDBMS. [+]
    [обсудить]
      Свободно-распространяемый SQL сервер.
     
    ----* GSQL-SQL Server - free portable multiuser RDBMS. [+]
    [обсудить]
      Свободно-распространяемый SQL сервер.
     
    ----* repcached - adds data replication feature to memcached [+]
    [обсудить]
     Набор патчей для организации автоматической репликации данных между несколькими серверами memcached. Система поддерживает мульти-мастер режим и реплицирует данные в асинхроном режиме, поддерживаются все команды memcached (set, add, delete, incr/decr, flush_all, cas).
     
    ----* Sybase - Enterprise Class RDBMS for Linux [+]
    [обсудить]
     Бесплатный вариант флагманской СУБД Sybase для Linux. Отличия от коммерческой версии состоят в введении следующих ограничений: сервер с 1 CPU и 2Гб ОЗУ, размер базы не более 5Гб.
  • sybperl - Perl модуль для работы с СУБД Sybase;
  • Sqsh - удобная командная оболочка для Sybase (замена стандартного isql).
  •  

       MySQL

    !!!-* MySQL SQL Server. (Версия: 5.1.51 от 2010-10-08) [+]
    [есть мнение]
      Свободно-распространяемый SQL сервер. Отличается высокой скоростью обработки запросов.
     
    rus-* skdumper - Site Keeper Dumper [+]
    [обсудить]
     PHP скрипт для создания и закачки дампа MySQL базы большого объема, для резервного копирования и восстановления без использования сторонних программ. (с дампами больше 10Мб у phpMyAdmin проблемы).
     
    rus-* MySQLstat - система для мониторинга работы MySQL сервера [+]
    [обсудить]
     Набор программ для сбора и графического отображения статистики работы MySQL сервера. Для хранения и отображения статистики используется RRD-tool. Собираемая статистика: количество запросов, количество подключений, In/Out трафик, статистика запросов на запись/чтение ключей.
     
    rus-* mySQL_Explorer - Программные средства для управления базой данных mySQL. [+]
    [есть мнение]
     
    ----* MariaDB - backward compatible, drop-in replacement branch of MySQL [+]
    [обсудить]
     

    СУБД MariaDB является ответвлением от MySQL и развивается компанией Monty Program Ab, созданной Майклом Видениусом после его ухода из Sun Microsystems. Серия MariaDB 5.1.x по функциональности совместима с MySQL 5.1.x и основана на той же кодовой базе, что позволяет осуществить миграцию с MySQL на MariaDB без возникновения проблем с совместимостью.

    Из особенностей MariaDB, по сравнению с MySQL, можно отметить включение в состав следующих хранилищ:

    • Maria - основанное на MyISAM высоконадежное хранилище, отличающиеся повышенной устойчивостью и сохранению целостности данных после краха, при полной совместимости с MyISAM. Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).
    • В качестве замены InnoDB используется движок XtraDB, основанный на коде InnoDB-plugin и полностью совместимый с ним, но отличающийся заметно более высокой производительностью, благодаря интеграции патчей от компаний Google и Percona. В частности, в XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики.
    • В состав включено хранилище PBXT (PrimeBase XT), разработанное с нуля и поддерживающее мультиверсионный метод организации хранения данных MVCC (multi-version concurrency control), позволяющий избавиться от блокировок при выполнении операций чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат транзакций и восстановление после некорректного завершения работы сервера. Имеются средства для обеспечения ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных. Поддерживается возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД.
    • В качестве замены разработанного в Sun Microsystems и уже не поддерживаемого хранилища Federated задействован проект FederatedX. FederatedX позволяет организовать обращение к удаленным таблицам как к локальным. Имеется поддержка транзакций, одновременной установки нескольких соединений к удаленной СУБД, использования операций "LIMIT".

    Другие улучшения MariaDB:

    • Реализована возможность создания пула потоков, позволяющего использовать заданное число mysql-нитей для обработки всех запросов, вместо механизма "одна нить на одно соединение". В итоге можно значительно увеличить производительность БД, обрабатывающих большое число соединений или имеющих большое число длительно выполняющихся запросов;
    • Ликвидация таблиц - новый вид оптимизации операций по объединению таблиц (JOIN), позволяющий исключить обращения к некоторым таблицам, на которые ссылается запрос пользователя;
    • Добавлено множество патчей, созданных компанией Percona и сообществом независимых разработчиков. Например, добавлен патч для выявления узких мест при работе с базой. Кроме отслеживания запросов выполняющихся более заданного времени, поддерживается занесение в лог информации о запросах приводящих к перебору большого числа строк, сложным сортировкам, задействованию временного файла на диске или удовлетворяющих параметрам заданного фильтра (qc_miss, full_scan, full_join, tmp_table, tmp_table_on_disk, filesort, filesort_on_disk). В отличии от стандартного механизма ведения лога медленных запросов, msl оперирует не секундами, с округлением в большую сторону, а отрезками 0.005 сек.
     
    ----* InfiniDB - scale-up analytics database engine for your data warehousing [+]
    [обсудить]
     MySQL-хранилище, предназначенное для организации обработки и выполнения аналитических запросов над большими массивами данных (Data Warehouse). InfiniDB подходит для создания хранилища для средств бизнес-аналитики, организации систем генерации отчетов и использования в программах с интенсивным чтением данных из БД. Слабое место InfiniDB - производительность добавления данных. Исходные тексты разработки распространяются в рамках лицензии GPL v2.

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

    Другие особенности InfiniDB:

    • Многопоточная организация работы, позволяющая максимально использовать ресурсы многоядерных систем;
    • Поддержка выполнения множества одновременных запросов, лимит выполнения конкурирующих запросов ограничен только мощностью сервера;
    • В комплект входит специальный инструмент для отдачи больших объемов данных с высокой скоростью;
    • Поддержка всех DML операций (insert, update, delete);
    • Поддержка ACID-совместимых транзакций и система обнаружения взаимных блокировок (deadlock);
    • Предоставление средств для автоматического восстановления базы в случае сбоя системы (например, внезапного отключения питания);
    • Мультиверсионный (MVCC) дизайн позволяет избежать блокировки при чтении данных, всегда отдается текущий "снапшот" состояния, одновременно вносимые изменения будут отражены уже в другом снапшоте;
    • Отсутствует необходимость в создании индексов, так как индексация при вертикальном и горизонтальном партицировании производится автоматически;
    • Поддержка конструкция по изменению налету структуры таблиц (ALTER TABLE);
    • Прозрачное сжатие с выбором метода сжатия в зависимости от типа хранимых данных;
    • Набор средств для диагностики производительности, формирования подсказок по тюнингу, выполнения трассировки для выявления неоптимальных SQL запросов;
    • Реализация в виде обычного MySQL-хранилища, подразумевает возможность прозрачного использования во всех приложениях, поддерживающих MySQL.
     
    ----* Galera Replication - система синхронной репликации для MySQL и PostgreSQL [+]
    [обсудить]
     Система синхронной репликации для MySQL (в разработке также находится версия для PostgreSQL). В отличии от асинхронных систем Galera гарантирует, что изменение единовременно отражается на всех узлах кластера. Отрицательной стороной синхронной репликации является то, что производительность записи/изменения данных на всем кластере упирается в производительность самого медленного/нагруженного узла.

    Достоинства системы:

    • Высокая доступность, все узлы всегда содержат актуальные данные и в случае падения первичного узла его может мгновенно заменить вторичный;
    • Транзакции могут быть выполнены параллельно на всех узлах кластера;
    • Гарантирована неизменность состояния кластера в целом при выполнении транзакции, независимо от других выполняемых в данный момент транзакций;
    • Возможность масштабирования операций записи, данные могут быть записаны на N узлов, а затем автоматически распространены ими по оставшимся узлам кластера;
    • Возможность масштабирования операций чтения, данные можно читать с любого вторичного узла и они будут гарантированно актуальны.
     
    ----* Mycached - memcached protocol support for MySQL [+]
    [обсудить]
     В рамках проекта Mycached реализована поддержка протокола memcached для обращения к MySQL базам, т.е. дает возможность обратиться к существующей MySQL базе не через SQL запрос, а через протокол memcached. Проект выступает своего рода противоположностью memcached хранилища к MySQL, позволяющему обращаться к внешнему mymcached серверу через стандартные SQL команды.

    По задумке авторов Mycached, прямой запрос ключей из хранилища, позволит оптимизировать скорость выполнения запросов, благодаря пропуску шагов по парсингу SQL и планированию выполнения запроса. При предварительном тестировании, в простейших запросах, обращение по протоколу memcached оказалось в два раза быстрее, чем выполнение стандартных SQL запросов, обеспечив при этом значительное опережение в плане организации параллельных запросов к базе. Mycached позволяет комбинировать гибкость MySQL с высокой производительностью решений подобных MemcacheDB (модифицированная версия memcached с сохранением кэша на диск в Berkeley DB базе).

    В настоящий момент Mycached поддерживает только чтение данных (команда get) и прозрачное преобразование записи в JSON представление (добавление постфикса ":json" к запрашиваемому ключу). Возможен вывод нескольких столбцов за один запрос и вывод отдельных столбцов.

     
    ----* Maatkit (MySQL Toolkit) - essential command-line tools for MySQL (Версия: 7119 от 2010-12-23) [+]
    [обсудить]
     Набор полезных вспомогательных утилит для работы с MySQL сервером. Например, проверка контрольных сумм таблиц (напирмер, для определения какие данные на мастере и слейве отличаются), профилирование запросов, визуальное отображения статистики EXPLAIN, синхронизация таблиц, mk-parallel-dump/mk-parallel-restore, выявление дублирующихся ключей и т.п.
     
    ----* ExtSQL - Extended Usage Statistics for SQL [+]
    [обсудить]
     Проект основан на исходных текстах MySQL и распространяется в рамках лицензии GPL. Код ExtSQL разрабатывался для использования в системах web-хостинга и призван решить проблемы, связанные с организацией учета потребления ресурсов. ExtSQL предоставляет возможность загрузки модифицированных вариантов MySQL 4.1.x и MySQL 5.0.x, в которые добавлены новые команды и расширен диалект SQL.

    Администраторы ExtSQL получили возможность более полного мониторинга активности пользователей, баз и соединений. Например, запрос "SHOW STATISTICS select, insert FROM user HISTORY" позволит узнать число запросов "select" и "insert" совершенных пользователями за последний час. Организация Software Workshop входит в состав технического комитета INCITS H2, участвующего в развитии стандарта SQL, и пытается добиться расширения SQL в плане добавления возможностей для учета потребления ресурсов. Компания надеется, что Sun Microsystems включит разработанные дополнения в состав MySQL.

    Следует заметить, что для СУБД PostgreSQL ведется разработка аналогичной функциональности. Но основываясь на результатах голосования, в первую очередь был открыт свободный доступ к модифицированному варианту MySQL.

     
    ----* XtraDB - Percona XtraDB Storage Engine for MySQL [+]
    [обсудить]
     Новое хранилище для MySQL, созданное компанией Percona и основанное на коде InnoDB-plugin-1.0.2 и на 100% совместимое с ним. По сравнению с InnoDB в XtraDB улучшен механизм работы с памятью и расширены возможности по масштабированию для больших проектов. В отличии от InnoDB-plugin, код XtraDB распространяется только под лицензией GPL v2, без использования практики введения отдельной лицензии для коммерческих продуктов.

    Некоторые особенности:

    • INFORMATION_SCHEMA.XTRADB_ENHANCEMENTS с информацией о различиях XtraDB и InnoDB той же версии.
    • В вывод SHOW INNODB STATUS добавлена дополнительная информация о распределении памяти и блокировках.
    • Улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, управление пропускной способностью и упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing).
    • Исправления механизма RW-блокировок, направленные на улучшение работы на системах с более чем 8 CPU;
    • Улучшение работы buffer_pool. Добавление таблицы innodb_buffer_pool_pages с информацией о содержимом страниц в buffer_pool.

    Опубликованы результаты тестирования производительности XtraDB. В тесте NOTPM (New Order Transactions Per Minute) XtraDB оказался быстрее InnoDB в полтора раза.

     
    ----* Drizzle - Lightweight SQL Database for Cloud and Web (Версия: 7.2.3 от 2012-08-04) [+]
    [обсудить]
     В рамках проекта Drizzle создается упрощенный и более быстрый вариант MySQL, в котором убрана поддержка некоторых типов данных, хранимых процедур, триггеров, кэша запросов (query cache), представлений (view), операции GRANT и системы ACL, команды SHOW, предварительно подготовленных запросов (prepared statement) и других утяжеляющих работу MySQL возможностей. В качестве хранилища по умолчанию будет использован InnoDB.

    Курирует проект директор MySQL по архитектуре Брайан Эйкер (Brian Aker), но развитие проекта будет полностью делегировано комьюнити, по схеме подобной взаимодействию Fedora и RedHat. В качестве лицензии выбрана GPL v2. Архитектура Drizzle построена на основе идеи микро-ядра и подключаемых в виде модулей дополнительных возможностей.

     
    ----* PBXT - PrimeBase XT Storage Engine for MySQL [+]
    [обсудить]
     Разработанное с нуля хранилище данных для MySQL, поддерживающее следующие возможности:
    • Мультиверсионная организация хранения данных MVCC (multi-version concurrency control), позволяющая избавиться от блокировок при выполнении операций чтения;
    • ACID-совместимая поддержка транзакций, включая возможность обработки нескольких конкурирующих транзакций;
    • При изменении данных и выполнении операций "SELECT FOR UPDATE" блокировка производится на уровне конечных записей;
    • Поддержка быстрого отката транзакций и восстановления после некорректного завершения работы сервера;
    • Система обнаружений взаимных блокировок (Deadlock);
    • Использование хранилища в виде журнала, позволяет записывать данные напрямую в БД, без создания отдельного лога транзакций;
    • Обеспечение ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных;
    • Возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД.
     
    ----* OurDelta - Builds for MySQL [+]
    [обсудить]
     Сборка MySQL 5.0 и 5.1 для RHEL, CentOS, Debian, Ubuntu, в которую включены расширяющие функциональность патчи и проведена дополнительная работа по исправлению ошибок. Например добавлены патчи от компаний Percona и Google, включены дополнительные хранилища InnoDB plug-in (от Oracle), Sphinx, PBXT и FederatedX.
     
    ----* mydbf2mysql - утилита для импорта DBF баз в MySQL [+]
    [обсудить]
     Консольная кроссплатформенная утилита для импорта DBF баз в MySQL. Имеется стандартный набор функционала, такой как: выбор полей, таблиц и прочего. Также возможно указать число рабочих потоков (для регулирования производительности). В следующей версии будет добавлена возможность компиляции трех полей из Dbase в одно поле типа дата в MySQL, разрабатывается GUI интерфейс.
     
    ----* MySQLTuner - makes optimizing your MySQL server [+]
    [обсудить]
     Perl скрипт, анализирующий статистику работы MySQL сервера и на ее основе дающий рекомендации по оптимизации настойки СУБД.
     
    ----* GreenSQL - Open Source database firewall (Версия: 1.3.0 от 2010-10-20) [+]
    [обсудить]
     Позволяет защитить MySQL от атак, направленных на подстановку SQL запросов. В отличии от mod_security, реализующего подобную защиту на уровне проверки запросов к http-серверу, GreenSQL представляет собой прокси сервер, непосредственно анализирующий транзитные запросы, выявляющий аномалии и блокирующий опасные операции.

    Для каждого запроса GreenSQL вычисляет степень риска, при превышении определенного порога запрос блокируется. В качестве фактов повышающих коэффициент риска, может быть обращение к служебным таблицам, использование комментариев внутри запроса, операции сравнения констант ("1=1"), наличие выражений заведомо возвращающих TRUE, обнуление полей с паролем, появление "OR" внутри запроса и т.д.

    Программа позволяет определить список допустимых и запрещенных (например, блокировать запросы с упоминанием id администратора) масок для таких операций, как DELETE, UPDATE и INSERT, а также блокировать выполнение административных операций, подобных DROP и CREATE. Управление программой и просмотр статистики работы производится через web-интерфейс.

     
    ----* MyProfi - MySQL log profiler and analyzer [+]
    [обсудить]
     Утилита для анализа лога MySQL и выдачи статистики по наиболее частым запросам.
     
    ----* innodb-tools - Data Recovery Toolkit for InnoDB [+]
    [обсудить]
     Инструментарий для восстановления данных из поврежденных в результате аппаратного сбоя InnoDB таблиц.
     
    ----* DBSlayer - lightweight database abstraction layer [+]
    [обсудить]
     Балансировщик обращений к slave серверам MySQL, для использования на высоконагруженных сайтах. Запросы и ответы передаются в JSON-формате. При определении факта недоступности сервера, запрос посылается к другому. Используется для обеспечения работы сайта газеты New York Times.
     
    ----* phpMyAdmin - Effective MySQL Management (Версия: 4.2.3 от 2014-06-10) [+]
    [обсудить]
     Web-интерфейс для управления СУБД MySQL. Позволяет манипулировать базами, таблицами, привилегиями, индексами и полями, производить выборку и резервное копирование данных.

    Другие web-интерфейсы для MySQL:

  • NG-Admin - интерфейс специализирующийся на изменении содержимого базы.
  • PHP Mini SQL Admin - упрощенный интерфейс в виде одного небольшого скрипта;
  • FlashMyAdmin - интерфейс на Flash;
  • jspMyAdmin - клон phpMyAdmin на Java;
  • KooDB - упрощенный интерфейс;
  • MySQL Administrator - стандартный многоплатформенный GUI интерфейс от разработчиков MySQL.
  •  
    ----* MySQL_Proxy - monitor, analyze or transform MySQL communication [+]
    [обсудить]
     Прокси работающий в качестве промежуточного звена между клиентом и сервером MySQL. Поддерживается балансировка нагрузки, переключения на резервный сервер в случае сбоя, средства для анализа запросов, возможность фильтрации и модификации проходящих запросов.
     
    ----* ZRM - Zmanda Recovery Manager [+]
    [обсудить]
     Открытое решение enterprise-класса для резервного копирования MySQL баз. ZRM обладает такими возможностями как использование для бэкапа методов mysqldump, LVM snapshot, mysqlhotcopy или MySQL replication. Система написана на языке Perl и снабжена удобным пользовательским интерфейсом.
     
    ----* mysql_quota - MySQL Quota-Tool [+]
    [обсудить]
     Небольшой скрипт периодически сканирующий размер баз пользователей и при обнаружении факта превышении отведенной квоты на размер, запрещающий для пользователя добавление данных и создание таблиц.
     
    ----* Sphinx - Free open-source SQL full-text search engine [+]
    [обсудить]
     В рамках проекта Sphinx реализована поддержка полнотекстового поиска для любых типов хранилищ MySQL, включая InnoDB. В последних версиях дополнительно поддерживается СУБД PostgreSQL. Кроме, того приложение привносит ряд дополнительных новшеств, например, создание распределенных поисковых запросов.

    Так как автор проекта (Andrew Aksyonoff) проживает в России, то в Sphinx имеется отличная поддержка русского языка, включая возможность подключения русскоязычного стеммера.

    Что касается поискового механизма Sphinx (выше речь шла о патче для MySQL входящем в комплект Sphinx), то кроме MySQL имеется поддержка PostgreSQL. При измерении производительности Sphinx выполнил запрос в 15 раз быстрее чем Mnogosearch, в среднем потратив 0.1 сек при индексации 2-4 Гб текста. Разработчики заявляют, что Sphinx неплохо себя чувствует при объемах индексируемых данных до100 Гб или 100 миллионов документов.

    Основные особенности Sphinx:

    • Высокая скорость индексации (до 10 Мб/сек);
    • Высокая скорость поисковой выборки (0.1 сек. для запроса в базе с 2-4 Гб проиндексированного текста);
    • Высокая масштабируемость (один CPU может использоваться для обслуживания 100 Гб текста и 100 млн. документов);
    • Возможность организации распределенного на несколько узлов поискового механизма;
    • Нативная поддержка MySQL, поддерживаются как стандартные движки MyISAM и InnoDB, так и собственное хранилище SphinxSE
    • Поддержка поиска по заданным фразам;
    • Возможность вероятностного поиска с использованием ранжирования с элементами нечеткой логики;
    • Поддержка стеммеров для русского и английского языков;
    • Поддержка индексации любого числа полей в документах, вес для которых может изменяться на лету;
    • Поддержка групп документов;
    • Возможность определения запрещенных слов
    • Поддержка различных моделей поиска (совпадение всех ключей, совпадение фразы целиком, совпадение отдельных слов);
    • XML интерфейс для интеграции со сторонними проектами;
    • Доступно API для PHP, Python, Java, Perl и Ruby.
     
    ----* AutoMySQLBackup - Automatic MySQL Backup [+]
    [обсудить]
     Скрипт для автоматизации резервного копирования локального иди удаленного MySQL сервер. Поддерживает выборочный бэкап отдельных баз.
     
    ----* mysql-checker [+]
    [обсудить]
     mysql-checker регулярно проверяет состояние mysql и при необходимости в случае чрезмерной загрузки или сбоя перезапускает его (в т.ч. удаленно). Программа написана на Perl.
     
    ----* super-smack - benchmarking, stress testing, and load generation tool for MySQL (доп. ссылка 1) [+]
    [обсудить]
     Программа для генерации искусственной нагрузки на MySQL сервер для измерения пиковой производительности. Программа похожа на утилиту ab, применяемую для тестов Apache.

    Другие утилиты для измерения производительности MySQL:

     
    ----* mytop - a top clone for MySQL (Версия: 1.6 от 2007-02-22) [+]
    [обсудить]
     Консольная утилита для real-time мониторинга состояния mysql процессов, отображает чем в данный момент занят каждый тред MySQL и на что тратится наибольшее число ресурсов.
  • Аналог: mtop/mkill - MySQL Monitoring Tools.
  • ptop - top для PostgreSQL.
  •  
    ----* PgAccess - Интерфейс к PostgreSQL на Tcl/Tk. (Версия: 0.99.0.20040219 от 2004-02-23) [+]
    ----* PhpPgweb - многоязыковой интерфейс для управления PostgreSQL, поддерживает large object. [+]
    ----* phpPgAdmin - администрирование PostgreSQL сервера через web-интерфейс на PHP (Версия: 5.0.3 от 2011-10-04) [+]
    ----* phpMyAdmin - наиболее популярная русифицированная система управления MySQL на PHP. (Версия: 4.2.3 от 2014-06-11) [+]
    [обсудить]
     Фронтэнды для управления данными на MySQL сервере через WEB интерфейс.
     
    ----* MysqlTool - web interface for managing mysql server (доп. ссылка 1) [+]
    [обсудить]
     WEB-интерфейс на Perl для управления таблицами, базами и привилегиями на одном или нескольких MySQL'серверах.
     
    ----* mysql2pgsql - translation from MySQL dump files to the format required to load a Postgres database (доп. ссылка 1) (доп. ссылка 2) [+]
    [есть мнение]
     Программы для преобразования дампа таблиц из MySQL в формат воспринимаемый PostgreSQL.
     
    ----* my2pg - utility to convert MySQL 3.22 dumps into Postgres dumps (Версия: 1.30 от 2004-05-18) [+]
    [обсудить]
     Преобразователь базы MySQL в формат PostgreSQL.
     
    ----* mp2p - MySQL PHP 2 Postgres [+]
    [обсудить]
     Программа для адаптации PHP программ написанных для работы с MySQL в программы работающие с PostgreSQL.
     

       Oracle

    ----* TOra - Toolkit For Oracle (Версия: 2.0 от 2008-11-11) [+]
    [обсудить]
     GUI-интерфейса для управления СУБД разработчиками и администраторами БД. TOra изначально был разработан для Oracle, но в последствии была добавлена поддержка MySQL и PostgreSQL.

    В состав пакета входит PL/SQL отладчик, интерфейс для выполнения SQL запросов с подсветкой синтаксиса и автодоплнением операторов, браузер структуры и содержимого БД, средства для просмотра статистики работы СУБД, модули визуализации и анализа результатов выполнения запроса, средства для мониторинга производительности, выявления узких мест и формирования предложений по тюнингу настроек СУБД. Код TOra распространяется в рамках лицензии GPL.

    В версии 2.0 произведена миграция на использование библиотеки QT4, реализована поддержка Oracle 11g и расширен набор инструментов для PostgreSQL.

     
    ----* GsqlR2 - GTK+ 2 interface to Oracle [+]
    [обсудить]
     Открытый графический интерфейс для манипулирования схемой данных и статистикой в СУБД Oracle, интерактивного построения и отладки различных конструкций.
     
    ----* Oracle Open Source Directory - каталог открытых программ для Oracle [+]
    [обсудить]
     Каталог содержит ссылки на Open Source программы используемые совместно с СУБД Oracle. Присутствуют следующие разделы: утилиты для работы в режиме командной строки, Web и GUI клиенты, библиотеки, ПО для работы на сервере.
     
    ----* ORACLE on Linux [+]
    [обсудить]
     Набор X11 (gtk) программ для взаимодействия с ORACLE SQL сервером. Tablebrowser - просмотр и изменение таблиц, SQLWork - визуальное средство для составления запросов, Procedit - програма для написания функций, Session Monitor - контроль и мониторинг работы с сервером.
     
    ----* Orac - Oracle 7.3 and Oracle 8 DBA GUI tool for Perl/Tk [+]
    [обсудить]
     
    ----* Oracletool - a web based data dictionary browser for Oracle DBA's (Версия: 3.0.1 от 2014-06-05) [+]
    [обсудить]
     Бесплатная, web-based программа просмотра состояния баз в Oracle7 или Oracle8 (аналог Oracle Enterprise Manager). Все действия выполняются только в режиме чтения.
     
    ----* Oracle for Linux applications to the GTK widget set [+]
    [обсудить]
     Набор приложений для работы с СУБД Oracle.
     

       PostgreSQL

    !!!-* pgpool - connection pool server for PostgreSQL [+]
    [обсудить]
     Серверное приложение работающее в роли прозрачного (используется стандартное PostgreSQL API) промежуточного звена между клиентом и PostgreSQL. Позволяет держать пулл открытых соединений, увеличивающих скорость реконнекта к базе и обеспечивающий возможность кеширования соединений. Имеются функции балансировки нагрузки, лимитирования числа соединений и переключения на резервный сервер в случае сбоя первичного.

    При помощи pgpool также можно организовать систему синхронной репликации данных, синхронизируя выполнение INSERT/UPDATE запросов на нескольких PostgreSQL серверах, но в случае падения одного из серверов, после восстановления его работы данные придется синхронизировать вручную. На базе pgpool можно организовать деление ресурсоемкого запроса на несколько более легких запросов, которые будут адресованы разным узлам, результат выполнения которых будет агрегирован и отдан клиенту, как в случае выполнение сложного запроса на одном сервере.

     
    !!!-* PostgreSQL SQL RDBMS (Версия: 9.1.0 от 2011-09-14) [+]
    [есть мнение]
     Свободно-распространяемый SQL сервер под Unix. Отличается надежностью и наибольшей совместимостью со стандартом SQL92.
  • ptop - утилита для мониторинга PostgreSQL в стиле программы top.
  •  
    rus-* GiST для PostgreSQL [+]
    [есть мнение]
     Страница разработчиков GiST (Generalized Search Tree) для PostgreSQL. Используя GiST можно разрабатывать свои типы данных и методы доступа к ним без знания о внутренностях PostgreSQL. Модули для PostgreSQL, написанные с помощью GiST:
  • tsearch2 - полнотекстовый поиск;
  • ltree - работа с иерархическими данными.
  •  
    ----* apgdiff - утилита для быстрого обновления схемы данных в PostgreSQL [+]
    [обсудить]
     Платформонезависимая утилита для вычисления различий в структуре нескольких БД PostgreSQL и формирования diff-файла, который может быть использован для обновления схемы данных. В качестве источника выступают sql-дампы баз, т.е. утилита не требует подключения к СУБД, а работает с резервной копией данных. Утилиту удобно использовать для быстрого переноса отлаженных в тестовой базе изменений схемы в рабочую базу. Дополнительно присутствует функция смены кодировки текста.

    Полученный diff-дамп пригоден для прямой загрузки в PostreSQL через интерфейс psql. Поддерживаются следующие выражения: ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE SCHEMA, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE VIEW, SET search_path и т.п.

     
    ----* pgreplay - PostgreSQL log file replayer [+]
    [обсудить]
     Утилита для PostgreSQL, позволяющая повторно выполнить запросы к СУБД на основе данных в логе операций (в stderr или csvlog типах лога, не WAL-файлах). Программа обрабатывает лог и формирует поток запросов, который можно сохранить в файл для последующего применения на другом сервере с указанной интенсивностью запросов или с полным сохранением порядка/времени их следования. С практической стороны pgreplay можно применять для проведения нагрузочного тестирования новых серверов, направляя на них поток реальных запросов, наблюдаемых на рабочем сервере.
     
    ----* Alerce - synchronous replication interface for Python [+]
    [обсудить]
     Разрабатываемый в рамках проекта pyreplica dbapi совместимого Python интерфейс для организации выполнения синхронной репликации данных. Используя Alerce, разработчики на языке Python могут реализовать прозрачную для приложений репликацию выполняемых запросов на несколько серверов БД. Для задействования системы достаточно заменить стандартный dbapi модуль Python на модуль Alerce. При этом представленная система не просто дублирует запросы на несколько серверов, но и должным образом обрабатывает ситуации выхода из строя одного из них, поддерживает двухфазные коммиты, позволяет организовать балансировку нагрузки путем распределения запросов по slave-серверам.
     
    ----* pg_rman - online backup and restore tool for PostgreSQL. [+]
    [обсудить]
     Менеджер для автоматизации выполнения типовых действий при организации работы online-бэкапов. Цель проекта сделать создание и восстановление online-бэкапов не сложнее, чем использование утилиты pg_dump. Резервное копирование организовано на основе сохранения журнала транзакций (Write-Ahead Logs), что обеспечивает сохранение в случае сбоя всех завершенных в СУБД транзакций, не влияя при этом на производительность СУБД. Утилита поддерживает инкрементальный режим резервного копирования, проверку целостности по контрольным суммам, автоматическое удаление неиспользуемых областей в WAL файлах с оставлением только актуальных данных.
     
    ----* pgtune - postgresql.conf tuning wizard [+]
    [обсудить]
     Утилита для оптимизации настроек PostgreSQL (postgresql.conf) в расчете на обеспечение максимальной производительности для заданной аппаратной конфигурации.
     
    ----* check_postgres.pl - Postgres monitoring script [+]
    [обсудить]
     Скрипт для мониторинга более 20 параметров, определяющих состояние СУБД PostgreSQL - от размера таблиц, БД и индексов, до подсчета числа WAL логов в pg_xlog (рост чиста файлов может свидетельствовать о незавершенных длительных транзакциях или сбое при ведении online-бэкапа) и учета длительности выполнения запросов. Скрипт поддерживает вывод статистики в форматах пригодных для интеграции с Nagios и MRTG.
     
    ----* Bucardo - asynchronous PostgreSQL replication system [+]
    [есть мнение]
     Система асинхронной репликации для PostgreSQL поддерживающая multi-master и multi-slave режимы. Система написана на языке Perl и представлена в виде управляющего демона и триггеров на Pl/Pgsql и Pl/PerlU. Система очень гибкая, поддерживает несколько видов синхронизации и обработки конфликтов.
     
    ----* PgBouncer -Lightweight connection pooler for PostgreSQL. [+]
    [обсудить]
     Легкий менеджер соединений для PostgreSQL, может работать в связке с PL/Proxy (язык для создания прокси-функций для удалённого вызова хранимых процедур). Подходит для балансировки нагрузки. Выпущен компанией Skype, оличается высокой стабильностью работы.
     
    ----* DBD::PgLite - PostgreSQL emulation mode for SQLite [+]
    [обсудить]
     Модуль эмулирующий работу DBD::Pg, автоматически преобразующий специфичные для PostgreSQL конструкции в вид пригодный для использования под SQLite3.
  • DBD::PgLite::MirrorPgToSQLite - модуль для одновременного ведения зеркальной таблицы в PostgreSQL и SQLite.
  •  
    ----* pgFouine - PostgreSQL log analyzer (Версия: 1.2 от 2010-02-26) [+]
    [обсудить]
     Анализатор логов PostgreSQL, позволяющий выявить нуждающиеся в оптимизации запросы (как по числу вызовов, так и по времени исполнения), просмотреть отчет с ошибками,
     
    ----* mysqlcompat - reimplemenation of as many MySQL functions in PostgreSQL [+]
    [обсудить]
     Набор функций на SQL и PL/PgSQL для упрощения переноса MySQL приложений под PostgreSQL. В комплект входят недостающие в PostgreSQL функции (например, работы со времени и строками), операторы и правила преобразований типов.
     
    ----* PL/php - PHP procedural language for PostgreSQL. [+]
    [обсудить]
     Подсистема для PostgreSQL, позволяющая писать хранимые процедуры на PHP.
     
    ----* mod_libpq - Apache module which maintains persistent connections to PostgreSQL [+]
    [обсудить]
     Модуль для Apache 1.3, позволяющий сохранить в PostgreSQL образы документов, и выдавать их содержимое посетителям напрямую (вынеся в PostgreSQL логику генерации документа и HTTP заголовков), без использования внешних скриптов.
     
    ----* RepDB - multi-master replication solution for PostgreSQL [+]
    [обсудить]
     Открытая (GPL) система репликаций на Java, с возможностью создания "multi-master" системы репликации на базе PostgreSQL.
     
    ----* pgAdmin III - powerful administration and development platform for the PostgreSQL (Версия: 1.10.0 от 2009-09-12) [+]
    [обсудить]
     GUI центр управления СУБД PostgreSQL. Из интересных функций можно отметить русифицированный интерфейс, "query builder", редактор SQL запросов и хранимых процедур. Работает под MS Windows, GNU/Linux и FreeBSD.
     
    ----* GBorg - solutions based on the PostgreSQL database [+]
    [обсудить]
     Комьюнити для программ имеющих отношение к PostgreSQL.
     
    ----* pgperl - native Perl interface to PostgreSQL [+]
    [обсудить]
     Perl модуль Pg, до версии PostgreSQL 7.3 поставлявшийся в комплекте как src/interfaces/perl5.
     
    ----* PGDesigner - data modelling tool for PostgreSQL. [+]
    [есть мнение]
     Простая графическая утилита для визуального моделирования структуры БД для PostgreSQL. Рисуем структуру - на выходе получаем SQL код.
     
    ----* Репликация данных в PostgreSQL (Версия: 9.1.0 от 2011-09-15) [+]
    [обсудить]
     В документе описаны какие существуют методы репликации, и какие из них реализованы для PostgreSQL (синхронизация между несколькими серверами). Для MySQL см. здесь.
  • Slony1 - очень быстрая система асинхронной репликации с maser на slave. Присутствуют возможности каскадирования (от master к slave (уровень 1), далее от slave к другим slave серверам (уровень 2)), перехода master-функций к одному из slave серверов, при крахе master. Стати по установке и использованию можно найти здесь.
  • slony1-ctl - набор скриптов для упрощения выполнения рутинных операций по администрированию системы репликации PostgreSQL серверов на базе Slony1. Slony1-ctl позволяет инициализировать процесс репликации, добавлять/удалять узлы и группы узлов, настраивать кросс-репликацию, добавлять объекты, переключать управления на вторичный сервер в случае сбоя, выполнять DDL скрипты.
  • PgCluster - система синхронной (пока запрос не принят всеми мастер-серверами транзакция не закрывается) мульти-мастер репликации. Из особенностей системы можно отметить возможность добавления и удаления узлов PostgreSQL кластера на лету, без остановки работы, прозрачность работы для пользовательских приложений (не требуется модификация).
  • PGReplication (Postgres-R) Project, The Horus Project, Emsemble ;
  • DRAGON;
  • DBBalancer;
  • PostgreSQL Replicator;
  • eRServer;
  • DBMirror (./contrib/dbmirror);
  • Usogres;
  • Rserv (./contrib/rserv).
  • Rservimp
  •  
    ----* getpg - provide for authentication against "virtual" user accounts stored in a PostgreSQL database [+]
    [обсудить]
     Система для создания виртуальных хостов путем организации авторизации пользователей через базу хранимую в PostgreSQL. В настоящее время написаны блоки авторизации через PostgreSQL для UW-IMAP, qmail, существуют PAM и NSS модули.
     
    ----* authpgsql (nss_postgresql и pam_postgresql) - authorization modules for the NSS and PAM systems. (доп. ссылка 1) [+]
    [обсудить]
     PAM модули для авторизации в PostgreSQL.
  • См. также модуль pam-pgsql.
  •  
    ----* PgSqlClient - ADO.NET Data provider for PostgreSQL 7.4+ (Версия: 1.0 beta 6 от 2004-03-10) [+]
    [обсудить]
     Инструментарий на C# для доступа через MS .NET Framework к PostgreSQL.
  • См. также Npgsql - .Net Data Provider для PostgreSQL.
  •  

       Библиотеки функций
    XML
    Взаимодействие между процессами
    Графические и оконные тулкиты
    Контроль состояния сокетов и событий

    rus-* libferris - makes hierarchical storage systems easier to use (Версия: 1.5.17 от 2013-07-23) [+]
    [обсудить]
     Библиотека для доступа как к файловой системе к различным иерархическим данным. Поддерживаются языки С/С++, Perl, Python. Доступно дополнение использующее подсистему Linux ядра FUSE для монтирования различных структур в виде ФС. Например, можно примонтировать как часть ФС - LDAP каталог, содержимое mailbox, базу PostgreSQL, MySQL или BerkeleyDB, различные XML-файлы, tar, rpm и т.д.
     
    rus-* libstrfunc - powerful string library [+]
    [обсудить]
     Универсальная библиотека функций (на Си) для обработки строк, массивов строк, разбора параметров передаваемых из формы в CGI скрипт, разбора файлов конфигурации, преобразования дат заданных в строковом виде, парсинга sed-like регулярных выражений, кодирование/декодирование url_encoded, Quoted-printable, Base64, русскоязычных кодировок.
     
    rus-* olibs - Набор универсальных библиотек для C++ [+]
    [есть мнение]
     Включает работу с сокетами, функции работы со строками (включая перекодировку), парсинг опций в командной строке и конфигурационных файлах, работу со thread-ами, работу с SQL на абстрактном уровне и т.д.
     
    ----* liblinux - библиотека для доступа к системным вызовам Linux [+]
    [обсудить]
     Си-библиотека, предоставляющая независимый от архитектуры доступ к системным вызовам Linux. В качестве причины разработки называется большие задержки перед появление поддержки новых системных вызовов в glibc, например, на добавление поддержки системного вызова getrandom ушло два года.
     
    ----* Presidio - платформа для выявления утечек конфиденциальной информации (доп. ссылка 1) [+]
    [обсудить]
     Развиваемая компанией Microsoft свободная NER-система (Named Entity Recognition), развиваемая для предотвращения утечек информации (Data Leak Prevention). Позволяет выявлять или удалять в документах, тексте и изображениях информацию, содержащую персональные и конфиденциальные данные, такие как ФИО, номера телефонов, email, номера кредитных карт, криптокошельки, адреса, номера паспортов, финансовые данные и т.п. Поддерживается обработка различных хранилищ (от Amazon S3 до PostgreSQL) и форматов. Код написан на языке Go (есть вариант на Python) и распространяется под лицензией MIT.
     
    ----* Rasa - движок для создания ботов и диалоговых систем [+]
    [обсудить]
     Платформа для обработки данных на естественном языке и построения автоматизированных диалоговых систем, например, чат-ботов и интеллектуальных контекстных помощников, отвечающих на простые вопросы. Тренировка бота производится при помощи методов машинного обучения, без жёсткого определения поведения через условные операторы.
     
    ----* ODFDOM - free OpenDocument Format (ODF) Java library [+]
    [обсудить]
     Java-библиотека ODFDOM, предоставляющая набор средств для создания и модификации документов и электронных таблиц в формате OpenDocument (ODF). Библиотека распространяется в рамках лицензии Apache и поддерживает последний четвертый черновой вариант стандарта OpenDocument.

    Библиотеки для работы с форматом ODF из программ на других языках:

  • Perl-модули OpenOffice::OODoc и OpenOffice::OOBuilder,
  • Python-модули OdfPy и OooPy,
  • PHP-библиотека OpenDocumentPHP.
  •  
    ----* libguestfs - accessing and modifying guest disk images (Версия: 1.24 от 2013-10-22) [+]
    [обсудить]
     Библиотека libguestfs написана сотрудником компании Red Hat и предназначена для чтения и изменения данных в файловых системах виртуальных машин. Поддерживает ext3/4, btrfs, fat, ntfs, LVM. На гостевых системах работает с qcow, qcow2, vmdk. Имеется API для OCaml, Perl, Python, Ruby, Java и Haskell. Линкуется с программами на C и С++.
     
    ----* libssh - working SSH implementation by the mean of a library (Версия: 0.5.2 от 2011-09-18) [+]
    [обсудить]
     Библиотека, предназначенная для интеграции поддержки SSH в программы на языке Си. Позволяет выполнять программы на удаленном сервере, копировать файлы через защищенное соединение, при этом поддерживается как стандартный scp механизм, так и поддержка sftp, которая реализована без задействования внешних библиотек, таких как libcrypto (из OpenSSL) или libgcrypt. libssh реализует серверные и клиентские функции, поддерживает протоколы SSH1 и SSH2, режимы шифрования AES-128, AES-192, AES-256, Blowfish, 3DES в CBC, возможность работы с серверами публичных ключей RSA и DSS, поддерживает сжатие данных, работу совместно с ssh-agent и организацию работы нескольких сеансов в рамках одного соединения.

    Исходные тексты библиотеки насчитывают более 17 тыс. строк кода и распространяются под лицензией LGPL. Отсутствие зависимостей от внешних приложений и библиотек, позволяет использовать libssh для встраиваемых устройств. Из программ, использующих libssh можно отметить утилиту для двухсторонней синхронизации файлов csync.

     
    ----* libmicrohttpd - small C library for embedding HTTP server functionality (Версия: 0.2.3 от 2008-03-26) [+]
    [обсудить]
     Небольшая библиотека на Си, с реализацией функциональности простого HTTP/1.1 сервера (для встраивания в приложения).
    Альтернативы:
  • libhttpd;
  • Libwww
  •  
    ----* GNUnet - framework for secure peer-to-peer networking (Версия: 0.10.1 от 2014-04-10) [+]
    [обсудить]
     Фреймворк для создания приложений, взаимодействующих по принципу децентрализованных P2P сетей. Для обмена данными используется собственный peer-to-peer протокол, подразумевающий защищенную передачу данных и полное соблюдение анонимности. Имеется основанная на GTK графическая оболочка
     
    ----* Libvirt - C toolkit to interact with the virtualization capabilities (Версия: 0.4.0 от 2007-12-19) [+]
    [обсудить]
     Библиотека реализующая абстрактное API для управления виртуальными окружениями Xen, QEmu, KVM и OpenVZ. На базе данного API может быть создан единый инструмент для работы с различными VPS. Имеется интерфейсный модуль для Python.
     
    ----* Hoard - scalable memory allocator [+]
    [обсудить]
     Замена malloc для многонитевых приложений, позволяющая значительно увеличить производительность приложения на многопроцессорных системах.
     
    ----* XFLib - библиотека для работы с форматом обмена данных XF [+]
    [обсудить]
     Библиотека для работы с универсальным, легким и переносимым текстовым форматом обмена данных XF. XF просто воспринимается человеком и обрабатывается программами, и в некоторых случаях удобнее XML.
     
    ----* libstatgrab - library that provides cross platform access to statistics (Версия: 0.90 от 2013-08-11) [+]
    [обсудить]
     Библиотека предоставляющая кроссплатформенные функции для доступа к системной статистике (загрузка CPU, дисков, утилизация памяти, объем трафика и т.д. ). В комплект входит полезная утилита saidar, отображающая в top-подобном виде основные параметры работы системы.
     
    ----* libini - INI file parser [+]
    [обсудить]
     Библиотека для разбора файлов конфигурации различного формата. Имеется поддержка языков C, C++, Java, TCL, Perl, Python и т.д.
     
    ----* Enca - Extremely Naive Charset Analyser (Версия: 1.13 от 2010-02-10) [+]
    [есть мнение]
     Утилита и набор библиотек по определению кодировки по небольшому отрывку текста. Также поддерживаются всевозможные варианты перекодирования из одной кодировки в другую.
     
    ----* axTLS - highly configurable client/server TLSv1 SSL library (Версия: 1.1.8 от 2007-12-06) [+]
    [обсудить]
     Представляет собой альтернативную SSL библиотеку распространяемую под лицензией LGPL и ориентированную для использования во встраиваемой технике (код меньше 100 Кб). Библиотека предоставляет около 20 функций для обеспечения работы TLSv1, AES128, AES256, RC4 в режиме клиента или сервера.
     
    ----* gpgpu.org - General-Purpose Computation Using Graphics Hardware [+]
    [обсудить]
     Специализированный сайт по нестандартному использованию GPU. Оценивается целесообразность и некоторые способы использования GPU графических плат для системных вычислений, не связанных с графикой, например, сортировки данных.

    Некоторые проекты:

  • BrookGPU - язык (расширенный Си) и компилятор для математических вычислений используя GPU;
  • Sh - мета-язык интегрируемый в C++ приложения, позволяющий выполнять ряд вычислительных операций на GPU;
  • NVIDIA Cg Toolkit - библиотека от Nvidia для взаимодействия с GPU;
  • GPUSort - использование GPU для сортировки данных;
  • "VRAM Storage Device" - Linux драйвер для создания логического диска, с данными хранимыми в видеопамяти (также см. данное обсуждение в LKML);
  •  
    ----* Protothreads - lightweight, stackless threads in C (Версия: 1.3 от 2006-06-05) [+]
    [обсудить]
     Реализация легких, независимых от операционной системы, тредов, работающих без выделения отдельного стека на каждую нить, вместо этого используется очень эффективный с точки зрения расхода памяти общий стек. Функция прерывает выполнение в заранее определенных точках, при этом запоминая свое состояние, а затем выполнение инициируется заново с точки на которой был осуществлен останов.
     
    ----* google-perftools - fastest malloc library [+]
    [обсудить]
     Очень быстрая библиотека для распределения памяти (malloc) и утилиты для профилирования расхода памяти и загрузки CPU от Google.
     
    ----* google-sparsehash - extremely memory-efficient hash_map implementation [+]
    [обсудить]
     Библиотека реализующая поддержку хешей от Google. Отличается высоким быстродействием и очень низким расходом памяти.
     
    ----* TRE - approximate regex engine (Версия: 0.8.0 от 2009-11-29) [+]
    [обсудить]
     POSIX совместимая библиотека для работы с регулярными выражениями, с функциями нечеткого совпадения. Т.е. совпадение может трактоваться по приблизительным, а не жестким критериям. Присутствуют функции поиска по шаблонам бинарных данных.
     
    ----* libstatgrab - cross platform access to system statistics (Версия: 0.90 от 2013-08-10) [+]
    [обсудить]
     Библиотека на Си (в комплекте интерфейсы для Perl, Python и PHP) и набор интрефейсных программ (ncurses визуализатор наподобие top и утилита для опроса параметров из командной строки) для получения данных о текущей системной статистике (загрузка CPU, расход памяти, заполненность дисковых разделов, информация о процессах, состояние сетевого стека, список текущих соединений и т.д.). Работает под Solaris, Linux, Cygwin и *BSD системах.
  • ssclient - демон, периодически сохраняющий слепок статистики в MySQL.
  •  
    ----* GSASL - implementation of the Simple Authentication and Security Layer framework (Версия: 0.2.1 от 2004-11-20) [+]
    [обсудить]
     GNU реализация SASL метода шифрования/аутентификации, широко используемая совместно с SMTP, POP3 и IMAP.
  • Cyrus-sasl - наиболее популярная SASL реализация.
  •  
    ----* Кроссплатформенная библиотека для разработки сетевых приложений на c++ (Версия: 0.06 от 2006-05-20) [+]
    [обсудить]
     Библиотека для разработки сетевых приложений на c++ commoncpp.
    Преимущества: Легче и проще, чем ACE, Удобнее, чем sockets api :), Либеральная лицензия - можно разрабатывать коммерческий софт на ее базе, Поддержка как unix так и win32, Полная поддержка тредов (мютексы, семафоры, условные переменные, thread specific storage, etc), Удобные классы (скажем, iostream на базе сокета :), Маленькая, Есть poller engine (пока только poll/select, но просто добавить хоть /dev/poll хоть kqueue).
     
    ----* GnuTLS - GNU Transport Layer Security Library (Версия: 1.0.22 от 2004-11-08) [+]
    [обсудить]
     Библиотека реализует поддержку протоколов шифрования передаваемых данных TLS 1.0-1.2 и SSL 3.0, хешей SHA-256/384/512, блочного шифра Camellia (RFC 4132), аутентификации через SRP, X.509 сертификаты или OpenPGP ключи. Поддерживаются расширения: TLS/PSK (Pre-Shared-Keys), TLS/IA (Inner Applicatio), проксирование X.509 сертификатов.

    Базовая библиотека распространяется в рамках лицензии GPLv2.1 или более новой, а экстра-модули (поддержка TLS/IA, LZO сжатия, обработчик FIPS-режима в Libgcrypt, библиотека для обеспечения совместимости с OpenSSL, тестовый комплект и набор утилит командной строки) - под лицензией GPLv3.

     
    ----* libraryopt - Library Optimizer tool [+]
    [есть мнение]
     Программа для перестройки разделяемой библиотеки, оставляет в библиотеке только те объектные файлы, которые используются для работы программ находящихся в заданной директории. Позволяет значительно сократить размер библиотеки.
     
    ----* diet libc - a libc optimized for small size (Версия: 0.30 от 2006-07-01) [+]
    [обсудить]
     Библиотека с заменой основных функций glibc. Предназначена для использования во встраиваемых системах, так как имеет очень небольшой размер.
    См. также uClibc - C library for embedded systems
     
    ----* NPTL - Native POSIX Threading Library, высокопроизводительные треды для Linux, планируется интегрировать в glibc. (Версия: 0.60 от 2003-09-30) [+]
    ----* LinuxThreads - Posix 1003.1c треды для Linux, интегрированы в glibc [+]
    ----* STL - Solaris-compatible Thread Library [+]
    ----* NPGT - Next Generation POSIX Threading Project (от IBM для Linux) [+]
    ----* pth - The GNU Portable Threads (POSIX.1c "Pthreads" совместимые треды) (доп. ссылка 1) [+]
    [обсудить]
     Библиотеки для создания мультитредовых приложений.
     
    ----* pcre - Perl Compatible Regular Expressions (доп. ссылка 1) (Версия: 8.35 от 2014-04-05) [+]
    [обсудить]
     Библиотека реализующая возможность применения регулярных выражений, схожих с perl regex, в программах на Си.
     
    ----* Mhash - GPL library/interface to a large number of hash algorithms (Версия: 0.9.0 от 2004-04-19) [+]
    [обсудить]
     Библиотека для программ на Си, реализующая не один десяток алгоритмов хэширования.
    Другие библиотеки хэш функций: Minimal Perfect Hashing, in-memory Hash Table.
  • sparsehash - несколько реализаций хэшей для С++ совместимых с SGI hash_map API. Одна из реализаций оптимизирована для минимального использования памяти, другая - для максимально высокой производительности;
  •  
    ----* LAOLA - collection of documentations and perl programs dealing with binary file formats of Windows program documents [+]
    [обсудить]
     Perl бибилиотеки для работы с MS DOC файлами (Word 6, Word 7, Excel ).
     
    ----* Libmpeg3 - MP2, MP3, AC3, MPEG-1 video, MPEG-2 video, and DVD decoding library (Версия: 1.8 от 2008-12-25) [+]
    [обсудить]
     
    ----* AVFS - C library add-on to look inside compressed (Версия: 1.0.1 от 2012-06-14) [+]
    [обсудить]
     Библиотека организующая прозрачную работу с архивными файлами (gzip, tar и т.д.).
     

       XML

    ----* xmlstar (XMLStarlet) - command line XML toolkit (grep, sed, awk, diff, patch) [+]
    [обсудить]
     Набор утилит командной строки для преобразования, запросов и проверки XML документов. Реализует для работы с XML функции похожие на утилиты grep, sed, awk, diff, patch, join и т.п.
     
    ----* JKL.ParseXML - parse remote XML file into JavaScript object [+]
    [обсудить]
     JavaScript библиотека для преобразования удаленного XML файла (запрос через XMLHttpRequest ) в объектный вид (хэш). Удобно использовать для парсинга XML внутри JavaScript.
  • jsont - небольшая функция для преобразования XML/XSLT в нотацию JavaScript объектов (JSON - Java Script Object Notation).
  •  
    ----* OpenXMLD - (OpenDaemon) open-source native XML database server (Версия: 0.7.0 от 2005-11-25) [+]
    [обсудить]
     Обеспечивает SQL-обвязку для XML файла. Т.е. вместо таблицы указывается XML файл, над данными в котором производятся манипуляции через SQL запросы ( выборка,обновление, вставка).
     
    ----* libxml2 - XML C parser and toolkit of Gnome (Версия: 2.7.7 от 2010-05-21) [+]
    [обсудить]
     Наиболее функциональный из XML парсеров, рожден в недрах проекта GNOME.
  • Libxslt - The XSLT C library for Gnome;
  • Xalan - XSLT stylesheet processors, in Java and C++;
  • Xerces - XML parsers in Java, C++ (with Perl and COM bindings);
  • Xindice - A native XML database;
  •  
    ----* Expat - XML Parser (Версия: 2.0.1 от 2007-06-07) [+]
    [обсудить]
     Один из самых быстрых XML парсеров, выполнен в виде Си библиотеки.
     
    ----* XSH - XML Editing Shell (Версия: 2.1.0 от 2007-01-04) [+]
    [обсудить]
     shell ориентированный на парсинг, редактирование и работу с файлами в XML формате. Может использоваться для написания скриптов работающих с XML. Написан на perl с использованием модуля XML::LibXML (libxml2).
     
    ----* XML::Parser - perl module for parsing XML documents (Версия: 2.40 от 2010-09-20) [+]
    [обсудить]
     
  • XML::Parser / XML::Parser::Expat - Perl интерфейс в стиле XML::Parser к Си библиотеке expat, по сравнению с другими модулями имеет самую высокую производительность;
  • XML::SAX::Expat - интерфейс к библиотеке expat, использующий API SAX (Simple API for XML). Самый медленный из всех парсеров, работает в 6-10 раз медленнее XML::Parser;
  • XML::LibXML - Perl интерфейс к Си библиотеке libxml2. При тестировании занял 4 место по производительности (XML::LibXML::SAX::Parser примерно в 4 раза медленнее XML::Parser);
  • XML::Xerces - интерфейс к "Apache Xerces XML parser" на C++.
  • XML::SAX::ExpatXS
  • XML::RSS::LibXML - совместимый с XML::RSS модуль для создания RSS лент, построенный на базе XML::LibXML (libxml2) вместо XML::Parser (expat).

    Наихудшую производительность продемонстрировал модуль XML::SAX::Expat (скорость обработки в 6 - 10 раз ниже (695%) , чем XML::Parser), на предпоследнем месте XML::LibXML::SAX::Parser (393%), затем идут XML::LibXML (202%), XML::Xerces (186%), XML::SAX::ExpatXS (169%) и м XML::Parser (129% - лучший результат).

  •  

       Взаимодействие между процессами

    ----* Event::RPC - Event based transparent Client/Server RPC framework [+]
    [обсудить]
     Perl модуль для организации клиент-серверных сервисов удаленного выполнения процедур.
     
    ----* MQS - Minimalist Queue Services [+]
    [обсудить]
     Простая технология для асинхронного обмена сообщениями между программами. Диспетчеризацией занимается специальный демон на Perl, добавление сообщений в очередь производится посредством XML-RPC. В качестве хранилища могут использоваться как файлы (QDBM), так и СУБД (MySQL, PostgreSQL)
     
    ----* MM - Shared Memory Library (Версия: 1.3.1 от 2004-09-14) [+]
    [обсудить]
     Многоплатформенная библиотека для создания области памяти, доступной как для родительского процесса, так и для всех дочерних процессов. Поддерживаются такие платформозависимые методы организации разделяемой памяти, как классический mmap, mmap через POSIX.1 shm_open, SVR4-style mmap, SysV IPC shmget (IPCSHM) и 4.4BSD-style mmap(MAP_ANO). Библиотека предоставляет три вида высокоуровневого API: замена функций malloc-стиля (нужно добавить MM_create/MM_destroy и добавить к malloc, realloc, free, calloc, sizeof префикс MM_), Malloc-Style API и низкоуровневый API.
     
    ----* ORBacus (formerly known as OmniBroker) - full-featured object request broker [+]
    ----* MICO - complete CORBA 2.0 implementation (Версия: 2.3.13 от 2008-12-20) [+]
    ----* omniORB - CORBA 2 compliant Object Request Broker (ORB) (Версия: 4.1.2 от 2008-02-16) [+]
    ----* ORBit - Object Request Broker (ORB) (Версия: 0.5.14 от 2002-03-19) [+]
    [обсудить]
     Бесплатные CORBA реализации.
     

       Графические и оконные тулкиты

    !!!-* The GUI Toolkit, Framework Page (доп. ссылка 1) [+]
    [есть мнение]
     Прекрасная сводная таблица тулкитов для создания графических интерфейсов.
    Другие сравнения:
  • Платформонезависимая разработка GUI;
  • GUI Toolkits for The X Window System.

    Наиболее популярные платформонезависимые GUI библиотеки:

  • Qt - библиотека от Trolltech на базе которой построен KDE (ограничения для коммерческого использования, хорошие среды для разработки - QtDesigner и KDevelop);
  • xWidgets (wxWindows) - open source C++ GUI framework (полностью открытый пакет с богатой библиотекой классов, хорошо документирован, среда - Boa Constructor);
  • GTK+ - The GIMP Toolkit (код на Си, используется в GNOME и gimp, плохая поддержка Windows, среда - http://glade.gnome.org/);
  • FLTK (продолжение развития XForms) - Fast Light cross-platform C++ GUI toolkit (небольшой, стабильный и быстрый; но классов не так много как в GTK, xWidgets или Qt);
  • FOX Toolkit - малораспрастраненный тулкит на C++.
  •  
    !!!-* ImageMagick- general image manipulation tool. [+]
    [обсудить]
     Набор утилит для обработки и создания изображений. Поддерживает 68 различных графических формата. Из операций производимых с картинками следует отметить наложение текста, вращение, изменение размера и формы, цветовая обработка, множество эффектов, преобразование форматов, манипуляции с GIF, черчение линий, окружностей и т.д. Имеются библиотеки функций для C, C++ и Perl.
  • Imager - неплохая альтернатива (на Perl);
  • GraphicsMagick - форк проекта отделившийся в 2003 году.
  •  
    ----* Clutter - library for creating fast, compelling, portable, and dynamic GUI [+]
    [обсудить]
     Графическая библиотека, которая работает поверх OpenGL, GLib, GObject, GLX, SDL, WGL, Quartz, EGL и Pango, имеются биндинги для языков Perl, Python, C#, C++, Vala и Ruby. Исходные тексты распространяются в рамках лицензии LGPLv 2.1. Библиотека Clutter ориентирована на активное использование анимации и визуальных эффектов, что позволяет применять при создании обычных GUI приложений методы, используемые при разработке игр. При этом сама библиотека напоминает игровой движок, в котором максимальное число операций выносится на плечи GPU. Одним из основных преимуществ Clutter является то, что для создания сложного интерфейса пользователя требуется написание минимума кода.

    Clutter активно используется для обеспечения работы пользовательского интерфейса в проекте Moblin/MeeGo, в недалёком будущем рабочая оболочка GNOME 3.0 также будет основана на использовании Clutter интерфейса к GTK+. Кроме Clutter-GTK в настоящий момент доступны такие интеграционные модули, как:

    • Clutter-GStreamer для отображения видеопотоков в виде элементов холста Clutter;
    • Clutter-Box2D для симулирования физических процессов, таких как гравитация, инерция или реалистичные столкновения;
    • Clutter-MozEmbed и Clutter-WebKit для рендеринга web-страниц через движок Mozilla Gecko или WebKit;
    • Clutter-Qt для интеграции возможностей Clutter в Qt приложения.
     
    ----* EFL - Enlightenment Foundation Library [+]
    [обсудить]
     Набор разработанных в недрах проекта Enlightenment библиотек, позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Данные качества делают EFL неплохим выбором для построения интерфейсов потребительской электроники и мобильных устройств. В частности, системы на базе EFL используются в продуктах компаний Electrolux, Samsung, ProFUSION, Free.fr и Calaos.

    EFL состоит из следующих базовых компонентов:

    • Evas 1.0.0 - система рендеринга, используемая для организации вывода на экран и обеспечивающая замечательную производительность даже без задействования аппаратной акселерации вывода. Evas оперирует содержимым экрана как сценой, на которой размещаются определенные объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации;
    • Edje 1.0.0 - графическая библиотека, отделяющая внешний вид от кода (оформление задается в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабженный анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменен);
    • Eina 1.0.0 - библиотека с реализацией различных типов данных (массив, хэш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.);
    • Eet 1.4.0 - библиотека для записи произвольного набора блоков данных в файл и их последующего частого чтения в произвольном порядке;
    • Ecore 1.0.0 - библиотека для организации цикла обработки событий, имеющая в своем арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, нитями, сетевыми соединениями и т.п.;
    • Embryo 1.0.0 - библиотека для написания небольших компилируемых приложений для встраиваемых устройств;
    • E_Dbus - надстройка над DBus API, позволяющая использовать его в EFL-приложениях и интегрировать в основной цикл обработки событий Ecore/main;
    • Efreet - библиотека, позволяющая использовать в приложениях некоторые специфкации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню;
    • Eeze - библиотека для организации взаимодействия с внешними устройствами через udev, hal и другие механизмы;

    Дополнительные компоненты, развиваемые в рамках проекта Enlightenment:

    • Elementary - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста);
    • Enlightenment - оконный менеджер, на базе которого, в сочетании с такими компонентами, как файловый менеджер, набор виджетов и рабочий стол, формируется десктоп-окружение;
    • Ephoto - менеджер для управления коллекцией фотографий;
    • Eve - web-браузер на базе движка WebKit (используется библиотека EFLWebKit);
    • Editje - визуальный редактор для проектирования пользовательского интерфейса, оперирующий файлами .edc и .edj;
    • Eio - абстрактный интерфейс для доступа к файловой системе;
    • Efreet - библиотека, позволяющая использовать в приложениях некоторые специфкации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню;
    • Ethumb - библиотека для формирования эскизов изображений;
    • Биндинги для языков Python, Javascript, Vala, C++, Perl и Ruby;
     
    ----* OpenSceneGraph - open source high performance 3D graphics toolkit [+]
    [обсудить]
     OpenSceneGraph представляет собой инструментарий для разработки приложений в которых необходима высокопроизводительная визуализация трехмерных сцен в режиме реального времени. Например, для разработки симуляторов, 3D игр, систем виртуальной реальности и моделирования.
     
    ----* Dabo - cross-platform application development framework (Версия: 0.9.4 от 2011-10-08) [+]
    [обсудить]
     Python фреймворк (надстройка над wxPython) для разработки GUI приложений. В будущем, кроме wxPython, планируется поддержка PyQt и TkInter (Python интерфейс к Tcl/Tk).
     
    ----* GEGL - Generic Graphical Library (Версия: 0.0.8 от 2007-02-02) [+]
    [обсудить]
     Графическая библиотека поддерживающая большое число форматов графических файлов (PNG, JPEG, SVG, EXR, RAW и т.д.) и цветовых схем RGB, CIE Lab, YCbCr и CMYK. Имеется возможность работы со слоями. В настоящее время доступны интерфейсы для XML, C и Python (хороший пример). В будущем планируется использовать GEGL не только как отдельную библиотеку функций, но и в качестве основы для графического редактора GIMP.
     
    ----* Pq (Perl/Tk-over-Qt) - Perl/Tk API using the C++ GUI toolkit Qt [+]
    [обсудить]
     Порт библиотеки для создания графических интерфейсов Perl/Tk под Qt и Qt/Embedded. Позволяет использовать весь спектр возможностей Qt в графических интерфейсах написанных с использованием Perl/Tk, без переделки программы.
     
    ----* MiniGUI - cross-operating-system GUI support system for embedded devices [+]
    [обсудить]
     Легкий многоплатформенный framework для создания GUI приложений для встраиваемых систем. Распространяется под лицензией GPL.
     
    ----* Открытые средства для разработки кроссплатформенных игр [+]
    [обсудить]
     
  • OpenGL;
  • SDML (Simple DirectMedia Layer);
  • ALLEGRO (Allegro Low LEvel Game ROutines);
  • Irrlicht (Lightning Fast Real-Time 3D Engine);
  • ClanLib - cross platform C++ framework for games;
  •  
    ----* SDL - Simple DirectMedia Layer [+]
    [обсудить]
     Библиотека для низкоуровневого доступа к таким устройствам, как видеоадаптер, звуковая карта, клавиатура, мышь, различным мультимедиа системам.
  • DirectFB;
  • Perl интерфейс к библиотекам SDL и OpenGL - [[SDL::App и SDL::OpenGL;
  • Pygame и PySDL - Python интерфейс;
  • JSDL - интерфейс для Java.
  •  
    ----* GD - a graphics library for fast GIF creation (Версия: 2.0.35 от 2007-06-22) [+]
    [обсудить]
     Библиотека для создания GIF, JPEG и PNG изображений. Изображение создается на виртуальном экране и сохраняется в файл.
  • libjpeg - библиотека и набор утилит для манипулирования JPEG (JFIF) файлами;
  • libpng - библиотека для создания изображений в PNG формате.
  •  
    ----* Glan (Global Application Network) - Qt-based Application Server (Версия: 0.1.1 от 2004-11-24) [+]
    [обсудить]
     Glan - система разработки клиент-серверных приложений. Просто пишите Ваш сервер используя стилистику и методологию QT и забудьте о клиенте. Библиотека Glan и Glan-Клиент сделают все остальное.
     
    ----* oFBis - (libfb) graphical routines for the Linux framebuffers. [+]
    [обсудить]
     Библиотека для графического отображения информации (аналог svgalib) в Linux консоли (через frame buffer).
     
    ----* Open Motif Everywhere - distribution of Open Motif built from the official Open Group sources (Версия: 2.2.3 от 2004-04-17) [+]
    [обсудить]
     Дистрибутив Motif выпущенный под лиценцией Open Group Public License
     
    ----* Lesstif - re-implementation of the Motif widget set for X11 (Версия: 0.95.2 от 2013-09-16) [+]
    [обсудить]
     Набор виджетов совместимых с Motif.
     

       Контроль состояния сокетов и событий

    !!!-* libevent - an event notification library (Версия: 1.1 от 2005-05-16) [+]
    [обсудить]
     Одна из лучших библиотек для слежения за изменением статуса файлового дескриптора (вызов callback функции на I/O событие). Представляет собой враппер для таких схем, как kqueue, select, poll, /dev/epoll, real-time signals.
  • libio - a data transport abstraction (надстройка над libevent с более высоким уровнем абстракции).
  • liboop - low-level event loop management library.
  •  
    ----* PAIOL - POSIX Asynchronous I/O for Linux [+]
    [обсудить]
     Проект по разработке API совместимого с POSIX AIO, использующего API Linux ядра 2.6.x и не требующего наложения дополнительных патчей при работе в режиме user-level библиотеки. Для увеличения производительности присутствует набор патчей, реализующих данную функциональность внутри ядра.
     
    ----* AEM - The Linux Asynchronous Event Mechanism [+]
    [обсудить]
     Гибкое и производительное решение для контроля за изменением состояния объекта, через генерацию событий. Доступны патчи для 2.4 и 2.6 Linux ядер.
     
    ----* Linux-AIO - Asynchronous I/O for Linux [+]
    [обсудить]
     Патч для 2.4.x Linux ядер и набор библиотек реализующих функции асинхронного ввода/вывода (POSIX 1003.1b aio_open, aio_write, aio_read).
     
    ----* FAM - File Alteration Monitor (Версия: 5.0.0 от 2005-11-10) [+]
    [обсудить]
     API для мониторинга за состоянием файла или группы файлов/директорий. Можно использовать, когда в программе нужно выполнить какое-то действие сразу после изменения состояния файла.
  • SGI::FAM - Perl-интерфейс;
  • Python FAM Lib;
  • fileschanged - утилита работающая в режиме командной строки, для использования в Shell.
  •  

       Другие языки (Ruby,Tcl, Lisp и т.д.)

    ----* CK8.0 - Curses Tcl Toolkit [+]
    [обсудить]
     Библиотека для создания консольных интерфейсов на Tcl, по семантике совместимая с Tcl/Tk.
     
    ----* shc - Generic shell script compiler [+]
    [обсудить]
     Позволяет преобразовать тело shell скриптов в бинарный вид (компиляция в исходник на Си), делая их не читаемыми, как опция доступна возможность ограничения времени жизни скрипта.
     
    ----* Tile - an improved themeing engine for Tk [+]
    [обсудить]
     Пакет дающий возможность использовать изменяемые образы внешнего вида (темы) для графических приложений на Tcl/Tk.
     
    ----* VisualTcl - визуальное создание Tcl/Tk программ. [+]
    [есть мнение]
     
    ----* Tcl "Compiler" - compile script applications. (доп. ссылка 1) (Версия: 3.3 beta 3 от 2002-04-21) [+]
    [обсудить]
     Компилятор Tcl скриптов в бинарный вид.
     
    ----* Tcl localization patch (for version 8.x) [+]
    [обсудить]
     Патчи для исправления ошибок локализации TCL/TK. Для программирующих на TCL будет интересна корневая страница Vitus Wagner's Tcl pages.
     

       Компиляторы и интерпретаторы

    !!!-* GCC - GNU Compiler Collection (Версия: 4.8.1 от 2013-06-03) [+]
    [обсудить]
     Официальный сайт GCC - GNU Compiler Collection (C, C++, Objective C, Fortran, Java, Ada).
     
    ----* LLVM (Low Level Virtual Machine) Compiler Infrastructure (Версия: 1.8 от 2006-08-14) [+]
    [обсудить]
     Коллекция утилит и библиотек построенных на основе GCC, компилирующих Си или С++ программы в промежуточных байткод RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации).

    Наиболее интересное применение - создание JIT (Just-in-time compilation) компиляторов, транслирующих платформонезависимый псевдокод в машинные инструкции непосредственно в момент выполнения программы.

  • GNU lightning - ibrary that generates assembly language code at run-time;
  • DotGNU Project;
  • Libjit.
  •  
    ----* lcc - Retargetable Compiler for ANSI C [+]
    [обсудить]
     Небольшой перенастраиваемый (retargetable) ANSI C компилятор, позволяющий быстро сгенерировать код для платформ ALPHA, SPARC, MIPS R3000 и x86.
  • vbcc - похожий компилятор поддерживающий стандарт C99 и генерирующий код для платформ Coldfire, PowerPC, x86, Alpha, C16x/ST10, 68hc12, z-machine;
  •  
    ----* Ch - Embeddable C/C++ Interperter [+]
    [обсудить]
     Специализированный интерпретатор, расширяющего возможности С/С++, путем встраивания скриптовых блоков в C/C++ программы. Ch включает в себя также полноценный 1999 ISO C (C99) совместимый интерпретатор, позволяющий использовать С/С++ программы в качестве скриптов.
     
    ----* shc - Generic shell script compiler [+]
    [обсудить]
     Позволяет преобразовать тело shell скриптов в бинарный вид (компиляция в исходник на Си), делая их не читаемыми, как опция доступна возможность ограничения времени жизни скрипта.
     
    ----* xHarbour - Open Source Extended Clipper Language [+]
    [обсудить]
     Многоплатформенный компилятор и препроцессор на 100% совместимый с CA-Clipper. xHarbour (extended Harbour) - форк проекта Harbour. Некоторые бухгалтерские программы, написанные на Clipper, портированы под Linux благодаря xHarbour.
     
    ----* MinGW - Minimalist GNU for Windows [+]
    [обсудить]
     Комплект заголовочных файлов, библиотек и утилит для сборки Windows приложений не требующих для своего выполнения внешних DLL библиотек от сторонних поставщиков. Пакет может использоваться для коссплатформенной сборки Win32 приложений в Unix среде.
     
    ----* Lex & Yacc - Lexical Analyzer Generator and Yet Another Compiler-Compiler [+]
    [обсудить]
     Средства для автоматизации процесса создания лексических (lex) и синтаксических (yacc) анализаторов в программах на языке Си.
  • Популярной альтернативой lex является пакет flex, yacc - bison.
  • Lemon - альтернативное (yacc) решение;
  • Spirit - object oriented (C++)recursive descent parser generator (EBNF форма (Extended Backus Normal Form)).
  •  
    ----* Bossa - framework for Linux scheduler development [+]
    [обсудить]
     Система предназначенная для создания собственного планировщика задач с определенной вами политикой управлением процессами. Структура планировщика строится из готовых кирпичиков и описываются на псевдоязыке DSL, который затем преобразуется в Си код для замены стандартного планировщика Linux ядра.
  • Статья про использование Bossa.
  •  
    ----* UPX - Ultimate Packer for eXecutables (Версия: 3.07 от 2010-11-09) [+]
    [обсудить]
     Linux утилита для сжатия выполняемых файлов в формате AOUT, ELF, script.
  • Для упаковки запускных файлов так же можно использовать утилиту 624.
  •  
    ----* ccache - compiler cache (Версия: 3.1.9 от 2013-01-07) [+]
    [обсудить]
     Обеспечивает прирост производительности при повторной сборке программы за счет кэширования промежуточных данных. При частом выполнении make clean;make прирост производительности составляет 5-10 раз.
  • Compilercache - похожий проект;
  • gocache - клон ccache, в котором расширена поддержка компиляторов и платформ на котороых производится сборка.
  •  
    ----* distcc - fast, free distributed C/C++ compiler (Версия: 3.0 от 2008-08-08) [+]
    [обсудить]
     Фронтэнд для GCC обеспечивающий распределенную компиляцию программ на нескольких машинах. Для участия машины в распределенной сети достаточно запустить специальный процесс-демон. Грубо говоря distcc - это нечто похожее на использование -j флага в make, только процессы выполняются не на одной машине, а на нескольких.
     
    ----* TenDRA - C compiler, with C++ STL support forthcoming [+]
    [обсудить]
     С/С++ компилятор распространяемый под лицензией BSD.
     
    ----* icc - Intel C++ Compiler for Linux. (Версия: 8.1 от 2004-09-22) [+]
    [есть мнение]
     Полностью совместимый с GCC компилятор от Intel, код сгенерированный icc примерно на 30% быстрее чем код от gcc.
     
    ----* distcc - distribute compilation of C or C++ code across several machines on a network (Версия: 3.0 от 2008-08-09) [+]
    [обсудить]
     Фронт-энд к компиляторам GCC для организации распределенной сборки большого проекта на нескольких машинах в сети.
     
    ----* Tcl "Compiler" - compile script applications. (доп. ссылка 1) (Версия: 3.3 beta 3 от 2002-04-21) [+]
    [обсудить]
     Компилятор Tcl скриптов в бинарный вид.
     
    ----* Awka - translator of AWK programs to ANSI C [+]
    [обсудить]
     Преобразователь скриптов на языке AWK в ANSI C код, для последующего подключения в свои программы на языке Си.
     
    ----* freepascal - Free Pascal (aka FPK Pascal) is a 32 bit pascal compiler (Версия: 1.9 от 2002-01-31) [+]
    [обсудить]
     Компилятор программ на языке паскаль, полная совместимость синтаксиса с TP 7.0, поддерживаются некоторые конструкции delphi.
  • lazarus - delphi-подобная среда разработки.
  •  
    ----* StackGuard is a compiler approach for defending programs and systems against "stacksmashing" attacks (доп. ссылка 1) [+]
    [обсудить]
     Патчи для GCC, позволяющие предотвратить "stack smashing", при компиляции программы имеющей предрасположенность к данному виду атак.
     
    ----* PGCC stands for Pentium GCC [+]
    [обсудить]
     Расширенная версия GCC поддерживающая оптимизацию под процессоры Pentium. (ветка мертва, объединена с gcc начиная с gcc 2.95)
     
    ----* [egcs.cygnus.com] egcs - C, C++, Object C and f77 compilers + runtime libraries [+]
    [обсудить]
     Мощная система компиляции приложений, рекомендуется как замена GCC. (ветка мертва, объединена с gcc начиная с gcc 2.95)
     
    ----* PHP - Hypertext Preprocessor (Версия: 5.3.3 от 2010-08-22) [+]
    [обсудить]
     PHP: Hypertext Preprocessor (PHP: препроцессор гипертекста) - скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. Поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
     

       Машинное обучение

    ----* Открытые крупные модели машинного обучения [+]
    [обсудить]
     Подборка проектов по созданию крупных моделей машинного обучения, лицензия на которые позволяет использовать их в коммерческих проектах и поставлять в своих продуктах:
  • EleutherAI (GPT-Neo, GPT-J, GPT-NeoX, Pythia).
  • BLOOM (BigScience Large Open-science Open-access Multilingual Language Model).
  • LAION (Large-scale Artificial Intelligence Open Network).
  • DataBricks Dolly 2.0.
  • Stability Diffusion StableLM.
  • Cerebras GPT.
  • h2oGPT.
  • RedPajama.
  • Berkeley OpenLLaMA.
  • MosaicML MPT.
  • NVIDIA NeMo.
  • Hugging Face StarCoder.
  • TII Falcon.
  • GPT4All.
  • PrivateGPT.
  • WebGPT.
  •  
    ----* bloom - многоязычная модель для систем машинного обучения [+]
    [обсудить]
     Общедоступная языковая модель, охватывающая 46 языков и 13 языков программирования, адаптированная для продолжения текстовых фраз и решения общих задач для генерации текста. Модель обучена с использованием коллекции, включающей 176 миллиардов параметров.
     
    ----* Darknet - фреймворк на базе свёрточной нейронной сети (доп. ссылка 1) [+]
    [обсудить]
     Открытый фреймворк для прикладного использования свёрточной нейронной сети, подходящий, например, для классификации фотографий или выделения объектов на изображениях в режиме реального времени. Код написан на Си с использованием CUDA. Вычисления могут производиться на CPU и GPU.
     
    ----* Learning-to-See-in-the-Dark - осветление тёмных изображений (доп. ссылка 1) [+]
    [обсудить]
     Реализация модели машинного обучения для Tensorflow, позволяющая осветлять очень тёмные изображения, снятые на камеру в тёмное время суток с низким значением выдержки.
     
    ----* SOD - встраиваемая библиотека для компьютерного зрения и машинного обучения (доп. ссылка 1) [+]
    [обсудить]
     Кроссплатформенная библиотека с подборкой готовых алгоритмов компьютерного зрения, подходящая для быстрой интеграции с приложениями. Предоставляются функции выделения и распознавания объектов на изображениях, включая распознавание лиц. Из примеров практического использования упоминается распознавание автомобильных номеров, определение вторжений по активности с камер наблюдения, извлечение папиллярных линий отпечатков пальцев, классификация действий людей, отслеживание движения глаз, определение формы тела, сегментация изображений и т.п. Код распространяется под лицензией GPLv3, но готовые обученные модели распространяются платно (можно обучить свои модели).
     

       Отладка и оценка кода

    !!!-* Flawfinder - searches through source code for potential security flaws (Версия: 1.27 от 2007-01-18) [+]
    [обсудить]
     Анализатор исходных текстов на языках Си/Си++ на предмет наличия проблем с безопасностью.
     
    !!!-* DDD - The Data Display Debugger (Версия: 3.3.10 от 2004-10-21) [+]
    [обсудить]
     Очень удобный отладчик, надстройка над GDB.
     
    rus-* BIEW - Binary vIEW project (Версия: 6.1.0 от 2009-12-13) [+]
    [есть мнение]
     BIEW - это просмотрщик бинарных файлов со встроенным редакторoм бинарного, шестнадцатеричного и дизассемблерных режимов. Цветной AVR/Java/i86-i386-AMD64/ARM-XScale/PPC64 дизассемблер, перекодировщик кодовых страниц, просмотр форматов - MZ, NE, PE, LE, LX, NLM, a.out, elf, coff32, PharLap; навигатор по коду да и многое многое другое.
     
    ----* Подборка программ для анализа вредоносного кода и исполняемых файлов [+]
    [обсудить]
     
     
    ----* apitrace - Graphics API Tracing [+]
    [обсудить]
     Утилита для отслеживания и анализа обращений к API OpenGL и Direct3D. Последовательность вызовов может быть записана в файл и затем вопроизведена или визуализирована в наглядном виде. Утилита протестирована на таких приложениях, как Quake3, Unigine Heaven, Cinebench R11 и Autodesk Maya.
     
    ----* bashdb - Bash Debugger Project [+]
    [обсудить]
     Отладчик shell скриптов, обладающий возможностями типичного C/C++ отладчика, например, позволяет устанавливать точки останова, инспектировать содержание переменных, производить откат выполнения операций, пошагово следить за работой скрипта. В качестве графической оболочки может быть использован пакет DDD.
     
    ----* fincore - shows which pages (blocks) of a file are in core memory. [+]
    [обсудить]
     Позволяет посмотреть какие из блоков файла, открытого процессом, прокэшированы операционной системой. Удобно использовать для оценки использования кэша, при интенсивном обмене данными.
     
    ----* Linice - Linux Kernel Debugger Linux Kernel Debugger Linux Kernel Debugger [+]
    [обсудить]
     Аналог известного отладчика SoftICE. Работает на уровне Linux ядра.
  • RR0D (ring 0 debugger) - другой клон SoftICE под Linux и BSD, работающий в нулевом кольце.
  •  
    ----* KDiff3 - visual compares or merges two or three text input files or directories [+]
    [обсудить]
     Удобная GUI утилита для наглядного сравнения или объединения двух или трех файлов.

    Другие утилиты для визуального сравнения файлов:

  • Kompare (отличное ПО на базе KDE/Qt)
  • meld
  • xxdiff
  • TkDiff
  • vimdiff
  • ediff (Emacs)
  •  
    ----* FindBugs - Find Bugs in Java Programs [+]
    [обсудить]
     Анализатор исходных текстов Java программ, предназначенный для выявления ошибок.
     
    ----* BogoSec - Source Code Security Quality Metric [+]
    [обсудить]
     Анализатор исходных текстов на предмет качества кода с точки зрения безопасности. При работе использует несколько внешних сканеров исходных текстов (Flawfinder, RATS и ITS4).
     
    ----* Rapido - visual profiler for Linux on x86. [+]
    [обсудить]
     Система профилирования, отображающая результаты работы (цепочку вызовов функций, число и время их выполнения) в виде наглядного древовидного графика.
     
    ----* LXR - Cross-Referencing Linux [+]
    [обсудить]
     Web-интерфейс (на Perl) для интерактивного просмотра исходных текстов программ на Си и Си++. Имеются интегрированные средства поиска, возможность проследить использование переменных и функций. Система изначально разработана для навигации по исходным текстам Linux ядра.
     
    ----* ald - Assembly Language Debugger [+]
    [обсудить]
     Программа для отладки исполняемых ELF файлов на ассемблерном уровне. Поддерживается Linux, FreeBSD, NetBSD, OpenBSD.
     
    ----* OpenSpeedShop - analyze the performance of applications [+]
    [обсудить]
     Профессиональное средство, разработанное SGI (лицензия GPL), для анализа производительности приложений работающих как на отдельной машине, так и в вычислительном кластере (MPI). Присутствует графический и консольный интерфейсы для управления.
     
    ----* posixtest - Open POSIX Test Suite [+]
    [обсудить]
     Открытый набор тестов на совместимость стандартам POSIX (IEEE 1003.1-2001).
     
    ----* Sysprof - sampling CPU profiler that uses a Linux kernel module (Версия: 1.1.4 от 2009-12-21) [+]
    [обсудить]
     Профайлер с GUI интерфейсом (GTK+), использующий входящий в комплект 2.6 Linux ядра модуль профилирования. Позволяет отслеживать производительность как отдельных библиотек и программ (без пересборки, включая многопотоковые приложения), так и системы в целом.
     
    ----* google-perftools - fastest malloc library [+]
    [обсудить]
     Очень быстрая библиотека для распределения памяти (malloc) и утилиты для профилирования расхода памяти и загрузки CPU от Google.
     
    ----* PMD- scans Java source code and looks for potential problems [+]
    [обсудить]
     Анализатор исходного кода программ на Java с функциями автоматического выявления некоторых проблем. Доступен в виде плагина к большому числу редакторов и IDE.
     
    ----* DBG - PHP Debugger and Profiler. (Версия: 2.15.1 от 2006-09-22) [+]
    [обсудить]
     Функциональная система для отладки и профилирования PHP скриптов. Бесплатная версия включает модуль для интеграции с php и интерфейс к среде DDD для визуального представления процесса отладки.
     
    ----* Introspector - GCC XML Tree Node Introspector [+]
    [обсудить]
     Патч к GCC для генерации внутренней информации о компиляции проекта в RDF/XML виде. В комплект также входит GUI интерфейс для визуального представления полученного дампа.
     
    ----* CTrace - multi-threaded trace/debug library [+]
    [обсудить]
     Библиотека для трассировки и отладки многопоточных программ.
  • libtrace - небольшая библиотека для трассировки библиотечных вызовов.
  •  
    ----* Smatch - C source checker [+]
    [обсудить]
     Автоматический анализатор исходного кода для нахождения типовых ошибок (например, утечек памяти, переполнений буфера, паразитных NULL указателей). Первоначально задумывался как средство для выявления ошибок в Linux ядре. Состоит из двух частей: патчей к gcc и набора perl-скриптов для анализа дампов.
  • статье с описанием методики работы анализатора;
  •  
    ----* ClassicGuard - Relative Debugger [+]
    [обсудить]
     Технология "Relative Debugging" дополняет классическую пошаговую отладку с точками останова и проверкой значений переменных, автоматизированными средствами сравнения значений переменных отлаживаемой системы с запущенной отдельно эталонной. Т.е. на одной машине выполняется отлаживаемая программа, на другой эталонная - заведомо корректно работающая, состояние переменных обоих программ сравнивается на разных стадиях в автоматическом режиме.

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

     
    ----* Valgrind - GPL'd system for debugging and profiling x86-Linux programs (Версия: 3.8.1 от 2012-10-11) [+]
    [обсудить]
     Отличный memory debugger, позволяет автоматически отследить проблемы с распределением памяти у программы и проблемы при использовании тредов. Так же valgrind может использоваться как профайлер, для оценки скорости выполнения различных участков кода и определения мест которые следует оптимизировать.
     
    ----* OProfile - system-wide profiler for Linux systems (Версия: 0.9.9 от 2013-07-31) [+]
    [обсудить]
     OProfile позволяет профилировать не только приложения и библиотеки, но и составные части Linux ядра (модули, обработчики прерываний и т.д.), составлять полную картину использования процессорного времени во всей системе (разбивка по процессам). Часть кода интегрирована в Linux ядро, что позволяет точно и в более полной мере отследить потери производительности, в том числе внутри системных и библиотечных вызовов.
     
    ----* CCured - source-to-source translator for C [+]
    [обсудить]
     Анализирует исходные тексты программы на языке C и добавляет блоки устраняющие типичные ошибки приводящие к возможности переполнения буфера, ценой частичного уменьшения производительности.
     
    ----* Performance Inspector - performance analysis tools for Linux [+]
    [обсудить]
     Пакет программ позволяющий определить участки программы имеющие проблемы с производительностью, имеется возможность контроля взаимодействия программы с Linux ядром через системные вызовы. Система реализована в виде патча для Linux ядра (для ядер от SuSE и RedHat можно использовать в виде модуля).
     
    ----* Cyclone - диалект Си для безопасного программирования [+]
    [обсудить]
     Так же смотрите CIL (C Intermediate Language) - набор расширений-препроцессоров и утилит для проверки и автоматического исправления кода.
     
    ----* PortingManager - porting C and C++ Solaris applications to Linux (доп. ссылка 1) [+]
    [обсудить]
     Графический интерфейс облегчающий процесс переноса программ написанных для Solaris под Linux.
     
    ----* Log::Log4perl - runtime code logger. (Версия: 0.23 от 2002-09-25) [+]
    [обсудить]
     log4perl позволяет вести подробный лог выполнения скрипта в реальном режиме времени. Главным преимуществом log2perl является возможность избежать неимоверного потока лог-сообщений, благодаря таким вещам как многоуровневая модель лог сообщений, переадресация разных лог-сообщений в разные потоки/файлы. log4j - аналог для Java скриптов.
     
    ----* Meta-Level Compilation - проект по выявлению опасных участков кода на этапе компиляции (xgcc) [+]
    [обсудить]
     
    ----* MEMWATCH - memory leak detection tool (Версия: 2.71 от 2003-05-21) [+]
    [обсудить]
     Программа для определения утечек памяти.
     
    ----* Electric Fence - malloc() debugger for Linux and Unix (Версия: 9.03 от 2012-09-26) [+]
    [обсудить]
     Позволяет определить участки программы нарушающие границу буфера выделенного через malloc().
     
    ----* PScan -limited problem scanner for C source files [+]
    [обсудить]
     Небольшая утилита для сканирования исходных текстов на наличие проблем форматирования строки в *printf, syslog и др. операторах.
     
    ----* cqual - type-based analysis tool for checking properties of C programs (Версия: 0.99 от 2003-09-12) [+]
    [обсудить]
     
    ----* BLAST - Berkeley Lazy Abstraction Software Verification Tool for C (Версия: 2.2.10 от 2004-11-10) [+]
    [обсудить]
     
    ----* MOPS - tool for finding security bugs in C [+]
    [обсудить]
     
    ----* RATS - the Rough Auditing Tool for Security (Версия: 1.14.4 от 2009-10-01) [+]
    [обсудить]
     Программа для автоматического аудита исходного кода на языках C, C++, Python, Perl и PHP для выявления опасных системных вызовов.
     
    ----* ITS4 - automate source code review for security [+]
    [обсудить]
     Анализатор исходных текстов на языках C/C++ на предмет наличия кода, который может привести к потенциальным проблемам с безопасностью.
     
    ----* Clint - test bed for static source code checking, designed to check C++ [+]
    [обсудить]
     Программа для отслеживания потенциальных ошибок в исходном тексте программы на Си/Си++.
     
    ----* ptkdb - Perl Debugger Built With a PerlTk User Interface [+]
    [обсудить]
     Среда для отладки Perl программ. Отличительной чертой является наличие возможности "прозрачно" отлаживать CGI скрипты.
     
    ----* Insight - graphical user interface to GDB, the GNU Debugger written in Tcl/Tk [+]
    [обсудить]
     Удобная система для отладки программ.
     
    ----* Dmalloc - Debug Malloc Library [+]
    [обсудить]
     Позволяет обноружить утечки памяти, повреждения памяти, попытки записи в освобожденную память и т.д.
     
    ----* CodeMedic - UNIX Debugging Environment (Версия: 2.0.0 от 2004-02-01) [+]
    [есть мнение]
     Интегрируемый в CodeCrusader, многооконный отладчик. Надстройка над GDB. Обеспечивает подцветку кода, есть возможность редактировать исходники, "кликательный" интерфейс, удобная система контроля за состоянием переменных программы и т.д.
     
    ----* Astyle - automatically re-indents C , C++, Java source [+]
    [обсудить]
     Фильтр для разбивки исходников java, C и C++ программ в приятный для глаз вид.
  • Uncrustify - форматирует исходные тексты на языках C, C++, C#, D, Java, Pawn.
  •  
    ----* bprof - profiling per source code line [+]
    [обсудить]
     Система оценки производительности различных участков кода программы.
     
    ----* strace - traces and decodes system calls (Версия: 4.8 от 2013-06-07) [+]
    [обсудить]
     Многоплатформенная утилита позволяющая отследить системные вызовы, которые делает подопытная программа.
  • ltrace - трассировщик библиотечных вызовов под Linux;
  • ktrace и truss - аналоги strace входящие в состав FreeBSD.
  •  
    ----* Checker - debugging tool suite which find memory errors at runtime [+]
    ----* ccmalloc - memory profiling and malloc debugging library [+]
    [обсудить]
     Системы для проверки правильности распределения памяти.
     
    ----* OSPC - Open Systems Portability Checker [+]
    ----* ThinkageLINT - examines source code and reports on non-portable constructs [+]
    [обсудить]
     Анализаторы исходников на наличие конструкций затрудняющих переносимость преложений между разными платформами.
     
    ----* SPLint - tool for statically checking C programs (доп. ссылка 1) (Версия: 3.1.1 от 2003-06-03) [+]
    [обсудить]
     Анализатор исходников программ на наличие множества распространенных ошибок, таких как ошибки распределения памяти, неправильное использование переменных, ошибки проверки границ и т.д. Ранее проект назывался LCLint.
     
    ----* perldbgui - GUI for the standard Perl debugger [+]
    [обсудить]
     GUI для стандартного отладчика языка Perl.
     
    ----* Jikes Debugger (Версия: 1.22 от 2004-10-05) [+]
    [обсудить]
     Отладчик Java апплетов, позволяет инспектировать удаленно выполняющиеся приложения. Написан на Java.
     

       Сборка проекта и портирование

    ----* Ruby Packer - упаковка Ruby-проектов в исполняемые файлы [+]
    [обсудить]
     Программа позволяет упаковать приложение на языке Ruby в обособленный исполняемый файл. Поддерживаются платформы Windows, macOS и Linux.
     
    ----* Ninja - small build system similar to make [+]
    [обсудить]
     Ninja представляет собой упрощенный вариант программы make, оптимизированный для значительного ускорения процесса повторной сборки крупных проектов, после внесения незначительных изменений в код. Ninja не поддерживает сложные сценарии принятия решений и оперирует простейшими правилами для описания зависимостей между файлами собираемого проекта. Вопрос учета системных зависимостей выносятся на плечи внешних инструментов, таких как пакет autotools. Использование Ninja позволяет значительно сократить время выполнения служебных операций в процессе пересборки.

    Дополнительно в Ninja была добавлена поддержка некоторых новых возможностей, например:

    • Буферизация вывода всех параллельно выполняемых команд, что позволило более точно ассоциировать ошибку с вызвавшей её командой, без смешивания с выводом от других процессов;
    • Правило может ссылаться на дополнительную информацию о разрешении неявных зависимостей, что позволяет, например, обеспечить корректный учет зависимостей заголовочных файлов;
    • Процесс сборки может приводить к созданию сразу нескольких целевых файлов;
    • Формирование целевого файла косвенно зависит от формирующей его командной строки, т.е. изменение опций компилятора приводит к пересборке соответствующих файлов;
    • Директории для помещения результатов сборки создаются до выполнения связанных с ними правил;
    • При выполнении правил могут использоваться краткие описания выполняемых команд, например, "CC foo.o" вместо длинной командной строки.
     
    ----* crosstool - building and Testing gcc/glibc cross toolchains [+]
    [обсудить]
     Инструмент для проверки сборки приложения при его кросс-компиляции на множество поддерживаемых в Linux платформ, в связке с разными версиями gcc, glibc, binutils и ядра. Позволяет выявить в каких комбинациях имеются проблемы при сборке приложений. Использование данной утилиты особенно актуально для разработчиков приложений для встраиваемых платформ.
     
    ----* GNU Make [+]
    [обсудить]
     Альтернативные системы для сборки проекта:
  • AT&T NMake, Jam, Cook, The GNU build system (autoconf, automake и т.д.), iffe, dist, CMake, qmake, tmake, Apache Ant, SCons.
  •  
    ----* APR - Apache Portable Runtime [+]
    [обсудить]
     Набор библиотек и утилит, предоставляющий единый платформонезависимый API. Используется в apache 2, subversion и т.д.
     
    ----* SCons - Open Source software construction tool (Версия: 2.0.1 от 2010-08-21) [+]
    [обсудить]
     Утилита для сборки проекта. Позиционируется как замена make, со встроенными средствами похожими на функциональность automake, autoconf и ccache. Написана на Python.
     
    ----* Konstruct - KDE build system (Версия: 20070709 от 2007-07-10) [+]
    [обсудить]
     Система для автоматизации процесса сборки и обновления KDE из исходных текстов, весь процесс - от выкачивания нужных исходных текстов и патчей, проверки целостности и зависимостей, до конечной установки, инициируется командой "cd meta/kde;make install". Konstruct пригоден также для сборки дополнительных приложений, таких как KOffice или KDevelop.
  • Утилита подобного назначения для сборки и обновления GNOME - GARNOME.
  •  
    ----* A-A-P Project [+]
    [обсудить]
     Система для создания сценариев сборки проектов - Aap (в проект также входит Agide - GUI для сборки и отладки проектов).

    В отличии от стандартной утилиты "make", Aap содержит встроенные средства для доступа к файлу по сети (включая использование CVS), поддерживает автоматический контроль зависимостей, применяется использование контрольных сумм для определения факта модификации (а не полагаясь на сравнение времени последнего изменения файла), объектные файлы создаются в отдельной директории, ведется детальный лог файл, в сценарий можно включать блоки кода на языке python (сам Aap написан на python).

     
    ----* CMake - cross-platform, open-source make system (Версия: 2.6.0 от 2008-05-17) [+]
    [обсудить]
     Система обеспечивающая кросс-платформенную сборку программ из исходных текстов, в результате генерируется make файл описывающий особенности системы. Аналог Autoconf и Automake
     
    ----* MakeMake.pl -- makefiles creating utility [+]
    [обсудить]
     Утилита для автоматизации процесса создания Make файлов. Структура собираемого проекта вначале описывается в файле конфигурации, после этого на основания обобщенных данных строится рабочий MakeFile.
     
    ----* autodep - automatates Makefile generator [+]
    [обсудить]
     Программа для автоматической генерации make файлов.
     
    ----* autoconf - packages to adapt software to many kinds of UNIX-like systems (Версия: 2.69 от 2012-04-27) [+]
    [обсудить]
     Система генерирования скриптов автоматической адаптации вашего приложения для работы под различными платформами и проверки необходимых для работы программы компонентов. Доступна документация.
  • PMK (Pre Make Kit) - альтернативный пакет для замены autoconf (безопаснее, быстрее, проще).
  • buildtool - замена Autoconf, Automake, Libtool.
  •  

       Среда для разработки
    Визуальные средства разработки

    !!!-* KDevelop - easy to use C/C++ IDE (Integrated Development Enviroment) for Unix. (Версия: 4.5.0 от 2013-04-28) [+]
    [есть мнение]
     Одна из лучших бесплатных сред разработки C/C++ приложений под UNIX. Включает в себя менеджер проектов, визуальный редактор QT диалогов, средства работы с классами, встроенный отладчик, мощный текстовый редактор, визуальные средства проектирования и т.д.
     
    ----* CodeLite - open-source, cross platform C/C++ IDE (Версия: 2.7 от 2010-10-13) [+]
    [обсудить]
     Кроссплатформенная интегрированная среда для разработки приложений на языках C/C++, написанная с использованием wxWidgets и распространяющаяся под лицензией GPLv2.

    Основные возможности CodeLite:

    • Поддержка SVN, интеграция с программами для поиска cscope и тестовым фреймворком UnitTest++;
    • Автодополнение кода, рефакторинг, подсветка синтаксиса для C/C++, XML, Makefile, Diff file и других языков;
    • Встроенная система генерации документации Doxygen;
    • Импорт проектов из Visual Studio;
    • Поддержка отладчика GDB;
    • Автогенерация make-файлов, возможность использования системы сборки qmake;
    • Встроенная система статического анализа С/C++ кода CppCheck.
     
    ----* QDevelop - development environment entirely dedicated to Qt4. [+]
    [обсудить]
     Среда для разработки приложений использующих библиотеку Qt4 (не путать с KDevelop).
     
    ----* PyDev - Eclipse plugin for Python and Jython development [+]
    [обсудить]
     Среда разработки на языке Pyhton созданная на базе платформы Eclipse.
    Другие IDE для Python:
     
    ----* EPIC - open source Perl IDE based on the Eclipse platform (Версия: 0.5.33 от 2007-04-08) [+]
    [обсудить]
     Интегрированная среда разработки на языке Perl построенная на базе платформы Eclipse.
     
    ----* BVRDE - Integrated Development Environment (IDE) for C and C++ [+]
    [обсудить]
     Интегрированная среда разработки под Windows для удаленной сборки и отладки Linux/Unix приложений. Все манипуляции с проектом осуществляются на удаленной машине через SSH.
     
    ----* jEdit - mature and well-designed programmer's text editor [+]
    [обсудить]
     Мультиплатформенный текстовый редактор для программистов, написанный на Java и распространяемый под лицензией GPL. Из возможностей можно отметить наличие интерфейса плагинов и мощные средства создания макросов, подсветка синтаксиса для 130 типов файлов, поддержка работы с различными кодировками текста.
     
    ----* OpenLDev - graphical front-end to various Linux development tools (Версия: 0.6.0 от 2006-04-27) [+]
    [обсудить]
     Интегрированная среда разработчика, написанная с использованием библиотеки Gtk+, служащая надстройкой над такими инструментами разработки на Си и Си++, как gcc, autotools и make. В будущем планируется добавление функций контроля версий (CVS, Subversion) и отладчика.
     
    ----* php_review - PHP Editor Review [+]
    [есть мнение]
     Обзор и рейтинг существующих редакторов, ориентированных на создание PHP скриптов.
     
    ----* Quanta Plus - highly stable and feature rich web development environment. (Версия: 3.5.9 от 2008-02-27) [+]
    [обсудить]
     Редактор для web-разработчика, ориентированный на подготовку HTML страниц, скриптов, а также основанных на SGML или XML документов, например, DocBook. Имеются функции динамического просмотра результатов работы (preview), управления проектом и версиями, присутствует система подсказки и автодополнения тэгов.
     
    ----* NEdit - multi-purpose text editor for the X Window System [+]
    [обсудить]
     Многооконный текстовый редактор для разработчиков, избегающих использования vi или Emacs. Поддерживает ctags, подсветку синтаксиса многих языков программирования, автоотступы, сдвиг блоков текста, автопереход на строки на которых на этапе компиляции/выполнения произошла ошибка, Не использует библиотеки gnome или qt.
     
    ----* EPIC - Perl IDE (Версия: 0.5.33 от 2007-04-09) [+]
    [обсудить]
     Дополнение к Eclipse для реализации полноценного средства для ведения разработки на Perl. Включает в себя редактор, отладчик и RegExp-плагин.
     
    ----* Eclipse - open extensible IDE for anything (Версия: 1.1.2 от 2004-12-30) [+]
    [обсудить]
     Универсальная открытая платформа для построения интегрированного окружения (IDE) для разработки на разнообразных языках программирования. В первую очередь Eclipse - это замечательное окружение для программирования на Java/Си/Си++, но так же присутствуют дополнения для разработчиков на других языках.
  • Обзор Eclipse на русском языке;
  • Epic - плагин для Perl программистов;
  • PyEclipse - для Python;
  • phpeclipse - для PHP, HTML, SQL;
  • rubyeclipse - для Ruby.
  •  
    ----* A-A-P Project [+]
    [обсудить]
     Система для создания сценариев сборки проектов - Aap (в проект также входит Agide - GUI для сборки и отладки проектов).

    В отличии от стандартной утилиты "make", Aap содержит встроенные средства для доступа к файлу по сети (включая использование CVS), поддерживает автоматический контроль зависимостей, применяется использование контрольных сумм для определения факта модификации (а не полагаясь на сравнение времени последнего изменения файла), объектные файлы создаются в отдельной директории, ведется детальный лог файл, в сценарий можно включать блоки кода на языке python (сам Aap написан на python).

     
    ----* ECB - Emacs Code Browser (Версия: 2.32 от 2007-02-21) [+]
    [обсудить]
     Интегрированная среда разработчика на базе GNU Emacs.
     
    ----* KBabel - editing and managing PO files created by gettext. [+]
    [обсудить]
     Среда для редактирования "PO" файлов, для создания многоязыкового интерфейса с помощью gettext.
     
    ----* ScanDoc - scans C++ source code and produces documentation [+]
    [обсудить]
     Программа позволяет просканировать исходники на C++ и построить основываясь на комментариях внутри исходников проиндексированную документацию для функций и блоков сканируемой программы.
     
    ----* Anjuta - Integrated Development Environment (IDE) for C and C++ (Версия: 1.2.2 от 2004-04-14) [+]
    [обсудить]
     Графическая среда разработки приложений на C/C++, особенно хорошо подходит для разработки графических программ. Главные достоинства - это наличие менеджера ведения проекта, "application wizards" (визарды для Glade, wxWindow и т.д.), встроенный отладчик, удобный редактор исходных кодов с подсветкой синтаксиса.
     
    ----* Double Choco Latte - provides basic project management, work orders, and call center tickets (Версия: 0.9.4.4 от 2005-03-28) [+]
    [обсудить]
     Система на PHP для управления совместной разработкой проекта, взаимодействия с клиентами, ведения траблтикетов, распределения работ и т.д.
     
    ----* Glimmer (CodeCommander) - all-purpose programmer's editor [+]
    [обсудить]
     Многооконная система редактирования исходных текстов программ. Подцветка синтаксиса для 23 языков программирования.
     
    ----* RT (Request Tracker) - industrial-grade ticketing system (Версия: 2.5.2004.03.29 от 2004-03-31) [+]
    [есть мнение]
     Система ведения траблтикетов, предназначена для эффективного реагирования группой поддержки на запросы пользователей. Технология работы: пользователь посылает email (или заполняет форму) с описанием проблемы, заводится тикет, рассылаются сообщения службе поддержки, после решения проблемы тикет закрывается. Для хранения данных используется SQL сервер (MySQL, PostgreSQL, SQLite и т.д.). Web-интерфейс обеспечивает поиск тикетов, управление пользователями, интерфейсы для администраторов и клиентов, историю тикетов, поиск, разбивка тикетов на категории и т.д. Хорошая поддержка русского языка.

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

  • request-tracker.ru - сайт для русскоязычных пользователей системы Request Tracker.
  •  
    ----* JitterBug - web based bug tracking system [+]
    [обсудить]
     Небольшая система для управления процессом сбора сообщений об ошибках и слежением за их устранением. Первоначально JitterBug разрабатывался для поддержки bug-tracking'а проекта Samba (сейчас систему использует в проектах Gnome, gimp, rsync, proftpd и т.д.). Сообщения об ошибках принимаются по email или через web-форму. В общем виде - это комбинация форума, Todo, заметок и web-интерфейса для email сообщений.
     
    ----* Motor - text mode based programming environment for Linux (Версия: 3.3.0 от 2004-07-19) [+]
    [есть мнение]
     Консольная среда разработки программ (C/CPP/Java/Perl/etc). Основными компонентами системы являются: текстовый редактор с подcветкой синтаксиса, менеджер ведения проекта, генератор makefile'ов, интерфейс к gcc и gdb, глубокая интеграция с CVS.
     
    ----* C-Forge IDE - multi-user C/C++ integrated development environment [+]
    ----* CodeCrusader - Text Editor and C/C++ development environment (Версия: 4.0.0 от 2004-02-01) [+]
    [обсудить]
     Системы для разработки приложений на языках C/C++.
     
    ----* RHIDE programmers editor Home Page (Версия: 1.5 от 2004-12-14) [+]
    [есть мнение]
     Очень хорошая IDE для программирования, очень похожа на Borland IDE. Есть встроенный отладчик (использует gdb).
     
    ----* OTRS - Open Ticket Request System (Версия: 2.4.7 от 2010-05-01) [+]
    [обсудить]
     Комплекс для создания системы траблтикетов, для управления ответами на запросы клиентов (телефонные звонки, email). Написана на Perl, поддерживает множество СУБД (MySQL, PostgreSQL и т.д.), может интегрироваться с LDAP каталогом, лицензия - GPL.
     
    ----* Source-Navigator IDE - source code analysis tool (доп. ссылка 1) [+]
    [обсудить]
     Удобная среда для разработки программ на языках C++, Java, Tcl, FORTRAN и COBOL. Присутствует система визуализации структуры и зависимостей между классами и функциями. В качетсве средства для отладки используется надстройка над gdb - Insight.
     
    ----* NetBeans - cross-platform full-featured IDE (Версия: 6.5 от 2004-04-29) [+]
    [обсудить]
     Открытая среда разработки приложений на языках программирования PHP, JavaScript, Java, C/C++, Ruby и Groovy. Пакет распространяется под лицензиями GPLv2 и CDDL. Поддерживается полный спектр возможностей, свойственных современным IDE, например, встроенный отладчик, система профилирования и сборки, подсветка синтаксиса, автодополнение и аннотирование кода,
     

       Визуальные средства разработки

    ----* Gideon Designer - innovative GTK+ GUI building tool (Версия: 2.8.0 от 2006-08-19) [+]
    [обсудить]
     Среда разработки GUI приложений (GUI designer) построенных на базе библиотеки GTK+. Позиционируется как средство для быстрой разработки приложений (RAD), поддерживает визуальный режим проектирования диалогов и различных элементов интерфейса. Может использоваться не только как отдельное приложение, но и как плагин для существующих IDE.
     
    ----* Glom - design the database and the user interface (Версия: 1.0.0 от 2006-03-30) [+]
    [обсудить]
     Визуальный инструмент для разработки структуры базы, расстановки связей и зависимостей, и создания пользовательского интерфейса для манипулирования данными. В качестве СУБД используется PostgreSQL. Скриншоты.
  • Из альтернатив Glom (системы подобные MS Access), можно отметить встроенные средства интеграции с БД в OpenOffice, Gnome-DB (скриншоты), knoda (скриншоты), Kexi (скриншоты), DBDesigner (скриншоты).
  •  
    ----* Gambas - free development environment based on a Basic (Версия: 2.23.0 от 2011-04-06) [+]
    [обсудить]
     Система визуального создания приложений на языке Basic, являющаяся аналогом MS Visual Basic под Unix. Интегрируется с БД MySQL или PostgreSQL, приложения работает под KDE.
     
    ----* Jude - A Java/UML Object-Oriented Design Tool [+]
    [обсудить]
     ПО для объектно-ориентированного анализа и моделирования с возможностью экспорта в виде Java кода. Поддерживает UML 1.4 (Unified Modeling Language).
  • uml.ru - русский ресурс по UML.
  •  
    ----* Flash 5 ioLib - open-source Flash 5 functions [+]
    [обсудить]
     Набор библиотек, отладчик и средства визуального проектирования для создания Flash роликов.
     
    ----* LXRAD - Linux X11 Rapid Application Development, (Версия: 0.6 от 2010-07-10) [+]
    [обсудить]
     Система для визуальной разработки X11 приложений, используется библиотека liblxrad.
     
    ----* PyQt - comprehensive set of Python bindings for the Qt GUI toolkit. (Версия: 5.3 от 2014-05-29) [+]
    [есть мнение]
     Тулкит позволяющий писать Python программы используя возможности предоставляемые библиотекой QT.
     
    ----* VisualTcl - визуальное создание Tcl/Tk программ. [+]
    [есть мнение]
     
    ----* wxDesigner - средство для проектирования диалогов для wxWindows (Версия: 2.11 от 2005-01-11) [+]
    [обсудить]
     
    ----* QtArchitect - versitile screen architect for the Qt widget set [+]
    ----* QtEZ - GUI application builder which utilizes the Qt2 Toolkit [+]
    ----* QT Designer - full-fledged GUI builder (входит в комплект поставки QT) (Версия: 5.1 от 2013-09-17) [+]
    [обсудить]
     Инструменты для визуального создания QT приложений.
     
    ----* PerlQT - Perl Object Oriented interface to the Qt GUI Toolkit [+]
    [обсудить]
     RAD среда для разработки Perl скриптов использующих QT для построения пользовательского интерфейса.
     
    ----* Glade - free user interface builder for GTK+ and GNOME (Версия: 3.6.7 от 2009-07-03) [+]
    [обсудить]
     Система для создания интерфейса пользователя в визуальном режиме, для GNOME/GTK+. В качестве внутреннего формата хранения проекта выступает XML, на выходе может быть код на Си, или при использовании внешних модулей на C++, Ada95, Python или Perl.
     
    ----* ZMECH - Fully integrated state machine CASE tool [+]
    [обсудить]
     Система для визуального CASE проектирования.
     
    ----* PerlComposer (Visual Perl) - two-way visual tool used to design graphics interface for Perl/GTK [+]
    [обсудить]
     Система визуального программирования на языке perl для разработки приложений для библиотеки perl/GTK.
     
    ----* FreeBuilder - free visual Java IDE [+]
    [обсудить]
     
    ----* GNUe (GNU Enterprise Designer) - Rapid Application Development tool for GNU Enterprise [+]
    [обсудить]
     

       Управление версиями ПО

    ----* git-signatures - дополнение к Git для заверения коммитов несколькими подписями [+]
    [обсудить]
     Дополнение к git, позволяющее привязывать к коммиту и тегу сразу несколько цифровых подписей. Например, свои цифровые подписи могут дополнительно прикреплять участники, занимавшиеся рецензированием кода, или ответственные за выпуск релизов.
     
    ----* Dulwich - pure-Python implementation of the Git file formats and protocols. (Версия: 0.8.3 от 2012-06-13) [+]
    [обсудить]
     Реализация поддержки форматов и протоколов Git на чистом Python. Позволяет создавать web-фронтэнды к Git-репозиторям, не требующие вызова внешних команд Git и работающие с данными репозиториями напрямую. Для сравнения модуль GitPython является лишь обвязкой вокруг стандартных утилит git. На базе Dulwich организована поддержка git в системе Google Code.
     
    ----* Bazaar - distributed version control system [+]
    [обсудить]
     Распределенная система управления версиями разработанная в рамках проекта Ubuntu Linux. Система полностью децентрализованная, предназначена для управления исходными текстами больших открытых проектов, в разработку которых включены тысячи людей. Bazaar VCS написана на языке Python, командный интерфейс очень похож на CVS и Subversion. В настоящее время доступно 20 дополнительных плагинов, расширяющих возможности системы. Bazaar сервер реализован в виде обычного web-приложения.
     
    ----* KDiff3 - visual compares or merges two or three text input files or directories [+]
    [обсудить]
     Удобная GUI утилита для наглядного сравнения или объединения двух или трех файлов.

    Другие утилиты для визуального сравнения файлов:

  • Kompare (отличное ПО на базе KDE/Qt)
  • meld
  • xxdiff
  • TkDiff
  • vimdiff
  • ediff (Emacs)
  •  
    ----* RapidSVN (Версия: 0.12 от 2009-10-21) [+]
    [обсудить]
     RapidSVN - кросс-платформенная графическая оболочка пользователя для Subversion, написанная на C++ с использованием графической библиотеки wxWidgets. Проект также содержит Subversion client C++ API. Поддерживаются все те же платформы, что и Subversion с wxWidgets: Linux, Windows, Mac OS/X, Solaris и т.д.
     
    ----* cvsFS - presents the CVS contents as mountable file system [+]
    [обсудить]
     Файловая система (используется FUSE) для представления CVS репозитория в виде иерархической файловой системы под Linux.
     
    ----* Mercurial - fast, lightweight Source Control Management system (Версия: 2.0 от 2011-11-04) [+]
    [обсудить]
     Система управления исходными текстами и патчами для больших распределенных проектов. Mercurial может выступать как альтернатива git.

    Краткая характеристика Mercurial:

    • Высокое быстродействие.
      • Экстремально высокая производительность работы с хранилищем, не зависящая от числа элементом в нем (O(1) revlog). Изменения сохраняются в бинарном и сжатом виде.
      • Система оптимизирована для эффективной работы с данными на жестком диске;
      • Все изменения и файлы в репозитории дополнительно проиндексированы
      • Для копирования данных по сети используется HTTP и SSH sync, данные передаются в сжатом виде.
    • Масштабирование
      • Распределенная модель разработки позволяет участвовать в проекте неограниченному числу разработчиков;
      • Допускается произвольное слияние отдельных децентрализованных репозиториев, поддерживаемых отдельными разработчиками;
      • Объем репозитория, число файлов и зафиксированных изменений не отражается отрицательно на производительности;
      • При работе нет необходимости ждать освобождения блокировки.
    • Надежность.
      • Для контроля целостности данных в репозитории используется SHA1;
      • Хранилище реализовано в журнальном виде, когда данные не замещаются, а добавляются. Ведется журнал транзакций;
      • Быстрый алгоритм проверки целостности репозитория;
      • Встроенные средства резервного копирования.
    • Удобство использования.
      • Большинство команд привычны для пользователей CVS
      • Наличие встроенной системы подсказки.
      • Интегрированный Web-интерфейс;
      • Большой выбор GUI интерфейсов.
    • Легкость внедрения:
      • Поддержка платформ UNIX, MacOS X и Windows;
      • Средства упрощающие миграцию с других систем управления исходными текстами;
      • Поддержка нескольких моделей организации: централизованная cvs-подобная, распределенная полу-иерархическая и иерархическая децентрализованная
      • Поддержка внешних обработчиков и дополнений.

    Mercurial был выбран для управления исходными текстами в таких проектах, как OpenSolaris, NetBeans, OpenJDK, ALSA, Mozilla, Xen, Xine.

     
    ----* GIT - Fast Version Control System (Версия: 0.2 от 2009-10-30) [+]
    [обсудить]
     Распределенная система контроля версий. Используется при разработке Linux ядра, Wine, X.org, Ruby on Rails и других крупных проектов, в которых принимают участие большое число разработчиков. GIT отличается высокой производительностью, легкостью создания локальных веток и слияния их с основным проектом. В качестве транспотра может быть использован HTTP, FTP, SSH, rsync или собственный TCP-сервер. Для взаимодействия с Subversion репозиториями доступна утилита git-svn.
  • cogito - дружественный пользователю интерфейс для GIT.
  • gitcasts.com - скринкасты с примерами использования Git
  •  
    ----* CVSync - portable CVS repository synchronization utility [+]
    [обсудить]
     Утилита для поддержания нескольких CVS репозитариев в синхронизированном виде. Может использоваться как аналог CVSup.
     
    ----* CVSAnalY - analysis tool for your CVS and Subversion repository (Версия: 0.9.2 от 2005-05-02) [+]
    [обсудить]
     Извлекает информацию из логов CVS и Subversion хранилищ, и затем преобразует ее в SQL формат для последующего анализа. Имеется возможность построения графиков.
     
    ----* monotone - free distributed version control system. (Версия: 1.0 от 2011-03-27) [+]
    [обсудить]
     Распределенная система контроля версий, написанная на языке C++ и распространяемая в рамках лицензии GPL. Позволяет организовать работу с набором обособленных репозиториев (каждый разработчик работает со своим локальным репозиторием), объединить в единое целое которые помогает эффективный P2P-протокол синхронизации. Для обеспечения надежности и целостности данных используются криптографические методы контроля (SHA-1 для хеширования ревизий и RSA для аутентификации), при этом репозиторий с мета-данными и информацией об изменениях хранится в SQLite-базе, отдельно от рабочего дерева исходных текстов. Monotone поддерживает чувствительные к истории изменений слияния веток, легкие ответвления, интеграцию средств для рецензирования кода и возможность подключения сторонних тестовых комплектов.

    В 2005 году Линус Торвальдс рассматривал monotone в качестве одного из вариантов замены BitKeeper, а впоследствии некоторые идеи monotone были реализованы в Git.

     
    ----* Arch - fancy revision control system, with lots of powerful features. [+]
    [обсудить]
     Стабильная распределенная система контроля версий, выросшая из набора shell скриптов (как и CVS). Поддерживает объединение ветвей и переименование файлов/директорий.
     
    ----* OpenCVS - FREE implementation of the Concurrent Versions System, [+]
    [обсудить]
     Инициатива проекта OpenBSD по созданию защищенной реализации CVS, с поддержкой гибкой системы контроля доступа к репозиторию.
     
    ----* cvs-syncmail - CVS notification tool [+]
    [обсудить]
     Утилита для организации ежедневной рассылки изменений (в diff формате) файлов проекта поддерживаемого через CVS.
     
    ----* svk - decentralized version control system written in Perl (Версия: 2.0.2 от 2007-08-08) [+]
    [обсудить]
     Система управления версиями на Perl, написанная с использованием библиотеки fs от subversion, и предназначенная для ведения версий в децентрализованном проекте, в котором присутствуют люди как уже использующие разные системы контроля версий, так и не использующие. Например, прекрасно подходит для контроля версий документов, имеющих представления на нескольких языках.
     
    ----* rdiff-backup - remote incremental backup (Версия: 1.2.7 от 2009-03-05) [+]
    [обсудить]
     Утилита выполняющая функции зеркалирования файлов с одной машины на другую с сохранением всех изменений в отдельной директории. Удобно использовать для организации бэкапа исходных текстов. Сохраняются diff'ы, что позволяет откатится на любой уровень ниже. Утилита написана на языке Python, для обмена данными задействована библиотека librsync.
     
    ----* Bugzilla - Bug Tracking System (Версия: 3.6 от 2010-04-18) [+]
    [обсудить]
     Система (web-интерфейс) для организации процесса приема сведений об ошибках и контроля их исправления. Bugzilla написана на perl и использует внешнюю СУБД (MySQL, PostgreSQL и т.д.) для хранения данных.
     
    ----* Subversion - version control system (Версия: 1.6.6 от 2009-10-23) [+]
    [есть мнение]
     Система контроля версий программ, спозиционированная как замена CVS для Open Source разработчиков.
  • svk - надстройка над Subversion на Perl, расширяющая возможности, например, контроль версий для директорий и возможность распределенного хранения репозитория.
  • eSvn - Основанный на библиотеке QT графический клиент к subversion.
  • subcommander - хороший многоплатформенный GUI для Subversion;
  • GUI интерфейсы - TortoiseSVN и RapidSVN;
  • Достоинства: поддержка почти всех функций CVS, устранение главных недостатков CVS (см. запись про CVS);
  • Недостатки: относительно большая ресурсоемкость, проблемы с объединением ветвей, сервер на базе HTTP.
  • cvs2svn - утилита для преобразования CVS репозитория в Subversion;
  •  
    ----* OpenCM - secure, high-integrity replacement for CVS [+]
    [обсудить]
     Пакет контроля версий для проектов ведомых группой разработчиков. OpenCM менее функционален чем CVS, но поддерживает все базовые, наиболее часто используемые, возможности. Плюсы: имеет отличную систему разграничения доступа, поддерживает шифрование передаваемых данный, имеет встроенные средства контроля целостности, поддерживает переименование и атомарное изменение репозитория.
     
    ----* CVSWeb - Web и FTP доступ к CVS (Версия: 3.0.6 от 2005-09-27) [+]
    [обсудить]
     
  • CVSWeb и CVSWebClient - позволяет организовать доступ к CVS репозиторию через Web-интерфейс.
  • SandWeb продолжение идеи CVSWeb и CVSWebClient, находится на ранней стадии разработки.
  • jCVS Servlet просмотр и скачивание исходных текстов через WEB.
  • CVSviaFTP - автоматическое размещение CVS обновлений на FTP.
  • Cvsplot - скрипт для рисования графика динамики развития проекта.
  • CVSSearch - поиск в CVS репозитории по ключевым словам.
  •  
    ----* Графические интерфейсы для CVS (Версия: 1.11.23 от 2008-05-13) [+]
    [обсудить]
     
  • Cervisia - GPL графический CVS фронтэнд под Linux/Unix (используются библиотеки QT и KDE).
  • gCVS GPL графический клиент под Linux, Unix, Windows (WinCVS) и Macintosh (MacCVS).
  • jCVS - CVS client на Java.
  • LinCVS QT-based CVS-клиент.
  • tkCVS - CVS клиент на Tcl/Tk.
  • PCL-CVS и VC - интеграция с Emacs.
  •  
    ----* cvs2cl - generates GNU-style ChangeLogs for a CVS working copy [+]
    [обсудить]
     Скрипт для преобразования результата выполнения команды "cvs log" в отформатированный в соответствии с GNU-style файл ChangeLog. Автоматически производится исключение дублирующихся записей и включение изменений для всех каталогов проекта. В качестве альтернативы для автоматического создания ChangeLogs файла можно использовать программу rcs2log поставляемую в комплекте CVS.
     
    ----* CVS-nserver - almost complete rewrite of network-related CVS code [+]
    [обсудить]
     Почти полностью переписанная сетевая подсистема CVS. Код авторизации, аутентификации вынесен в отдельный модуль. Добавлена поддержка виртуальных репозиторием и пользователей в них.
     
    ----* Cervisia - KDE graphical frontend for the CVS client (Версия: 2.2 от 2004-09-10) [+]
    ----* LinCVS - easy-to-use, graphical frontend for the CVS-client (Версия: 1.8.1 от 2005-12-24) [+]
    [обсудить]
     Графические оболочки для CVS.
     
    ----* cvsd - configurable chroot/suid wrapper for running a CVS pserver more securely (Версия: 1.0.23 от 2012-03-05) [+]
    [обсудить]
     Программа враппер для "pserver" режима работы CVS (cvs pserver запускается в chroot окружении под другим uid). Позволяет создавать пользователей с разными значениями CVSROOT. Запускается из под inetd.
     
    ----* cvsadmin - program to administrate users of a CVS repository  (доп. ссылка 1) [+]
    [обсудить]
     Графическая среда для манипуляции над пользователями CVS репозитория (добавление пользователей, удаление, изменение пароля, изменение параметров и т.д.).
     
    ----* SnapSource - periodically takes snap shots of your project source codes (Версия: 0.17 от 2002-02-21) [+]
    [обсудить]
     Две простые и очень полезные утилиты. snapsource - производит периодический инкрементальный бэкап (snapshot) исходных кодов вашего проекта, snapview - позволяет отследить изменения между созданными snapshot'ами (отображаются две панели со старой и новой версией кода, изменения отмечены разными цветами).
     
    ----* TkCVS - Tcl/Tk-based graphical interface to the CVS configuration management system (Версия: 8.2.3 от 2011-11-30) [+]
    [обсудить]
     Отображает статус модулей в репозитории и файлов в рабочей директории, предоставляет графический интерфейс для манипуляциями с основными командами CVS. В комплект входит утилита TkDiff - интерфейс для внесения изменений и слежения за ними.
     
    ----* PTS - Project Tracking System [+]
    ----* Frontdesk groupware application for customer support and bug tracking [+]
    ----* gnats - Gnu Problem Report Managment System (Версия: 4.1.0 от 2005-03-08) [+]
    [обсудить]
     Средства контроля по устранению проблем.
     
    ----* PRCS - the Project Revision Control System [+]
    [обсудить]
     Более простая, чем SCCS, RCS или CVS, система управления версиями программного обеспечения.
     
    ----* CVS - Concurrent Version System. (Версия: 1.11.23 от 2008-05-12) [+]
    [обсудить]
     Классическая система управления версиями программного обеспечения. Имеется обычный и WEBbased интерфейс.
  • OpenCVS - инициатива проекта OpenBSD по созданию защищенной реализации CVS, с поддержкой гибкой системы контроля доступа к репозиторию.
  • Главные недостатки: нет прямых средств для переименование файлов и директорий, неэффективное хранение бинарных файлов, не атомарные commit'ы.
  •  
    ----* Aegis - a project change supervisor (Версия: 4.24 от 2008-03-11) [+]
    [обсудить]
     Система координирования и синхронизации исходников, при групповой разработке проекта. Имеются средства для контроля за качеством кода.
     



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру