'

Great Tools Heavily Used In Japan You Don't Know

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

I am Junichi Ishida (aka uzulla) Tokyo/Japan Hachioji.pm


Слайд 2


Слайд 3

I am not lestrrat ! (I wear glasses)


Слайд 4

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


Слайд 5

YUSUKEBE • He is a famous perl monger in japan. • He'll talk this YAPC::EU. today 15:00 at Aula F1


Слайд 6

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.


Слайд 7

WebService::Simple • Simple Interface To Web Services APIs • popular for beginners • but very useful


Слайд 8

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;


Слайд 9

that's all ! • this is very simple. i like this a lot.


Слайд 10

MOZNION • His project "Perl::Lint" was accepted for TPF Grant.


Слайд 11

Perl::Lint • "Yet Another Perl Source Code Linter" • faster than other lint tools. • Next up His talk in this hall. so, skip!


Слайд 12

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


Слайд 13

• "why need fast ?" • "Because we are japanese !!!!"


Слайд 14

PAPIX • he gives perl classes as a hobby • He will talk about His teaching experience at tomorrow(4 sep) Aula F2


Слайд 15

WebService::Mackerel • Control Panel API Client for mackerel.io • Change Server label on mackerel • add/remove watch servers. • (this is not agent)


Слайд 16

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.


Слайд 17


Слайд 18


Слайд 19

SONGMU • He will talk at 4 sep 15:00 Aula F2


Слайд 20

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


Слайд 21

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


Слайд 22

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!


Слайд 23

KARUPANERU RA • He will talk about performance tuning, at 4 sep 12:00 in Salon de Grados


Слайд 24

mRuby (perl module) • https://metacpan.org/pod/mRuby • mRuby is mruby binding for perl5. • (mruby is lightweight and easily embeddable Ruby interpreter)


Слайд 25

example use mRuby; my $mruby = mRuby->new(file => $filename); my $ret = $mruby->run();


Слайд 26

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).


Слайд 27

LESTRRAT • "It's not me." • He already talked (at today 12:00 in Salon de Grados).


Слайд 28

STF • STF is HTTP based S3-like storage. • http://stf-storage.github.io/


Слайд 29

metrics from 2014 jun • 100 TB • 600,000,000 objects • it's serving 400Mbps at peak hours without a hitch.


Слайд 30

MIYAGAWA • oh men, He is not Japanese(sawyerx said at today's keynote!) • and...too famous. skip!


Слайд 31

• That's all, japanese perl monger that they came to this YAPC::EU.


Слайд 32

Ofcourse, More Perl monger in japan


Слайд 33

KAZUHO • Author of H2O (HTTP/2 support optimized httpd)


Слайд 34

Test::mysqld • mysqld runner for tests • Makes new temporary empty mysqld process. • mysqld process will be terminate on the end of execute.


Слайд 35

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'), );


Слайд 36

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


Слайд 37

Requirements a (your) server program. • Support Gracefull shutdown • Use socket FD passed from server starter to app


Слайд 38

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.


Слайд 39

Starlet • "a simple, high-performance PSGI/Plack HTTP server" • Very heavily used in japan.


Слайд 40

example $ plackup -s Starlet app.psgi • some available parameters for performance tuning. • https://github.com/kazuho/Starlet


Слайд 41

use Server::Starter usage $ start_server --port=8000 -- \ plackup -s Starlet app.psgi • this is very popular style in japan.


Слайд 42

KAZEBURO


Слайд 43

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.


Слайд 44

install • (skip, sorry!) • http://kazeburo.github.io/GrowthForecast/ #install • (Need RRDtool. it install may be bit hard)


Слайд 45

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!


Слайд 46

result • easy! simple! convenient! • You can add graph in a minute !


Слайд 47

HRForecast • Usage similar as GrowthForecast • Difference between Growthforcast are: • Resolution is per hour. • Can post past date metric data. • Does not need RRDtool.


Слайд 48

Cookie::Baker • "Cookie string generator / parser" • It can cook cookies!


Слайд 49

• "Why do you need this ?" • "This is CGI.pm free" • "understand."


Слайд 50

Gazzle • Very fast psgi server • faster than Starman, Starlet.


Слайд 51

x2 Faster than starman • https://github.com/kazeburo/Gazelle/wiki/ Benchmark


Слайд 52

• "why does it need to be so fast ?" • "because we are japanese !!!!!"


Слайд 53

TOKUHIROM


Слайд 54

Web::Query • "Yet another scraping library like jQuery" • very friendly scraping


Слайд 55

example use 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


Слайд 56

Furl • "Lightning-fast URL fetcher" • Simple and Fast http client


Слайд 57

GET example use Furl; my $furl = Furl->new( agent => 'MyGreatUA/2.0', timeout => 10, ); my $res = $furl->get('http://example.jp/'); print $res->content;


Слайд 58

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;


Слайд 59

why not LWP?? • "Why does it need to be faster ?" • "because, we are japanese !!!!" Ofcourse, we need that.


Слайд 60

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, ....


Слайд 61

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


Слайд 62

Awesome Perl: Patches Welcome • I am waiting for your pull-requests!


Слайд 63

Finally! that's all !! • If my talk too fast... • (Why? because...) • this slide uploaded here. • http://bit.ly/uzulla_yapceu2015


Слайд 64


×

HTML:





Ссылка: