summaryrefslogtreecommitdiff
path: root/posts/2010-09-10-dancer-summer-of-code.org
diff options
context:
space:
mode:
authorFranck Cuny <franck.cuny@gmail.com>2016-08-10 14:33:04 -0700
committerFranck Cuny <franck.cuny@gmail.com>2016-08-10 20:17:56 -0700
commit8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d (patch)
treea6cecddaaea7e87d901a6c28bebe3a531438f24b /posts/2010-09-10-dancer-summer-of-code.org
parentMerge branch 'convert-to-org' (diff)
downloadlumberjaph-8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d.tar.gz
convert back to md
Diffstat (limited to '')
-rw-r--r--posts/2010-09-10-dancer-summer-of-code.org170
1 files changed, 0 insertions, 170 deletions
diff --git a/posts/2010-09-10-dancer-summer-of-code.org b/posts/2010-09-10-dancer-summer-of-code.org
deleted file mode 100644
index 7527f8f..0000000
--- a/posts/2010-09-10-dancer-summer-of-code.org
+++ /dev/null
@@ -1,170 +0,0 @@
-*** Middleware
-
-After the [[http://journeesperl.fr/fpw2010/][French Perl Workshop]], we
-decided to focus our efforts on bringing middleware into Dancer. As the
-.psgi script is now obsolete, we wanted to simplify the middleware
-configuration for users not familiar with Plack.
-
-It's now possible to load a middleware by adding it to your
-configuration:
-
-#+BEGIN_EXAMPLE
- plack_middlewares:
- Debug:
- - panels
- -
- - DBITrace
- - Memory
- - Timer
-#+END_EXAMPLE
-
-*** YAPC::Eu 2010
-
-During YAPC::EU, I've been happy to meet with
-[[http://github.com/squeeks][squeeks]],
-[[http://blogs.perl.org/users/sawyer_x/][sawyer]] and
-[[http://github.com/mberends][Martin Berends]]. Sadly, we didn't have
-much time to talk and do some coding.
-
-I had already met Martin during the FPW, where he started to port Dancer
-to Perl6. His first objective is to have
-[[http://github.com/mberends/http-server-simple][HTTP::Server::Simple]]
-work. I was really impressed with his works; if I manage to find some
-spare time soon, I will join his effort.
-
-*** Dancer's application
-
-In august, [[http://www.sukria.net/][Alexis]] brought a big effort to
-refactor the core of Dancer, to add the possibility to "plug" components
-to your application. This required a lot of rewriting, but in the
-meantime, we added more tests to ensure nothing would break.
-
-With this feature, you can do the following:
-
-#+BEGIN_SRC perl
- package myapp::forum;
- use Dancer ':syntax';
-
- before => sub {
- ...
- };
-
- get '/' => sub {
- ...
- };
-
- package myapp:blog;
- use Dancer ':syntax';
-
- load_app 'myapp::forum', prefix => '/forum';
-
- before => sub {
- ...
- };
-
- get '/' => sub {
- ...
- };
-#+END_SRC
-
-Now you can request */* and */forum*. The before filter declared in the
-package *myapp::forum* will be executed when the */forum* path is
-matched, and the filter in *myapp::blog* will be executed for */*.
-
-*** QA
-
-The weekend following the YAPC::EU, we held a small hackaton/QA day on
-irc. Not many people were present, but we managed to achieve some
-results:
-
-- reached the 1K tests
-- documentation cleanup
-- added Hooks
-- improved our code coverage
-
-Today our code average is over 92%, and we have more than 1200 tests.
-
-With the new hook system, two new keywords have been added:
-*before\_template* and *after*. They work as the *before* keyword,
-except the *before\_template* is executed before sending the tokens to
-the template, so you can modify them (a small example can be found in
-the
-[[http://git.lumberjaph.net/p5-dancer-plugin-18n.git/][Dancer::Plugin::i18n]]).
-The *after* is executed before the response is sent to the user.
-
-Sukria has also set up an autobuild system for our two main branches.
-Every 15 minutes, the test suite is executed when there is a new commit,
-and builds a report. Code coverage is also measured, so we can always
-know the state of our various development cycles.
-
-*** WebSocket
-
-This is the question that came back from time to time: when/will Dancer
-support websocket ?
-
-We investigated various ways to do this:
-
-- new async. handler
-- writing our own implementation
-- ...
-
-I didn't want to write a websocket implementation for Dancer, as the
-spec are not yet final and it's not easy to do. Thanks to
-[[http://github.com/clkao][clkao]], we didn't have to care about all
-this, as he already wrote a Plack middleware for this:
-[[http://search.cpan.org/perldoc?Web::Hippie::Pipe][Web::Hippie]].
-
-So, what we did, is to use this middleware and add some syntactic sugar
-so people can use it easily in their applications. A small application
-is available [[http://git.lumberjaph.net/p5-dancer-chat.git/][here]].
-
-This is not yet complete, it's only available in the 'devel' branch, and
-subject to change. A small code sample:
-
-#+BEGIN_SRC perl
- websocket '/new_listener' => sub {
- my $env = request->env;
- my $room = $env->{'hippie.args'};
- my $topic = $env->{'hippie.bus'}->topic($room);
- $env->{'hippie.listener'}->subscribe($topic);
- };
-
- websocket '/message' => sub {
- my $env = request->env;
- my $room = $env->{'hippie.args'};
- my $topic = $env->{'hippie.bus'}->topic($room);
-
- my $msg = $env->{'hippie.message'};
- $msg->{time} = time;
- $msg->{address} = $env->{REMOTE_ADDR};
- $topic->publish($msg);
- };
-#+END_SRC
-
-As you can see, a lot of stuff can be improved quite easily in terms of
-syntax.
-
-*** Deployment
-
-We're also in the process of reworking our current Deployment
-documentation. Lots of people are trying to deploy Dancer using various
-configurations, and not all are well documented, or don't work as
-expected. If you use Dancer, and have deployed an application in a way
-not documened in our Deployement documentation, please join us on irc
-(#dancer on irc.perl.org) or contact us on the mailing list, or even
-better, send us a patch, so we can improve this part.
-
-*** Future
-
-There is also our next Dancer's meeting meeting to organize, at the end
-of Septembre.
-
-In October will take place the 2nd OSDC.fr, where I will talk about
-Plack, and alexis will present Dancer.
-
-I want to thank my company ([[http://linkfluence.net][Linkfluence]]) and
-my boss ([[http://twitter.com/cmaussan][Camille]]) for giving me time to
-code on Dancer at work.
-
-As always, thanks to blob for reviewing my (slightly improving) english
-:)