SlideShare a Scribd company logo
1 of 64
Download to read offline
Great Tools
Heavily Used In
Japan, You Don't
Know.
I am
Junichi Ishida
(aka uzulla)
Tokyo/Japan
Hachioji.pm
I am not lestrrat !
(I wear glasses)
by the way.
• many Japanese perl mongers came to this
YAPC::EU.
• Please go talk to them if you have any
questions.
• Let's introduce some modules by people who
are here
YUSUKEBE
• He is a famous perl
monger in japan.
• He'll talk this YAPC::EU.
today 15:00 at Aula F1
App::revealup
• "HTTP Server application for viewing
Markdown formatted text as slides"
• This is Cool Markdown based presentation
tool.
• Yusukebe will talk about this tool at today
15:00 in Aula F1 . so, I skip this.
WebService::Simple
• Simple Interface To Web Services APIs
• popular for beginners
• but very useful
example
use WebService::Simple;
# make instance
my $flickr = WebService::Simple->new(
base_url => "http://api.flickr.com/services/rest/",
param => { api_key => "your_api_key", }
);
# send GET request with params
my $response = $flickr->get(
{ method => "flickr.test.echo", name => "value" }
);
# parse respose
my $thing = $response->parse_response;
that's all !
• this is very simple. i like this a lot.
MOZNION
• His project "Perl::Lint" was
accepted for TPF Grant.
Perl::Lint
• "Yet Another Perl Source Code Linter"
• faster than other lint tools.
• Next up His talk in this hall. so, skip!
Perl::PrereqScanner::Lite
• a lightweight prereq scanner for perl.
• that is x30 faster than Perl::PrereqScanner
• http://moznion.hatenadiary.com/entry/
2014/03/21/231805
• "why need fast ?"
• "Because we are japanese !!!!"
PAPIX
• he gives perl classes as a
hobby
• He will talk about His
teaching experience at
tomorrow(4 sep) Aula F2
WebService::Mackerel
• Control Panel API Client for mackerel.io
• Change Server label on mackerel
• add/remove watch servers.
• (this is not agent)
Mackerel ?
• Mackerel.io is Performance monitor tool on
cloud.
• "A Revolutionary New Kind of Application
Performance Management"
• Some popular japanese servicers are starting
to use it.
SONGMU
• He will talk at 4 sep 15:00
Aula F2
Riji
• markdown and git based blog tool.
• Builtin httpd server for entry preview
• static HTML file generate
• entries are version controlled by git
• Atom feed support
how to setup, add entry,
and see preview.
$ cpanm Riji
$ mkdir some_dir; cd some_dir
$ riji setup
$ vi article/entry/start.md
$ git add . ; git commit -a
$ riji server
$ open http://localhost:3650/entry/start.html
publish static files
# edit blog meta data once.(author, title...)
$ vi riji.yml
# generate htmls in blog dir
$ riji publish
• Of course, Static files are fast and secure!
KARUPANERU
RA
• He will talk about
performance tuning, at 4
sep 12:00 in Salon de
Grados
mRuby (perl module)
• https://metacpan.org/pod/mRuby
• mRuby is mruby binding for perl5.
• (mruby is lightweight and easily embeddable
Ruby interpreter)
example
use mRuby;
my $mruby = mRuby->new(file => $filename);
my $ret = $mruby->run();
why need mruby?
• mRuby can be used to share code in web and
mobile apps(Android,iOS) (ex: calculation
score).
• also, Some web server can using mruby as
module, that for nginx, Apache, H2O(httpd).
LESTRRAT
• "It's not me."
• He already talked (at today
12:00 in Salon de Grados).
STF
• STF is HTTP based S3-like storage.
• http://stf-storage.github.io/
metrics from 2014 jun
• 100 TB
• 600,000,000 objects
• it's serving 400Mbps at peak hours without a
hitch.
MIYAGAWA
• oh men, He is not Japanese(sawyerx said at
today's keynote!)
• and...too famous. skip!
• That's all, japanese perl monger that they
came to this YAPC::EU.
Ofcourse, More
Perl monger in
japan
KAZUHO
• Author of H2O (HTTP/2 support optimized
httpd)
Test::mysqld
• mysqld runner for tests
• Makes new temporary empty mysqld process.
• mysqld process will be terminate on the end
of execute.
example
use DBI;
use Test::mysqld;
my $mysqld = Test::mysqld->new(
my_cnf => {
'skip-networking' => '', # no TCP socket
}
);
my $dbh = DBI->connect(
$mysqld->dsn(dbname => 'test'),
);
Server::Starter
• "a superdaemon for hot-deploying server
programs"
• Gracefull restart(hot-deploying)
• Only exit old process if new process is
successfully booted.(safe!)
• No resource leak
Requirements a (your)
server program.
• Support Gracefull shutdown
• Use socket FD passed from server starter to
app
usage (with Starman)
start_server 
--interval 5 
--port 8000 
--signal-on-hup=QUIT  # for Starman
-- 
starman --preload-app myapp.psgi
• start_server command will install when install
Server::Starter.
Starlet
• "a simple, high-performance PSGI/Plack HTTP
server"
• Very heavily used in japan.
example
$ plackup -s Starlet app.psgi
• some available parameters for performance
tuning.
• https://github.com/kazuho/Starlet
use Server::Starter usage
$ start_server --port=8000 -- 
plackup -s Starlet app.psgi
• this is very popular style in japan.
KAZEBURO
GrowthForecast
• http://kazeburo.github.io/GrowthForecast/
• "Lightning Fast Graphing/Visualization"
• Make a graph all sorts of metrics via a WebAPI
• Easiest way to draw some metrics graph.
install
• (skip, sorry!)
• http://kazeburo.github.io/GrowthForecast/
#install
• (Need RRDtool. it install may be bit hard)
set cron (sample task)
*/5 * * * * 
curl 
-F number=`mysql -BN -e 'select count(*) from member' game` 
http://gf.host/api/game/member/register 2>&1 > /dev/null
• count some table row num
• ... and send metric to GF server every 5min.
• /game/member/register is graph name
• zero-conf!
result
• easy! simple! convenient!
• You can add graph in a
minute !
HRForecast
• Usage similar as
GrowthForecast
• Difference between
Growthforcast are:
• Resolution is per hour.
• Can post past date
metric data.
• Does not need RRDtool.
Cookie::Baker
• "Cookie string generator / parser"
• It can cook cookies!
• "Why do you need this ?"
• "This is CGI.pm free"
• "understand."
Gazelle
• Very fast psgi server
• faster than Starman, Starlet.
x2 Faster than starman
• https://github.com/kazeburo/Gazelle/wiki/
Benchmark
• "why does it need to be so fast ?"
• "because we are japanese !!!!!"
TOKUHIROM
Web::Query
• "Yet another scraping library like jQuery"
• very friendly scraping
example
use Web::Query;
wq('http://hachiojipm.org/')
->find('h2.entry-title a')
->each(sub {
my $i = shift;
printf("%d %sn", $i+1, $_->text);
});
• this is like a jQuery
Furl
• "Lightning-fast URL fetcher"
• Simple and Fast http client
GET example
use Furl;
my $furl = Furl->new(
agent => 'MyGreatUA/2.0',
timeout => 10,
);
my $res = $furl->get('http://example.jp/');
print $res->content;
POST example
use Furl;
my $furl = Furl->new(
agent => 'MyGreatUA/2.0',
timeout => 10,
);
my $res = $furl->post(
'http://example.jp/', # URL
[ X-MY-HEADER=>'ohmy' ], # headers
[ foo => 'bar' ], # form data (HashRef/FileHandle are also okay)
);
print $res->content;
why not LWP??
• "Why does it need to be faster ?"
• "because, we are japanese !!!!"
Ofcourse, we need that.
That's it for now
I want introduce you more, but that's all the time
I have.
Router::Boom, DBIx::QueryLog,
Mojolicious::Plugin::Web::Auth, Test::Time,
Test::Time::At, Text::LTSV, App::PRT,
Plack::App::PHPCGI, DBIx::Sunny, Proclet,
Harriet, DBIx::TransactionManager,
Data::MessagePack, Teng, Daiku, Minilla,
DBIx::Schema::DSL, App::Watcher,
HTTP::Parser::XS, XML::Tree::PP, Test::TCP, ....
Awesome Perl
• Awesome-list for perl
• awesome-list is a list of nice module/tools.
• https://github.com/hachiojipm/awesome-perl
• maintain by hachioji.pm
Awesome Perl: Patches Welcome
• I am waiting for your pull-requests!
Finally! that's all !!
• If my talk too fast...
• (Why? because...)
• this slide uploaded here.
• http://bit.ly/uzulla_yapceu2015

More Related Content

What's hot

Current status of PSR - Phpblt1
Current status of PSR - Phpblt1Current status of PSR - Phpblt1
Current status of PSR - Phpblt1Yui Sakamoto
 
Php7 傳說中的第七隻大象
Php7 傳說中的第七隻大象Php7 傳說中的第七隻大象
Php7 傳說中的第七隻大象bobo52310
 
Asynchronous I/O in Python 3
Asynchronous I/O in Python 3Asynchronous I/O in Python 3
Asynchronous I/O in Python 3Feihong Hsu
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tigerElizabeth Smith
 
Engage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API SlidesEngage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API SlidesPaul Withers
 
Server-Side JavaScript with Nashorn
Server-Side JavaScript with NashornServer-Side JavaScript with Nashorn
Server-Side JavaScript with NashornDaniel Woods
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOpsRicardo Sanchez
 
DanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino APIDanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino APIPaul Withers
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & PerformanceXinchen Hui
 
Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Tim Bunce
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in PythonMosky Liu
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with SwooleAlbert Chen
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPCAnthony Ferrara
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 崇之 清水
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyKyle Drake
 
Rails development environment talk
Rails development environment talkRails development environment talk
Rails development environment talkReuven Lerner
 
The secret of PHP7's Performance
The secret of PHP7's Performance The secret of PHP7's Performance
The secret of PHP7's Performance Xinchen Hui
 
Ruby, the language of devops
Ruby, the language of devopsRuby, the language of devops
Ruby, the language of devopsRob Kinyon
 

What's hot (20)

Current status of PSR - Phpblt1
Current status of PSR - Phpblt1Current status of PSR - Phpblt1
Current status of PSR - Phpblt1
 
Php7 傳說中的第七隻大象
Php7 傳說中的第七隻大象Php7 傳說中的第七隻大象
Php7 傳說中的第七隻大象
 
Asynchronous I/O in Python 3
Asynchronous I/O in Python 3Asynchronous I/O in Python 3
Asynchronous I/O in Python 3
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
Engage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API SlidesEngage 2014 OpenNTF Domino API Slides
Engage 2014 OpenNTF Domino API Slides
 
Server-Side JavaScript with Nashorn
Server-Side JavaScript with NashornServer-Side JavaScript with Nashorn
Server-Side JavaScript with Nashorn
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
 
DanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino APIDanNotes 2013: OpenNTF Domino API
DanNotes 2013: OpenNTF Domino API
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & Performance
 
Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011
 
CPAN Training
CPAN TrainingCPAN Training
CPAN Training
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in Python
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPC
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
 
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 
Rails development environment talk
Rails development environment talkRails development environment talk
Rails development environment talk
 
The secret of PHP7's Performance
The secret of PHP7's Performance The secret of PHP7's Performance
The secret of PHP7's Performance
 
Ruby, the language of devops
Ruby, the language of devopsRuby, the language of devops
Ruby, the language of devops
 

Viewers also liked

Telekom 4010 Store
Telekom 4010 StoreTelekom 4010 Store
Telekom 4010 Storecareerloft
 
Internet of NO things
Internet of NO things Internet of NO things
Internet of NO things Demos Helsinki
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
OO Perl with Moose
OO Perl with MooseOO Perl with Moose
OO Perl with MooseNelo Onyiah
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks Holger Bartel
 
Steffen goes Telekom
Steffen goes TelekomSteffen goes Telekom
Steffen goes Telekomcareerloft
 
Decoupling Your HTML, CSS & JavaScript
Decoupling Your HTML, CSS & JavaScriptDecoupling Your HTML, CSS & JavaScript
Decoupling Your HTML, CSS & JavaScriptTomislav Mesić
 
open processes
open processesopen processes
open processesaneua
 
11Q3 Results for Deutsche Telekom
11Q3 Results for Deutsche Telekom11Q3 Results for Deutsche Telekom
11Q3 Results for Deutsche TelekomDeutsche Telekom
 
Deutsche Telekom CMD 2015 - Europe
Deutsche Telekom CMD 2015 - EuropeDeutsche Telekom CMD 2015 - Europe
Deutsche Telekom CMD 2015 - EuropeDeutsche Telekom
 
Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation
 Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation
Deutsche Telekom CMD 2015 - Cost and Portfolio TransformationDeutsche Telekom
 
CeBIT 2013 Social Media Analyse - Highlights der ersten drei Messetage
CeBIT 2013 Social Media Analyse - Highlights der ersten drei MessetageCeBIT 2013 Social Media Analyse - Highlights der ersten drei Messetage
CeBIT 2013 Social Media Analyse - Highlights der ersten drei MessetageSalesforce Deutschland
 
“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.Rafael Dohms
 
What Really Happened with War on Drugs?
What Really Happened with War on Drugs?What Really Happened with War on Drugs?
What Really Happened with War on Drugs?Dr. Omer Hameed
 
The Evolution of Indian Banking Sector
The Evolution of Indian Banking SectorThe Evolution of Indian Banking Sector
The Evolution of Indian Banking SectorAnkur Tandon
 

Viewers also liked (18)

Telekom 4010 Store
Telekom 4010 StoreTelekom 4010 Store
Telekom 4010 Store
 
Internet of NO things
Internet of NO things Internet of NO things
Internet of NO things
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
OO Perl with Moose
OO Perl with MooseOO Perl with Moose
OO Perl with Moose
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks
 
Steffen goes Telekom
Steffen goes TelekomSteffen goes Telekom
Steffen goes Telekom
 
Decoupling Your HTML, CSS & JavaScript
Decoupling Your HTML, CSS & JavaScriptDecoupling Your HTML, CSS & JavaScript
Decoupling Your HTML, CSS & JavaScript
 
open processes
open processesopen processes
open processes
 
11Q3 Results for Deutsche Telekom
11Q3 Results for Deutsche Telekom11Q3 Results for Deutsche Telekom
11Q3 Results for Deutsche Telekom
 
Deutsche Telekom CMD 2015 - Europe
Deutsche Telekom CMD 2015 - EuropeDeutsche Telekom CMD 2015 - Europe
Deutsche Telekom CMD 2015 - Europe
 
Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation
 Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation
Deutsche Telekom CMD 2015 - Cost and Portfolio Transformation
 
Getting Tech Right
Getting Tech Right Getting Tech Right
Getting Tech Right
 
CeBIT 2013 Social Media Analyse - Highlights der ersten drei Messetage
CeBIT 2013 Social Media Analyse - Highlights der ersten drei MessetageCeBIT 2013 Social Media Analyse - Highlights der ersten drei Messetage
CeBIT 2013 Social Media Analyse - Highlights der ersten drei Messetage
 
“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.
 
What Really Happened with War on Drugs?
What Really Happened with War on Drugs?What Really Happened with War on Drugs?
What Really Happened with War on Drugs?
 
Overview of M&A, 2016
Overview of M&A, 2016Overview of M&A, 2016
Overview of M&A, 2016
 
The Evolution of Indian Banking Sector
The Evolution of Indian Banking SectorThe Evolution of Indian Banking Sector
The Evolution of Indian Banking Sector
 
Gaming evolution
Gaming evolutionGaming evolution
Gaming evolution
 

Similar to Great Tools Heavily Used In Japan, You Don't Know.

Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009pratiknaik
 
YAPC::EU 2015 - Perl Conferences
YAPC::EU 2015 - Perl ConferencesYAPC::EU 2015 - Perl Conferences
YAPC::EU 2015 - Perl Conferencesℕicolas ℝ.
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLBarry Jones
 
WTF is Twisted?
WTF is Twisted?WTF is Twisted?
WTF is Twisted?hawkowl
 
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6Nobuo Danjou
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesHiroshi SHIBATA
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemYi-Ting Cheng
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with PuppetKris Buytaert
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilitycherryhillco
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsCameron Dutro
 
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014datafundamentals
 

Similar to Great Tools Heavily Used In Japan, You Don't Know. (20)

Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
 
YAPC::EU 2015 - Perl Conferences
YAPC::EU 2015 - Perl ConferencesYAPC::EU 2015 - Perl Conferences
YAPC::EU 2015 - Perl Conferences
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 
WTF is Twisted?
WTF is Twisted?WTF is Twisted?
WTF is Twisted?
 
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutes
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalability
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
 

More from Junichi Ishida

apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったJunichi Ishida
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料Junichi Ishida
 
Fukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talkFukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talkJunichi Ishida
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
Pager Anti Pattern(Joke)
Pager Anti Pattern(Joke)Pager Anti Pattern(Joke)
Pager Anti Pattern(Joke)Junichi Ishida
 
Perlcasual #5 発表資料
Perlcasual #5 発表資料Perlcasual #5 発表資料
Perlcasual #5 発表資料Junichi Ishida
 

More from Junichi Ishida (7)

apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
 
H2O and php
H2O and phpH2O and php
H2O and php
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
 
Fukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talkFukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talk
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
Pager Anti Pattern(Joke)
Pager Anti Pattern(Joke)Pager Anti Pattern(Joke)
Pager Anti Pattern(Joke)
 
Perlcasual #5 発表資料
Perlcasual #5 発表資料Perlcasual #5 発表資料
Perlcasual #5 発表資料
 

Recently uploaded

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 

Recently uploaded (20)

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 

Great Tools Heavily Used In Japan, You Don't Know.

  • 1. Great Tools Heavily Used In Japan, You Don't Know.
  • 2. I am Junichi Ishida (aka uzulla) Tokyo/Japan Hachioji.pm
  • 3.
  • 4. I am not lestrrat ! (I wear glasses)
  • 5. by the way. • many Japanese perl mongers came to this YAPC::EU. • Please go talk to them if you have any questions. • Let's introduce some modules by people who are here
  • 6. YUSUKEBE • He is a famous perl monger in japan. • He'll talk this YAPC::EU. today 15:00 at Aula F1
  • 7. App::revealup • "HTTP Server application for viewing Markdown formatted text as slides" • This is Cool Markdown based presentation tool. • Yusukebe will talk about this tool at today 15:00 in Aula F1 . so, I skip this.
  • 8. WebService::Simple • Simple Interface To Web Services APIs • popular for beginners • but very useful
  • 9. example use WebService::Simple; # make instance my $flickr = WebService::Simple->new( base_url => "http://api.flickr.com/services/rest/", param => { api_key => "your_api_key", } ); # send GET request with params my $response = $flickr->get( { method => "flickr.test.echo", name => "value" } ); # parse respose my $thing = $response->parse_response;
  • 10. that's all ! • this is very simple. i like this a lot.
  • 11. MOZNION • His project "Perl::Lint" was accepted for TPF Grant.
  • 12. Perl::Lint • "Yet Another Perl Source Code Linter" • faster than other lint tools. • Next up His talk in this hall. so, skip!
  • 13. Perl::PrereqScanner::Lite • a lightweight prereq scanner for perl. • that is x30 faster than Perl::PrereqScanner • http://moznion.hatenadiary.com/entry/ 2014/03/21/231805
  • 14. • "why need fast ?" • "Because we are japanese !!!!"
  • 15. PAPIX • he gives perl classes as a hobby • He will talk about His teaching experience at tomorrow(4 sep) Aula F2
  • 16. WebService::Mackerel • Control Panel API Client for mackerel.io • Change Server label on mackerel • add/remove watch servers. • (this is not agent)
  • 17. Mackerel ? • Mackerel.io is Performance monitor tool on cloud. • "A Revolutionary New Kind of Application Performance Management" • Some popular japanese servicers are starting to use it.
  • 18.
  • 19.
  • 20. SONGMU • He will talk at 4 sep 15:00 Aula F2
  • 21. Riji • markdown and git based blog tool. • Builtin httpd server for entry preview • static HTML file generate • entries are version controlled by git • Atom feed support
  • 22. how to setup, add entry, and see preview. $ cpanm Riji $ mkdir some_dir; cd some_dir $ riji setup $ vi article/entry/start.md $ git add . ; git commit -a $ riji server $ open http://localhost:3650/entry/start.html
  • 23. publish static files # edit blog meta data once.(author, title...) $ vi riji.yml # generate htmls in blog dir $ riji publish • Of course, Static files are fast and secure!
  • 24. KARUPANERU RA • He will talk about performance tuning, at 4 sep 12:00 in Salon de Grados
  • 25. mRuby (perl module) • https://metacpan.org/pod/mRuby • mRuby is mruby binding for perl5. • (mruby is lightweight and easily embeddable Ruby interpreter)
  • 26. example use mRuby; my $mruby = mRuby->new(file => $filename); my $ret = $mruby->run();
  • 27. why need mruby? • mRuby can be used to share code in web and mobile apps(Android,iOS) (ex: calculation score). • also, Some web server can using mruby as module, that for nginx, Apache, H2O(httpd).
  • 28. LESTRRAT • "It's not me." • He already talked (at today 12:00 in Salon de Grados).
  • 29. STF • STF is HTTP based S3-like storage. • http://stf-storage.github.io/
  • 30. metrics from 2014 jun • 100 TB • 600,000,000 objects • it's serving 400Mbps at peak hours without a hitch.
  • 31. MIYAGAWA • oh men, He is not Japanese(sawyerx said at today's keynote!) • and...too famous. skip!
  • 32. • That's all, japanese perl monger that they came to this YAPC::EU.
  • 34. KAZUHO • Author of H2O (HTTP/2 support optimized httpd)
  • 35. Test::mysqld • mysqld runner for tests • Makes new temporary empty mysqld process. • mysqld process will be terminate on the end of execute.
  • 36. example use DBI; use Test::mysqld; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '', # no TCP socket } ); my $dbh = DBI->connect( $mysqld->dsn(dbname => 'test'), );
  • 37. Server::Starter • "a superdaemon for hot-deploying server programs" • Gracefull restart(hot-deploying) • Only exit old process if new process is successfully booted.(safe!) • No resource leak
  • 38. Requirements a (your) server program. • Support Gracefull shutdown • Use socket FD passed from server starter to app
  • 39. usage (with Starman) start_server --interval 5 --port 8000 --signal-on-hup=QUIT # for Starman -- starman --preload-app myapp.psgi • start_server command will install when install Server::Starter.
  • 40. Starlet • "a simple, high-performance PSGI/Plack HTTP server" • Very heavily used in japan.
  • 41. example $ plackup -s Starlet app.psgi • some available parameters for performance tuning. • https://github.com/kazuho/Starlet
  • 42. use Server::Starter usage $ start_server --port=8000 -- plackup -s Starlet app.psgi • this is very popular style in japan.
  • 44. GrowthForecast • http://kazeburo.github.io/GrowthForecast/ • "Lightning Fast Graphing/Visualization" • Make a graph all sorts of metrics via a WebAPI • Easiest way to draw some metrics graph.
  • 45. install • (skip, sorry!) • http://kazeburo.github.io/GrowthForecast/ #install • (Need RRDtool. it install may be bit hard)
  • 46. set cron (sample task) */5 * * * * curl -F number=`mysql -BN -e 'select count(*) from member' game` http://gf.host/api/game/member/register 2>&1 > /dev/null • count some table row num • ... and send metric to GF server every 5min. • /game/member/register is graph name • zero-conf!
  • 47. result • easy! simple! convenient! • You can add graph in a minute !
  • 48. HRForecast • Usage similar as GrowthForecast • Difference between Growthforcast are: • Resolution is per hour. • Can post past date metric data. • Does not need RRDtool.
  • 49. Cookie::Baker • "Cookie string generator / parser" • It can cook cookies!
  • 50. • "Why do you need this ?" • "This is CGI.pm free" • "understand."
  • 51. Gazelle • Very fast psgi server • faster than Starman, Starlet.
  • 52. x2 Faster than starman • https://github.com/kazeburo/Gazelle/wiki/ Benchmark
  • 53. • "why does it need to be so fast ?" • "because we are japanese !!!!!"
  • 55. Web::Query • "Yet another scraping library like jQuery" • very friendly scraping
  • 56. example use Web::Query; wq('http://hachiojipm.org/') ->find('h2.entry-title a') ->each(sub { my $i = shift; printf("%d %sn", $i+1, $_->text); }); • this is like a jQuery
  • 57. Furl • "Lightning-fast URL fetcher" • Simple and Fast http client
  • 58. GET example use Furl; my $furl = Furl->new( agent => 'MyGreatUA/2.0', timeout => 10, ); my $res = $furl->get('http://example.jp/'); print $res->content;
  • 59. POST example use Furl; my $furl = Furl->new( agent => 'MyGreatUA/2.0', timeout => 10, ); my $res = $furl->post( 'http://example.jp/', # URL [ X-MY-HEADER=>'ohmy' ], # headers [ foo => 'bar' ], # form data (HashRef/FileHandle are also okay) ); print $res->content;
  • 60. why not LWP?? • "Why does it need to be faster ?" • "because, we are japanese !!!!" Ofcourse, we need that.
  • 61. That's it for now I want introduce you more, but that's all the time I have. Router::Boom, DBIx::QueryLog, Mojolicious::Plugin::Web::Auth, Test::Time, Test::Time::At, Text::LTSV, App::PRT, Plack::App::PHPCGI, DBIx::Sunny, Proclet, Harriet, DBIx::TransactionManager, Data::MessagePack, Teng, Daiku, Minilla, DBIx::Schema::DSL, App::Watcher, HTTP::Parser::XS, XML::Tree::PP, Test::TCP, ....
  • 62. Awesome Perl • Awesome-list for perl • awesome-list is a list of nice module/tools. • https://github.com/hachiojipm/awesome-perl • maintain by hachioji.pm
  • 63. Awesome Perl: Patches Welcome • I am waiting for your pull-requests!
  • 64. Finally! that's all !! • If my talk too fast... • (Why? because...) • this slide uploaded here. • http://bit.ly/uzulla_yapceu2015