Category: Spludo

rss

Spludo 1.1.0 released

Finally a new spludo 1.1.0 release is available. This is also the start of 1.2-dev development.

The 1.1-branch will stay to support node version 0.4, 1.2 will (soon) support only 0.6 and later.

Changes from 1.0.3 to 1.1.0:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
* added dependency to node >=0.4.0 && node < 0.5.0
* generator for monit+upstart configuration
* code generation for migrations extended with shortcut fields definition
* added support for application/json paylod
* generate *ByIds method for services
* added ApiServiceController to register a service as REST service
* context.request now holds the current req instance
* added inflection.js
* added node_modules for own vendor libraries
* replaced own testing system with vows (if you want to run the tests, please install vows!)
* spludo_directory variable is now set always when calling spludo-gen
* added bootstrap_manager.whenLoaded(callback) to get notified as
soon as the app is ready.
* replaced self with that
* fixed core_dev_change_build_version on MACOSX
* added jshint instead of jslint
* added support for node_modules folder in project directory
* added Criteria for DatabaseDrivers
* added code generation for Migrations
* added SqliteDatabaseDriver
* added a Database Migration system
* added MysqlDatabaseDriver
* added code generation for Services
* added DatabaseManager and ServiceManager
* added Logging#addTracing (makes the this.trace(function_name) obsolete)
* Codegeneration loads the spludo application now (this enables the developer
to generate code against the base of the application)
* Codegeneration #validateParameter receives the validated parameters now
* TestCases are now able to call .debug+.log and so on, because the execute
method is applied to the TestSuite.

I have been using this development version for plenty small projects and the code generation, migrations and database driver stuff should really help
you get your app developed way faster!

Loads of documentation and examples can be found in the spludo user guide.

Have fun!

In open source, node.JS & Spludo By DracoBlue @ 13:00 20.11.2011

Nginx always overwrites the Server-Header

When I was configuring the nodejs server behind nginx, I experienced the issue that nginx always overwrote the Server header response.

This is a bit annoying, since I want to know what version of spludo runs on my site.

The solution is not to set

1
server_tokens off

since that would only disable the version number.

The solution is:

1
proxy_pass_header Server;
In node.JS, Spludo & NGINX By DracoBlue @ 22:08 19.06.2011

log4j like logging in node.js (from Spludo)

One core feature of spludo, is the powerful logging system. This system is entirely independent from spludo, so you may use it in your own (even non-spludo) nodejs project with ease.

Like described in the tutorial about configuration, you can easily add logging facality to every prototyped class:

1
2
3
4
5
6
7
DocsManager = function() {
// ...
}

extend(true, DocsManager.prototype, Logging.prototype);

DocsManager.prototype.logging_prefix = 'DocsManager';

It's important to add #logging_prefix, otherwise the methods won't know which class originally had the function implemented.

Usually you use it with just one parameter:

In open source, JavaScript, node.JS & Spludo By DracoBlue @ 22:35 07.10.2010

Spludo update 1.0.1 released

I had a very nice talk to some folks at my company about the spludo framework. Thanks for all the positive feedback!!

Today I want to give you guys a small update to spludo, which contains some of the neat features I was previewing on friday:.

Changelog:

1
2
3
4
5
* group and chain are truely async now
* added "spludo-gen controller" (wizard to create a new controller)
* views can now be in sub folders
* added partial + partials in .ejs
* .ejs-Views recompile the view as soon as it is changed

There is also a very short topic about how to use partials with spludo in the user guide.

Download spludo 1.0.1 or install it by using npm.

In open source, JavaScript, node.JS & Spludo By DracoBlue @ 22:49 26.09.2010

Removing @since and @author from JavaDoc

Today I was polishing up the release for spludo and I removed all @author + @since tags from the javascript doc.

In first place, I thought I might keep them in. But, I was unsure about a good guideline how to keep them up to date.

Let's take for instance @since. What does this exactly mean. It may mean when the function or class was added. But what if the signature changed? Is this a different function or still the same? Are this still the same @authors?

I came to the conclusion that they are hard to maintain and git/subversion give me the info I need in a way more convenient way. So I removed them with this commit.

In open source, Spludo & Coding Standards By DracoBlue @ 22:51 19.09.2010

NodeJS Webframeworks Benchmark August 2010

Since now I am releasing spludo pretty soon, I wanted to check out how performance is against other web frameworks for node.js.

I made a previous test for this already, running nodejs 0.1.98.

This results are against: nodejs 0.2.0. To keep it fair (and little expressive) I just took the hello world application from each framework and benchmarked those with apache benchmark.

Concurrency Level: 32 (was 256 in the previous test)

1
ab -n 10000 -c 32 http://spludo.com:8080/

Results:

1
2
3
4
josi: 3944.78 [#/sec]
expressjs 1.0: 6480.42 [#/sec]
(fab): 8203.74 [#/sec]
spludo 7454.60 [#/sec]

Concurrency Level: 1

1
ab -n 10000 -c 1 http://spludo.com:8080/

Results:

1
2
3
4
5
josi: 3162.31 [#/sec] (was 3012.32)
expressjs 1.0: 3497.71 [#/sec] (was 2744.79 in 0.9)
(fab): 4199.95 [#/sec] (was 4271.43)
spludo: 3923.69 [#/sec] (was 3866.12)

The source code for all sample applications may be found at the public gist post.

The Test PC was a i7-920 Quadcore with HT and 8GB DDR3 RAM and a single node.js instance running.

In JavaScript, node.JS & Spludo By DracoBlue @ 14:22 29.08.2010