great tools heavily used in japan, you don't know
TRANSCRIPT
![Page 1: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/1.jpg)
Great Tools Heavily Used In
Japan, You Don't Know.
![Page 2: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/2.jpg)
I amJunichi Ishida
(aka uzulla)
Tokyo/JapanHachioji.pm
![Page 3: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/3.jpg)
![Page 4: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/4.jpg)
I am not lestrrat !(I wear glasses)
![Page 5: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/5.jpg)
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
![Page 6: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/6.jpg)
YUSUKEBE
• He is a famous perl monger in japan.
• He'll talk this YAPC::EU. today 15:00 at Aula F1
![Page 7: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/7.jpg)
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.
![Page 8: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/8.jpg)
WebService::Simple
• Simple Interface To Web Services APIs
• popular for beginners
• but very useful
![Page 9: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/9.jpg)
example
use WebService::Simple;
# make instancemy $flickr = WebService::Simple->new( base_url => "http://api.flickr.com/services/rest/", param => { api_key => "your_api_key", });
# send GET request with paramsmy $response = $flickr->get( { method => "flickr.test.echo", name => "value" });
# parse resposemy $thing = $response->parse_response;
![Page 10: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/10.jpg)
that's all !• this is very simple. i like this a lot.
![Page 11: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/11.jpg)
MOZNION
• His project "Perl::Lint" was accepted for TPF Grant.
![Page 12: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/12.jpg)
Perl::Lint
• "Yet Another Perl Source Code Linter"
• faster than other lint tools.
• Next up His talk in this hall. so, skip!
![Page 13: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/13.jpg)
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
![Page 14: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/14.jpg)
• "why need fast ?"• "Because we are japanese !!!!"
![Page 15: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/15.jpg)
PAPIX
• he gives perl classes as a hobby
• He will talk about His teaching experience at tomorrow(4 sep) Aula F2
![Page 16: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/16.jpg)
WebService::Mackerel
• Control Panel API Client for mackerel.io
• Change Server label on mackerel
• add/remove watch servers.
• (this is not agent)
![Page 17: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/17.jpg)
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.
![Page 18: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/18.jpg)
![Page 19: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/19.jpg)
![Page 20: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/20.jpg)
SONGMU
• He will talk at 4 sep 15:00 Aula F2
![Page 21: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/21.jpg)
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
![Page 22: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/22.jpg)
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
![Page 23: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/23.jpg)
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!
![Page 24: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/24.jpg)
KARUPANERURA
• He will talk about performance tuning, at 4 sep 12:00 in Salon de Grados
![Page 25: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/25.jpg)
mRuby (perl module)• https://metacpan.org/pod/mRuby
• mRuby is mruby binding for perl5.
• (mruby is lightweight and easily embeddable Ruby interpreter)
![Page 26: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/26.jpg)
exampleuse mRuby;my $mruby = mRuby->new(file => $filename);my $ret = $mruby->run();
![Page 27: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/27.jpg)
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).
![Page 28: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/28.jpg)
LESTRRAT
• "It's not me."
• He already talked (at today 12:00 in Salon de Grados).
![Page 29: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/29.jpg)
STF
• STF is HTTP based S3-like storage.
• http://stf-storage.github.io/
![Page 30: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/30.jpg)
metrics from 2014 jun
• 100 TB
• 600,000,000 objects
• it's serving 400Mbps at peak hours without a hitch.
![Page 31: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/31.jpg)
MIYAGAWA• oh men, He is not Japanese(sawyerx said at
today's keynote!)
• and...too famous. skip!
![Page 32: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/32.jpg)
• That's all, japanese perl monger that they came to this YAPC::EU.
![Page 33: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/33.jpg)
Ofcourse, More Perl monger in
japan
![Page 34: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/34.jpg)
KAZUHO• Author of H2O (HTTP/2 support optimized
httpd)
![Page 35: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/35.jpg)
Test::mysqld• mysqld runner for tests
• Makes new temporary empty mysqld process.
• mysqld process will be terminate on the end of execute.
![Page 36: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/36.jpg)
exampleuse DBI;use Test::mysqld;
my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '', # no TCP socket });
my $dbh = DBI->connect( $mysqld->dsn(dbname => 'test'),);
![Page 37: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/37.jpg)
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
![Page 38: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/38.jpg)
Requirements a (your) server program.• Support Gracefull shutdown
• Use socket FD passed from server starter to app
![Page 39: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/39.jpg)
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.
![Page 40: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/40.jpg)
Starlet• "a simple, high-performance PSGI/Plack HTTP
server"
• Very heavily used in japan.
![Page 41: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/41.jpg)
example$ plackup -s Starlet app.psgi
• some available parameters for performance tuning.
• https://github.com/kazuho/Starlet
![Page 42: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/42.jpg)
use Server::Starter usage$ start_server --port=8000 -- \ plackup -s Starlet app.psgi
• this is very popular style in japan.
![Page 43: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/43.jpg)
KAZEBURO
![Page 44: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/44.jpg)
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.
![Page 45: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/45.jpg)
install• (skip, sorry!)
• http://kazeburo.github.io/GrowthForecast/#install
• (Need RRDtool. it install may be bit hard)
![Page 46: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/46.jpg)
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!
![Page 47: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/47.jpg)
result
• easy! simple! convenient!
• You can add graph in a minute !
![Page 48: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/48.jpg)
HRForecast
• Usage similar as GrowthForecast
• Difference between Growthforcast are:
• Resolution is per hour.
• Can post past date metric data.
• Does not need RRDtool.
![Page 49: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/49.jpg)
Cookie::Baker• "Cookie string generator / parser"
• It can cook cookies!
![Page 50: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/50.jpg)
• "Why do you need this ?"
• "This is CGI.pm free"
• "understand."
![Page 51: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/51.jpg)
Gazelle• Very fast psgi server• faster than Starman, Starlet.
![Page 52: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/52.jpg)
x2 Faster than starman
• https://github.com/kazeburo/Gazelle/wiki/Benchmark
![Page 53: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/53.jpg)
• "why does it need to be so fast ?"
• "because we are japanese !!!!!"
![Page 54: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/54.jpg)
TOKUHIROM
![Page 55: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/55.jpg)
Web::Query• "Yet another scraping library like jQuery"
• very friendly scraping
![Page 56: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/56.jpg)
exampleuse Web::Query;
wq('http://hachiojipm.org/') ->find('h2.entry-title a') ->each(sub { my $i = shift; printf("%d %s\n", $i+1, $_->text); });
• this is like a jQuery
![Page 57: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/57.jpg)
Furl• "Lightning-fast URL fetcher"• Simple and Fast http client
![Page 58: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/58.jpg)
GET exampleuse Furl;my $furl = Furl->new( agent => 'MyGreatUA/2.0', timeout => 10,);
my $res = $furl->get('http://example.jp/');print $res->content;
![Page 59: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/59.jpg)
POST exampleuse 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;
![Page 60: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/60.jpg)
why not LWP??• "Why does it need to be faster ?"
• "because, we are japanese !!!!"
Ofcourse, we need that.
![Page 61: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/61.jpg)
That's it for nowI 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, ....
![Page 62: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/62.jpg)
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
![Page 63: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/63.jpg)
Awesome Perl: Patches Welcome
• I am waiting for your pull-requests!
![Page 64: Great Tools Heavily Used In Japan, You Don't Know](https://reader031.vdocuments.mx/reader031/viewer/2022022414/58781e741a28aba12d8b6025/html5/thumbnails/64.jpg)
Finally! that's all !!• If my talk too fast...
• (Why? because...)
• this slide uploaded here.
• http://bit.ly/uzulla_yapceu2015