self contained rdbms
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3528
Class::Container 0.12
Class::Container is a Perl module with Glues object frameworks together transparently. more>>
Class::Container is a Perl module with Glues object frameworks together transparently.
SYNOPSIS
package Car;
use Class::Container;
@ISA = qw(Class::Container);
__PACKAGE__->valid_params
(
paint => {default => burgundy},
style => {default => coupe},
windshield => {isa => Glass},
radio => {isa => Audio::Device},
);
__PACKAGE__->contained_objects
(
windshield => Glass::Shatterproof,
wheel => { class => Vehicle::Wheel,
delayed => 1 },
radio => Audio::MP3,
);
sub new {
my $package = shift;
# windshield and radio objects are created automatically by
# SUPER::new()
my $self = $package->SUPER::new(@_);
$self->{right_wheel} = $self->create_delayed_object(wheel);
... do any more initialization here ...
return $self;
}
This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.
The main features of Class::Container are:
Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently
<<lessSYNOPSIS
package Car;
use Class::Container;
@ISA = qw(Class::Container);
__PACKAGE__->valid_params
(
paint => {default => burgundy},
style => {default => coupe},
windshield => {isa => Glass},
radio => {isa => Audio::Device},
);
__PACKAGE__->contained_objects
(
windshield => Glass::Shatterproof,
wheel => { class => Vehicle::Wheel,
delayed => 1 },
radio => Audio::MP3,
);
sub new {
my $package = shift;
# windshield and radio objects are created automatically by
# SUPER::new()
my $self = $package->SUPER::new(@_);
$self->{right_wheel} = $self->create_delayed_object(wheel);
... do any more initialization here ...
return $self;
}
This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.
The main features of Class::Container are:
Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently
Download (0.019MB)
Added: 2006-10-06 License: Perl Artistic License Price:
1113 downloads
Class::Accessor::Fast::Contained 0.05
Class::Accessor::Fast::Contained is a Perl module for fast accessors with data containment. more>>
Class::Accessor::Fast::Contained is a Perl module for fast accessors with data containment.
SYNOPSIS
package Foo;
use base qw(Class::Accessor::Fast::Contained);
# The rest is the same as Class::Accessor::Fast
This module does two things differently to the venerable Class::Accessor::Fast :
Fields are stored at arms-length within a single hash value of $self, rather than directly in the $self blessed referent.
new() allows mixin into an existing object, rather than creating and returning a new blessed hashref. To do this, just call something like:
my $self = Some::Other::Class->new;
$self = $self->Class::Accessor::Fast::Contained::new;
Note that the mixin code only supports objects which use a blessed hash reference or a blessed typeglob reference.
An alias setup() is available which does the same as new() but might make more sense if being used in this way.
<<lessSYNOPSIS
package Foo;
use base qw(Class::Accessor::Fast::Contained);
# The rest is the same as Class::Accessor::Fast
This module does two things differently to the venerable Class::Accessor::Fast :
Fields are stored at arms-length within a single hash value of $self, rather than directly in the $self blessed referent.
new() allows mixin into an existing object, rather than creating and returning a new blessed hashref. To do this, just call something like:
my $self = Some::Other::Class->new;
$self = $self->Class::Accessor::Fast::Contained::new;
Note that the mixin code only supports objects which use a blessed hash reference or a blessed typeglob reference.
An alias setup() is available which does the same as new() but might make more sense if being used in this way.
Download (0.005MB)
Added: 2007-03-15 License: GPL (GNU General Public License) Price:
953 downloads
Typhoon RDBMS 1.11.0
Typhoon RDBMS is a library and a set of tools for database management. more>>
Typhoon RDBMS is a library and a set of tools for database management. Typhoon RDBMS has a data definition language (DDL) which lets the programmer define tables and relations. A special tool converts the DDL specification into a database description file which then tells the database how to build the tables and access the data.
The tool also outputs a C header file that contains things like declarations representing records and integer constants representing various elements. Tools are provided to export tables to structured text form and import back, which provides a way to extend tables and to migrate data from platform to platform.
Applications use the database via a C programming interface provided by the library portion of Typhoon. Package includes an ASCII reference manual and a set of man pages for the API functions.
<<lessThe tool also outputs a C header file that contains things like declarations representing records and integer constants representing various elements. Tools are provided to export tables to structured text form and import back, which provides a way to extend tables and to migrate data from platform to platform.
Applications use the database via a C programming interface provided by the library portion of Typhoon. Package includes an ASCII reference manual and a set of man pages for the API functions.
Download (0.10MB)
Added: 2006-08-22 License: BSD License Price:
1164 downloads
DBIx::EnumConstraints 0.01
DBIx::EnumConstraints is a Perl module that generates enum-like SQL constraints. more>>
DBIx::EnumConstraints is a Perl module that generates enum-like SQL constraints.
SYNOPSIS
use DBIx::EnumConstraints;
my $ec = DBIx::EnumConstraints->new({
name => kind, fields => [ [ k1, a, b ]
, [ k2, b ] ]
});
# get enum field definition
my $edef = $ec->enum_definition;
# $edef is now kind smallint not null check (kind > 0 and kind < 2)
# get constraints array
my @cons = $ec->constraints;
# @cons is now (
# constraint k1_has_a check (kind 1 or a is not null)
# , constraint k1_has_b check (kind 1 or a is not null)
# , constraint k2_has_b check (kind 2 or b is not null)
# , constraint k2_has_no_a check (kind 2 or a is null))
This module generates SQL statements for enforcing enum semantics on the database columns.
Enum columns is the column which can get one of 1 .. k values. For each of those values there are other columns which should or should not be null.
For example in the SYNOPSIS above, when kind column is 1 the row should have both of a and b columns not null. When kind column is 2 the row should have a but no b columns.
CONSTRUCTORS
$class->new($args)
$args should be HASH reference containing the following parameters:
name
The name of the enum.
fields
Array of arrays describing fields dependent on the enum. Each row is index is the possible value of enum minus 1 (e.g. row number 1 is for enum value 2).
First item in the array is the state name. The rest of the items are field names. There is a possibility to mark optional fields by using trailing ? (e.g. b? denotes an optional b field.
METHODS
$self->enum_definition
Returns the definition of enum column. See SYNOPSIS for example.
$self->for_each_kind($callback)
Runs $callback over registered enum states. For each state passes state name, fields which are in the state and fields which are out of the state.
The fields are passed as ARRAY references.
$self->constraints
Returns the list of generated constraints. See SYNOPSIS above for an example.
<<lessSYNOPSIS
use DBIx::EnumConstraints;
my $ec = DBIx::EnumConstraints->new({
name => kind, fields => [ [ k1, a, b ]
, [ k2, b ] ]
});
# get enum field definition
my $edef = $ec->enum_definition;
# $edef is now kind smallint not null check (kind > 0 and kind < 2)
# get constraints array
my @cons = $ec->constraints;
# @cons is now (
# constraint k1_has_a check (kind 1 or a is not null)
# , constraint k1_has_b check (kind 1 or a is not null)
# , constraint k2_has_b check (kind 2 or b is not null)
# , constraint k2_has_no_a check (kind 2 or a is null))
This module generates SQL statements for enforcing enum semantics on the database columns.
Enum columns is the column which can get one of 1 .. k values. For each of those values there are other columns which should or should not be null.
For example in the SYNOPSIS above, when kind column is 1 the row should have both of a and b columns not null. When kind column is 2 the row should have a but no b columns.
CONSTRUCTORS
$class->new($args)
$args should be HASH reference containing the following parameters:
name
The name of the enum.
fields
Array of arrays describing fields dependent on the enum. Each row is index is the possible value of enum minus 1 (e.g. row number 1 is for enum value 2).
First item in the array is the state name. The rest of the items are field names. There is a possibility to mark optional fields by using trailing ? (e.g. b? denotes an optional b field.
METHODS
$self->enum_definition
Returns the definition of enum column. See SYNOPSIS for example.
$self->for_each_kind($callback)
Runs $callback over registered enum states. For each state passes state name, fields which are in the state and fields which are out of the state.
The fields are passed as ARRAY references.
$self->constraints
Returns the list of generated constraints. See SYNOPSIS above for an example.
Download (0.010MB)
Added: 2007-07-24 License: Perl Artistic License Price:
822 downloads
Self-certifying File System 0.7.2
Self-certifying File System provides a secure, global network file system with decentralized control. more>>
Self-certifying File System provides a secure, global network file system with decentralized control.
SFS is a secure, global network file system with completely decentralized control. SFS lets you access your files from anywhere and share them with anyone, anywhere.
Anyone can set up an SFS server, and any user can access any server from any client.
At the same time, SFS uses strong cryptography to provide security over untrusted networks.
Thus, you can safely share files across administrative realms without involving administrators or certification authorities.
<<lessSFS is a secure, global network file system with completely decentralized control. SFS lets you access your files from anywhere and share them with anyone, anywhere.
Anyone can set up an SFS server, and any user can access any server from any client.
At the same time, SFS uses strong cryptography to provide security over untrusted networks.
Thus, you can safely share files across administrative realms without involving administrators or certification authorities.
Download (1.2MB)
Added: 2007-02-24 License: GPL (GNU General Public License) Price:
979 downloads
Asterisk::FastAGI 0.01
Asterisk::FastAGI is a Perl module for FastAGI handling. more>>
Asterisk::FastAGI is a Perl module for FastAGI handling.
SYNOPSIS
use base Asterisk::FastAGI;
sub fastagi_handler {
my $self = shift;
my $param = $self->param(foo);
my $callerid = $self->input(calleridname);
$self->agi->say_number(1000);
}
Asterisk::FastAGI provides a preforking daemon for handling FastAGI requests from Asterisk.
Read the Net::Server for more information about the logging facilities, configuration, etc.
USAGE EXAMPLE
First you need a module containing all of your AGI handlers.
package MyAGI;
use base Asterisk::FastAGI;
sub agi_handler {
my $self = shift;
$self->agi->say_number(8675309);
}
Then you simply need to have a script that runs the daemon.
#!/usr/bin/perl
use MyAGI;
MyAGI->run();
When it is run it creates a preforking daemon on port 4573. That is the default port for FastAGI. Read the Net::Server documentation on how to change this and many other options.
<<lessSYNOPSIS
use base Asterisk::FastAGI;
sub fastagi_handler {
my $self = shift;
my $param = $self->param(foo);
my $callerid = $self->input(calleridname);
$self->agi->say_number(1000);
}
Asterisk::FastAGI provides a preforking daemon for handling FastAGI requests from Asterisk.
Read the Net::Server for more information about the logging facilities, configuration, etc.
USAGE EXAMPLE
First you need a module containing all of your AGI handlers.
package MyAGI;
use base Asterisk::FastAGI;
sub agi_handler {
my $self = shift;
$self->agi->say_number(8675309);
}
Then you simply need to have a script that runs the daemon.
#!/usr/bin/perl
use MyAGI;
MyAGI->run();
When it is run it creates a preforking daemon on port 4573. That is the default port for FastAGI. Read the Net::Server documentation on how to change this and many other options.
Download (0.003MB)
Added: 2007-05-25 License: Perl Artistic License Price:
896 downloads
GFA Fractal Imager 0.1
GFA Fractal Imager is a imager which uses a simple visual construction mechanism. more>>
GFA Fractal Imager project is a imager which uses a simple visual construction mechanism.
Generalized Finite Automata (GFA) Imager is a simple Java Applet which creates fractal images using an intuitive visual representation of finite automata
Try clicking in the applet area to the right :
You may create links between quadrants and "states" by click-dragging from a quadrant to the state
Self-links between a quadrant and the state it belongs to is allowed (try self-linking all 4 quadrants of a state)
Enhancements:
- This contains the HTML and the applet class files to run stand alone.
<<lessGeneralized Finite Automata (GFA) Imager is a simple Java Applet which creates fractal images using an intuitive visual representation of finite automata
Try clicking in the applet area to the right :
You may create links between quadrants and "states" by click-dragging from a quadrant to the state
Self-links between a quadrant and the state it belongs to is allowed (try self-linking all 4 quadrants of a state)
Enhancements:
- This contains the HTML and the applet class files to run stand alone.
Download (0.014MB)
Added: 2006-12-27 License: GPL (GNU General Public License) Price:
606 downloads
SOPE Application Server 4.5.9
The SOPE package is an extensive set of frameworks. more>>
SOPE Application Server is an extensive set of frameworks (16 frameworks, ~1500 classes) which form a complete Web application server environment.
Besides the Apple WebObjects compatible appserver extended with Zope concepts, it contains a large set of reusable classes: XML processing (SAX2, DOM, XML-RPC), MIME/IMAP4 processing, LDAP connectivity, RDBMS connectivity, and iCalendar parsing.
The individual frameworks of the package can be used standalone (for example in Cocoa applications) and do not require the application server itself.
For MacOSX developers, the package includes SOPE:X, which contains special Xcode and Cocoa support for SOPE.
Enhancements:
- This release fixes a set of minor bugs.
- It improves the vCard parser, the IMAP4 client library, the MySQL adaptor, and BSD packaging.
<<lessBesides the Apple WebObjects compatible appserver extended with Zope concepts, it contains a large set of reusable classes: XML processing (SAX2, DOM, XML-RPC), MIME/IMAP4 processing, LDAP connectivity, RDBMS connectivity, and iCalendar parsing.
The individual frameworks of the package can be used standalone (for example in Cocoa applications) and do not require the application server itself.
For MacOSX developers, the package includes SOPE:X, which contains special Xcode and Cocoa support for SOPE.
Enhancements:
- This release fixes a set of minor bugs.
- It improves the vCard parser, the IMAP4 client library, the MySQL adaptor, and BSD packaging.
Download (4.0MB)
Added: 2006-08-28 License: LGPL (GNU Lesser General Public License) Price:
1152 downloads
XLRSecTool for Linux 1.0
XLRSecTool helps creating either self-signed certificates or trusted CA (Cert... more>> XLRSecTool helps creating either self-signed certificates or trusted CA (Certificate Authority).Once the certificate issued, you may sign your documents (JAR or XLR), applications, and applets (for use with SUNs JavaPlugin)The appli contains a step-by-step help to create your trusted certificate issued by Thawte or Verisign certificate authorities.<<less
Download (25.40MB)
Added: 2009-04-18 License: Freeware Price: Free
188 downloads
Volity::WinnersList 0.6.5
Volity::WinnersList is Perl class for Volity game record winners lists. more>>
Volity::WinnersList is Perl class for Volity game record winners lists.
SYNOPSIS
Heres code you might see in a Volity::Game subclass implementing a game where there is one winner and a bunch of losers, the latter of whom are all effectively tied for second place (we assume that the methods called in the first two lines are defined elsewhere):
if ($self->game_has_been_won) {
my ($winner, @losers) = $self->get_winning_seat_order;
$self->winners->add_seat_to_slot($winner, 1);
$self->winners->add_seat_to_slot(@losers, 2);
$self->end;
}
And heres what you might see in a subclass defining a score-using games where each player has a discrete ordinal place, and ties and ties are not possible (again assuming the presence of some magic methods defined somewhere else in the subclass):
if ($self->game_has_been_won) {
my @ordered_seats = $self->get_winning_seat_order;
for (my $index = 0; $index winners->add_seat_to_slot($ordered_seats[$index], $place);
}
$self->end;
}
Attached to every Volity::Game-subclass object is a WinnersList object, accessible through the game objects winners method. When a game wraps up, it should use the methods listed in this document to place the tables seats in a winning order before calling the end method. The referee will then use this information when it builds the game record to send to the Volity bookkeeper.
METHODS
slots
Accessor to the raw list of winner slots. Returns an array of anonymous arrays, each representing a single slot, in winning order: the one at index [0] is the winningest slot, and the one at [-1] is the losingest. Each of these slot-arrays contains a number of Volity::Seat objects.
add_seat_to_slot ($seat, $position)
Adds the given seat to the winners list at the given position. Note that the position is expressed in game-rank, so the first-place position is 1, not 0.
If there are already seats at the current position, the given seat will share the slot with them. As a shortcut, you can add several seats at once to the same slot by passing an arrayref of seats as the first argument.
seats_at_slot ($position)
Returns the list of seats the given position in the winners list. Note that the position is expressed in game-rank, so the first-place position is 1, not 0.
<<lessSYNOPSIS
Heres code you might see in a Volity::Game subclass implementing a game where there is one winner and a bunch of losers, the latter of whom are all effectively tied for second place (we assume that the methods called in the first two lines are defined elsewhere):
if ($self->game_has_been_won) {
my ($winner, @losers) = $self->get_winning_seat_order;
$self->winners->add_seat_to_slot($winner, 1);
$self->winners->add_seat_to_slot(@losers, 2);
$self->end;
}
And heres what you might see in a subclass defining a score-using games where each player has a discrete ordinal place, and ties and ties are not possible (again assuming the presence of some magic methods defined somewhere else in the subclass):
if ($self->game_has_been_won) {
my @ordered_seats = $self->get_winning_seat_order;
for (my $index = 0; $index winners->add_seat_to_slot($ordered_seats[$index], $place);
}
$self->end;
}
Attached to every Volity::Game-subclass object is a WinnersList object, accessible through the game objects winners method. When a game wraps up, it should use the methods listed in this document to place the tables seats in a winning order before calling the end method. The referee will then use this information when it builds the game record to send to the Volity bookkeeper.
METHODS
slots
Accessor to the raw list of winner slots. Returns an array of anonymous arrays, each representing a single slot, in winning order: the one at index [0] is the winningest slot, and the one at [-1] is the losingest. Each of these slot-arrays contains a number of Volity::Seat objects.
add_seat_to_slot ($seat, $position)
Adds the given seat to the winners list at the given position. Note that the position is expressed in game-rank, so the first-place position is 1, not 0.
If there are already seats at the current position, the given seat will share the slot with them. As a shortcut, you can add several seats at once to the same slot by passing an arrayref of seats as the first argument.
seats_at_slot ($position)
Returns the list of seats the given position in the winners list. Note that the position is expressed in game-rank, so the first-place position is 1, not 0.
Download (0.10MB)
Added: 2007-01-05 License: Perl Artistic License Price:
1022 downloads
Joomla! Content Management System JumpBox 1.0
Joomla! Content Management System JumpBox package contains includes Joomla! version 1.0.12 more>>
Joomla! Content Management System JumpBox package contains includes Joomla! version 1.0.12
Joomla! is one of the most powerful Content Management Systems in existence and is used widely around the world. Joomla! can be used to build a wide variety of web sites including: corporate web sites, small business web sites, non-profit organization web sites, school and church web sites, personal and family sites, community portals and just about any other kind of web site you can think of.
With JumpBox we’re looking to do the same for server based software. We simplify what has traditionally been complex and deliver server based Open Source applications to an audience that otherwise would be put off by the technical burdens of the old way of doing things.
An integrated software stack in a virtual appliance
A JumpBox bundles the operating system, application and all application dependancies into a single installable module that’s easily deployed using virtualization software from VMWare, Parallels or Xen
Easy to Install
A JumpBox allows you to install a complex server based application without having to know anything about Linux, databases or the command line. You just download, extract the archive and open the application with your virtualization software. Further setup and configuration is handled through a simple web interface.
Simple to manage
The JumpBox platform is pre-configured, tuned and secured to minimize the management needs of the application.
Runs anywhere
Mac OS X, Linux, Windows it doesn’t matter. Thanks to the use of virtualization, JumpBox applications run easily on all the most popular operating systems.
Painless to upgrade
With a JumpBox and the JumpBox Assurance program (launching Q2 2007), management of the system is simple and efficient. Updates to the entire software stack are handled automatically by the platform with minimal user interaction.
Quick to move
With a JumpBox all the application code, data and the runtime are bundled together into a single directory that can easily be moved between systems or even across platforms. This allows you to start using an application by just running it on your desktop. Then when you’re ready you can open it up to the rest of the network and either continue running it on your desktop or easily move it to the server at any time. It doesn’t even matter if the server is running a different operating system, with a JumpBox everything is self contained.
<<lessJoomla! is one of the most powerful Content Management Systems in existence and is used widely around the world. Joomla! can be used to build a wide variety of web sites including: corporate web sites, small business web sites, non-profit organization web sites, school and church web sites, personal and family sites, community portals and just about any other kind of web site you can think of.
With JumpBox we’re looking to do the same for server based software. We simplify what has traditionally been complex and deliver server based Open Source applications to an audience that otherwise would be put off by the technical burdens of the old way of doing things.
An integrated software stack in a virtual appliance
A JumpBox bundles the operating system, application and all application dependancies into a single installable module that’s easily deployed using virtualization software from VMWare, Parallels or Xen
Easy to Install
A JumpBox allows you to install a complex server based application without having to know anything about Linux, databases or the command line. You just download, extract the archive and open the application with your virtualization software. Further setup and configuration is handled through a simple web interface.
Simple to manage
The JumpBox platform is pre-configured, tuned and secured to minimize the management needs of the application.
Runs anywhere
Mac OS X, Linux, Windows it doesn’t matter. Thanks to the use of virtualization, JumpBox applications run easily on all the most popular operating systems.
Painless to upgrade
With a JumpBox and the JumpBox Assurance program (launching Q2 2007), management of the system is simple and efficient. Updates to the entire software stack are handled automatically by the platform with minimal user interaction.
Quick to move
With a JumpBox all the application code, data and the runtime are bundled together into a single directory that can easily be moved between systems or even across platforms. This allows you to start using an application by just running it on your desktop. Then when you’re ready you can open it up to the rest of the network and either continue running it on your desktop or easily move it to the server at any time. It doesn’t even matter if the server is running a different operating system, with a JumpBox everything is self contained.
Download (134.1MB)
Added: 2007-07-25 License: Free To Use But Restricted Price:
822 downloads
Log::Delimited 0.90
Log::Delimited is a simple module to help log results. more>>
Log::Delimited is a simple module to help log results.
SYNOPSIS
#!/usr/bin/perl -w
use strict; use Log::Delimited;
my $log = Log::Delimited->new({ log_cols => [url, step, elapsed], log_info => [http://slap.com/cgi-bin/slow_script, step 1, 99993.0923], })->log;
$log->{log_info} = [http://slap.com/cgi-bin/slow_script, step 2, 8.3240]; $log->log;
Log is sort of a dumb program that leads to sort of smart stuff.
It takes some columns (this, that, else), some data (rulz, rocks!, do something) and a delimiter (|), and makes a file that looks like this
this|that|else
my_hostname|12342|1000204952|rulz|rocksrocks%21|do+something
the first row is a join($delimiter, @column_names), the second (in a little pseudo code) forms
@data = ($hostname, $pid, time, $array_ref_of_your_passed_data)
then forms the row with join($delimiter, URLEncode(@data)). By the way, you can turn off the hostname, pid and time inclusion, but in most applications, they have come in handy. To turn them off just set which applies from below
$self->{no_hostname} = 1;
$self->{no_pid} = 1;
$self->{no_time} = 1;
To turn off Url encoding, just set
$self->{no_URLEncode} = 1;
In this document, $self is a Log::Delimited object.
The log directory is
$self->{base_dir} = "/tmp/logs"; $self->{log_dir} ||= "$self->{base_dir}/$self->{log_node}";
Log uses the last part of your script name ($0) for the log_node if you dont pass one.
The log file is
$self->{log_filename} ||= "$self->{log_dir}/$self->{log_name}";
Log uses the last part of your script name ($0) for the log_name if you dont pass one.
Since logs can get to be quite large, you can easily zip, by doing
$self->zip;
If you have a large log, where size is a bigger issue than speed you can do
$self->log_zipped;
which will result in just a zipped log file.
<<lessSYNOPSIS
#!/usr/bin/perl -w
use strict; use Log::Delimited;
my $log = Log::Delimited->new({ log_cols => [url, step, elapsed], log_info => [http://slap.com/cgi-bin/slow_script, step 1, 99993.0923], })->log;
$log->{log_info} = [http://slap.com/cgi-bin/slow_script, step 2, 8.3240]; $log->log;
Log is sort of a dumb program that leads to sort of smart stuff.
It takes some columns (this, that, else), some data (rulz, rocks!, do something) and a delimiter (|), and makes a file that looks like this
this|that|else
my_hostname|12342|1000204952|rulz|rocksrocks%21|do+something
the first row is a join($delimiter, @column_names), the second (in a little pseudo code) forms
@data = ($hostname, $pid, time, $array_ref_of_your_passed_data)
then forms the row with join($delimiter, URLEncode(@data)). By the way, you can turn off the hostname, pid and time inclusion, but in most applications, they have come in handy. To turn them off just set which applies from below
$self->{no_hostname} = 1;
$self->{no_pid} = 1;
$self->{no_time} = 1;
To turn off Url encoding, just set
$self->{no_URLEncode} = 1;
In this document, $self is a Log::Delimited object.
The log directory is
$self->{base_dir} = "/tmp/logs"; $self->{log_dir} ||= "$self->{base_dir}/$self->{log_node}";
Log uses the last part of your script name ($0) for the log_node if you dont pass one.
The log file is
$self->{log_filename} ||= "$self->{log_dir}/$self->{log_name}";
Log uses the last part of your script name ($0) for the log_name if you dont pass one.
Since logs can get to be quite large, you can easily zip, by doing
$self->zip;
If you have a large log, where size is a bigger issue than speed you can do
$self->log_zipped;
which will result in just a zipped log file.
Download (0.004MB)
Added: 2006-11-02 License: Perl Artistic License Price:
1086 downloads
EventCal 0.42
EventCal project is a calendar class that allows events to be managed and output to HTML in daily, weekly, and monthly views. more>>
EventCal project is a calendar class that allows events to be managed and output to HTML in daily, weekly, and monthly views.
Classes
class Calendar
Methods defined here:
__init__(self, language=en)
Creates an empty event list and sets the language
add(self, event)
cell(self, type=free, s=)
dayview(self, day, month=1, year=2007, smallify=False)
Generates a two-column table for the specific day with one column
holding the hours and the other holding any events
eventlist(self)
Generates an unordered list with all events listed
monthview(self, month=1, year=2007, smallify=False)
setlang(self, language)
Sets the months and week day names to the appropriate language
weekview(self, day, month=1, year=2007, smallify=False)
class Event
Events are only specific down to the hour. start and length are hours.
Methods defined here:
__cmp__(self, other)
Comparison method. Returns true if the day, month and year match
__init__(self, message, start, length, day, month, year)
__repr__(self)
Functions
am_pm(x)
Convert 24hour integer to 12hour string i.e. 13 becomes 1pm
geteventdayname(event)
interval(startHour, length)
Returns a string: startHour(am/pm) to startHour+length(am/pm). 12 noon is replaced with noon
shiftday(day)
Shifts from Sun-Sat to Mon-Sun
today(smallify=False)
weekday(day, month, year)
Returns the day of the week from 0-6 starting from Monday
Data
daynames = [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
mdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
months = [January, February, March, April, May, June, July, August, September, October, November, December
Enhancements:
- All strings were converted to use Unicode.
- Spanish translations for day and month names were added.
- __getattr__ was replaced with properties.
- String replacer body were replaced with calls to re.sub so the $ can be escaped with a backslash.
- The first week of monthview was fixed to properly replace format.
- About 20 lines of code that generated the first week in the monthview were removed.
<<lessClasses
class Calendar
Methods defined here:
__init__(self, language=en)
Creates an empty event list and sets the language
add(self, event)
cell(self, type=free, s=)
dayview(self, day, month=1, year=2007, smallify=False)
Generates a two-column table for the specific day with one column
holding the hours and the other holding any events
eventlist(self)
Generates an unordered list with all events listed
monthview(self, month=1, year=2007, smallify=False)
setlang(self, language)
Sets the months and week day names to the appropriate language
weekview(self, day, month=1, year=2007, smallify=False)
class Event
Events are only specific down to the hour. start and length are hours.
Methods defined here:
__cmp__(self, other)
Comparison method. Returns true if the day, month and year match
__init__(self, message, start, length, day, month, year)
__repr__(self)
Functions
am_pm(x)
Convert 24hour integer to 12hour string i.e. 13 becomes 1pm
geteventdayname(event)
interval(startHour, length)
Returns a string: startHour(am/pm) to startHour+length(am/pm). 12 noon is replaced with noon
shiftday(day)
Shifts from Sun-Sat to Mon-Sun
today(smallify=False)
weekday(day, month, year)
Returns the day of the week from 0-6 starting from Monday
Data
daynames = [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
mdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
months = [January, February, March, April, May, June, July, August, September, October, November, December
Enhancements:
- All strings were converted to use Unicode.
- Spanish translations for day and month names were added.
- __getattr__ was replaced with properties.
- String replacer body were replaced with calls to re.sub so the $ can be escaped with a backslash.
- The first week of monthview was fixed to properly replace format.
- About 20 lines of code that generated the first week in the monthview were removed.
Download (0.008MB)
Added: 2007-07-18 License: MIT/X Consortium License Price:
838 downloads
Catalyst::Controller::Constraints 0.10_02
Catalyst::Controller::Constraints contains Constraint Signatures for Controller Actions. more>>
Catalyst::Controller::Constraints contains Constraint Signatures for Controller Actions.
SYNOPSIS
package MyApp::Controller::Foo;
...
use base qw(Catalyst::Controller::Constraints);
__PACKAGE__->config(
constraints => {
# allow only digits for type Integer
Integer => qr/^d+$/,
# allow only word chars for type Word
Word => sub { /^w+$/ },
# validate user id and inflate to object
User => {
# check the user id
check => sub {
my ( $self, $c, $id ) = @_;
return $c->is_valid_user_id( $id );
},
# forward to this action if the validation failed
on_fail => invalid_user,
# if value is valid, run it through this filter
# afterwards
post_filter => sub {
my ( $self, $c, $id ) = @_;
$c->fetch_user_by_id( $id );
},
}
# inheritance
HighInteger => {
inherit_from => Integer,
check => sub { $_ > 22 },
},
# collapse multiple arguments
MyDate => {
# take three integers and return one value
takes => 3,
gives => 1,
# inflate to a datetime object
post_filter => sub {
my ( $self, $c, $y, $m, $d ) = @_;
DateTime->new(
year => $y, month => $m, day => $d );
}
}
}
);
# add two integers, just throws exception on constraint failure
sub add : Local Args(2) Constraints(Integer a, Integer b) {
my ( $self, $c ) = @_;
$c->res->body( $_{a} + $_{b} );
}
# puts the word into the stash, under the key foo
sub stashword : Local Args(1) Constraints( Word foo* ) { }
# user_obj ends as a user object in the stash
sub view_user : Local Args(1) Constraints( User user_obj* ) { }
sub invalid_user : Private {
# handle invalid userid
}
1;
<<lessSYNOPSIS
package MyApp::Controller::Foo;
...
use base qw(Catalyst::Controller::Constraints);
__PACKAGE__->config(
constraints => {
# allow only digits for type Integer
Integer => qr/^d+$/,
# allow only word chars for type Word
Word => sub { /^w+$/ },
# validate user id and inflate to object
User => {
# check the user id
check => sub {
my ( $self, $c, $id ) = @_;
return $c->is_valid_user_id( $id );
},
# forward to this action if the validation failed
on_fail => invalid_user,
# if value is valid, run it through this filter
# afterwards
post_filter => sub {
my ( $self, $c, $id ) = @_;
$c->fetch_user_by_id( $id );
},
}
# inheritance
HighInteger => {
inherit_from => Integer,
check => sub { $_ > 22 },
},
# collapse multiple arguments
MyDate => {
# take three integers and return one value
takes => 3,
gives => 1,
# inflate to a datetime object
post_filter => sub {
my ( $self, $c, $y, $m, $d ) = @_;
DateTime->new(
year => $y, month => $m, day => $d );
}
}
}
);
# add two integers, just throws exception on constraint failure
sub add : Local Args(2) Constraints(Integer a, Integer b) {
my ( $self, $c ) = @_;
$c->res->body( $_{a} + $_{b} );
}
# puts the word into the stash, under the key foo
sub stashword : Local Args(1) Constraints( Word foo* ) { }
# user_obj ends as a user object in the stash
sub view_user : Local Args(1) Constraints( User user_obj* ) { }
sub invalid_user : Private {
# handle invalid userid
}
1;
Download (0.025MB)
Added: 2007-07-27 License: Perl Artistic License Price:
820 downloads
MonetDB 4.18.0
MonetDB is an open source high-performance database system developed at CWI. more>>
MonetDB is an open source high-performance database system developed at CWI, the Institute for Mathematics and Computer Science Research of The Netherlands.
MonetDB project was designed to provide high performance on complex queries against large databases, e.g. combining tables with hundreds of columns and multi-million rows.
As such, MonetDB can be used in application areas that because of performance issues are no-go areas for using traditional database technology in a real-time manner.
MonetDB has been successfully applied in high-performance applications for data mining, OLAP, GIS, XML Query, text and multimedia retrieval.
MonetDB achieves this goal using innovations at all layers of a DBMS: a storage model based on vertical fragmentation, a modern CPU-tuned vectorized query execution architecture that often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm over a typical interpreter-based RDBMS.
MonetDB is one of the first database systems to focus its query optimization effort on exploiting CPU caches. MonetDB also features automatic and self-tuning indexes, run-time query optimization, a modular software architecture, etcetera.
In-depth information on the technical innovations in the design and implementation of MonetDB can be found in our digital library.
Main features:
- A fairly extensive ANSI SQL-99 language interface including:
- Primary and foreign key enforcement
- View management
- Sub-queries
- Authorization scheme
- Unicode support (UTF-8)
- Support for external functions
- A full-fledged and scalable implementation of XQuery.
- SQL and XQuery query caching to speed up data processing.
- Extensible architecture at any level of sophistication needed.
- The MonetDB engine can be embedded into your application.
- High performance, using highly tuned data structures and algorithms to exploit the power of modern hardware.
- Transaction control at various levels of granularity, which makes query dominant applications run at light speed.
- Tapping into the experiences gained in supporting XML, Multimedia, GIS, etc. applications right op top of a kernel without the overhead often encountered in SQL-based systems.
- Broad hardware spectrum ranging from StrongARM-based PDAs up to Opteron-based Servers (cf. Platforms).
- 32- and 64-bit cross-platform support for:
- Linux, Microsoft Windows, Apple MacOS X, Sun Solaris, IBM AIX, and SGI IRIX;
<<lessMonetDB project was designed to provide high performance on complex queries against large databases, e.g. combining tables with hundreds of columns and multi-million rows.
As such, MonetDB can be used in application areas that because of performance issues are no-go areas for using traditional database technology in a real-time manner.
MonetDB has been successfully applied in high-performance applications for data mining, OLAP, GIS, XML Query, text and multimedia retrieval.
MonetDB achieves this goal using innovations at all layers of a DBMS: a storage model based on vertical fragmentation, a modern CPU-tuned vectorized query execution architecture that often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm over a typical interpreter-based RDBMS.
MonetDB is one of the first database systems to focus its query optimization effort on exploiting CPU caches. MonetDB also features automatic and self-tuning indexes, run-time query optimization, a modular software architecture, etcetera.
In-depth information on the technical innovations in the design and implementation of MonetDB can be found in our digital library.
Main features:
- A fairly extensive ANSI SQL-99 language interface including:
- Primary and foreign key enforcement
- View management
- Sub-queries
- Authorization scheme
- Unicode support (UTF-8)
- Support for external functions
- A full-fledged and scalable implementation of XQuery.
- SQL and XQuery query caching to speed up data processing.
- Extensible architecture at any level of sophistication needed.
- The MonetDB engine can be embedded into your application.
- High performance, using highly tuned data structures and algorithms to exploit the power of modern hardware.
- Transaction control at various levels of granularity, which makes query dominant applications run at light speed.
- Tapping into the experiences gained in supporting XML, Multimedia, GIS, etc. applications right op top of a kernel without the overhead often encountered in SQL-based systems.
- Broad hardware spectrum ranging from StrongARM-based PDAs up to Opteron-based Servers (cf. Platforms).
- 32- and 64-bit cross-platform support for:
- Linux, Microsoft Windows, Apple MacOS X, Sun Solaris, IBM AIX, and SGI IRIX;
Download (5.6MB)
Added: 2007-06-14 License: MPL (Mozilla Public License) Price:
867 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above self contained rdbms search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed