ゆーすけべー日記

はてなBlogってどーなの!?

Perl

ありがとう! #yapcasia

8月20日〜22日までの3日間、東京ビックサイトにて開催された「YAPC::Asia Tokyo 2015」に「参加&トーク」してきました。 昨今のYAPC運営母体である「Japan Perl Association」が主催する「YAPC::Asia」は今回が最後となります。 YAPC::Asiaは今回でちょうど…

素PlackアプリとMojoliciousアプリを同居させる

Plack::App::URLMap 使えば出来るんですが... リクエストをPlack::Requestとしてゴニョってレスポンスが配列リファレンスなコードリファレンスを返す「 素Plack 」なアプリと Mojolicious アプリをパスによって振り分けて同居させるもうひとつの方法の例。 W…

PerlベースのWebアプリ作成を「委譲」する際のスキルチェックリスト20!

え〜とあるアプリのバックエンドを僕一人が書いてるのですが、 さすがにキツくなってきたので大工事をして「楽に」分業出来るようにしています。 その構成はちょいと置いといて〜 ウマく行けば「とある部分」を誰かに任せることになりますよね。 すると「弊…

My Summer is Over, YAPC::Asia 2013

好きな季節は? と聞かれると花粉症の春、雨が降る梅雨を除いて... と消去的に考えがちですが、 とはいえ気分が高揚する熱い夏が好きだなーって結論になって大抵「 夏 」と答えます。 そんな夏がこのBlogエントリーを期に終わろうとしています。 毎年、プロ…

YAPCを最大限に楽しもう!/ GETTING THE MOST OUT OF YAPC

今日はいよいよ YAPC::Asia 2013 の前夜祭!そして、明日あさってと本編ですね!ところで、6月に YAPC::NA 2013 に参加させてもらったのですが、その際に「YAPC BINGO」と書かれたカードが配られてました。 で、なんかその裏に書かれている「GETTING THE MOS…

大人のYAPCでキーノートします 〜 XXXXXXXXXX-Detectもあるよ!

つい先ほど「参加者が1,000人に達した!」という快挙を達成したらしいエンジニアのお祭りYAPC::Asia 2013。僕も本編でトークをしたりトークを聴いたりするわけですが、今回は非公式のイベント「大人のYAPC」というモノが開催されます。 大人のYAPC - YAPC fo…

YAPC::Asia 2013 でMojoliciousについてのトークをします #yapcasia

Perlだけじゃない?エンジニアの祭典「 YAPC::Asia 2013 」が9月に行われます。 9月19日(木) 前夜祭 9月20日(金) 本編1日目 9月21日(土) 本編2日目 YAPCというイベントは2008年から参加していて... ってことを今思い出すと僕にとっては今年が5年目のYAPC体験…

Object::Containerを応用したModel呼び出し

各種Model群についてObject::Containerを応用しつつ管理するとカジュアルにシングルトンになって効率いいかも!って思って、手元の小さなWebアプリで実装してみた。実験的にやってるんで、これおかしいって点あるかもなんでその場合はお手柔らかにツッコんで…

ORMにValidation機構を持たせる

ユーザーからのPOST等された入力値の妥当性をチェックする Validation をどこでやるか問題が個人的にありまして〜、DBを使わないケースならばいわゆるFomrValidator::*を使ってControllerでやればいいのですが、Modelを経由するようなアプリだとControllerだ…

Perl徹底攻略とWeb開発の基礎徹底攻略が出ます

WEB+DB PRESS plusのムック本として Perl徹底攻略 Web開発の基礎徹底攻略 の2冊がいつもお世話になっている技術評論社さんから来週火曜日23日あたりに出ます。どちらとも以前WEB+DB PRESSに寄稿した僕の記事が一部もしくはだいぶ修正して掲載されています。…

Mojoliciousでエラー時に特別な処理をさせる

たまたま、こんな感じのツイートを見かけたので... Mojoliciousで404、500等のWAFで用意されている標準画面を出さないようにする方法を知りたいのですがどなたか教えて頂く事はできますでしょうか 僕の返答 templates/not_found.html.ep とかにテンプレート…

Getした値が空であることをキャッシュする

Perlはご存知の通りTrue/Falseと言った真偽値を扱うBooleanな型は標準で備わっていない。例えば以下のテストは偽の値と解釈され全てFailする。 use Test::More; ok(0); # Fail ok(undef); # Fail ok(''); # Fail done_testing; つまり 0 undef / 未定義値 空…

最近の開発周辺事情と職質テックトーク

ここ最近の僕の開発で指標になっているのは「システムとしてのクオリティを上げるか」であり、それって当然のごとく行われているかもしれなくて、いわゆる Quality Assurance = QA なんて言葉があったり、某社では Test Engineer の方がいたりするわけです。…

ナウなPerlを勉強するためのリソースはいずこ

__papix__ 君が主催をして開催している Perl入学式 というイベントがあります。Unix/Linux/OSXの環境構築から始まり最終的にはWebアプリケーションをつくるハンズオン形式の勉強会を今年は年6回に分けて開催しているようです。かなり丁寧にPerlを教えている…

Mojolicious 8-Tips

依然としてPerlのWeb Application Framework=WAFは Mojolicious推し です。ボケてほどの大きなトラフィックを集めるようになったサービスでも使っている実績がありますし、自分で使っていてたまにバージョンアップの互換性で問題が出るくらいで、すっごく困…

YAPC::NA 2013に行って来た

Perlの祭典とも言うべきイベントYet Another Perl Conference = YAPC 。去年はYAPC::Asiaでベストスピーカー賞をいただきまして、その副賞が「YAPC::NA または YAPC::Europe へ派遣」というモノでした。YAPC::Europeは今年キエフでの開催でちょいと行くのが…

ELB配下のEC2インスタンスにデプロイをする

Amazon Web Services=AWSの話。実運用で使うかどうかは検討中なんだけど、とあるELBにぶら下がっているEC2インスタンスを自動的に取得して、それに対してデプロイ等を行うってのをPerlでやってみた。デプロイツールとしてCinnamonを使い、ELBやEC2情報を取…

DMMのWeb APIに今更気づいたので...

ムフフなビデオも網羅的に扱うDVDや動画の提供サービス「DMM」のWeb APIがいつの間にか公開していたらしく、なにぶんノーマークだったもので昨日の夜知ってビックリした。というかDMMは一生API出さないだろうなんて決め込んでいたのが良くなかったですね。 …

ささみさん@がんばらないを見るために

放送終了してたアニメをバッファリング無しで快適に見たくなったので、スクリプトを書いた。あんま真似しないでください。 use LWP::UserAgent; use URI::Escape qw/uri_unescape/; my $list_url = $ARGV[0] or die; my $url_list; my $ua = LWP::UserAgent-…

Devel::KYTProfのログをファイルに書き出して、I/Oのボトルネックを知る

Webアプリケーションが遅いとか感じる時って、僕の場合、I/Oがボトルネックなケースが多いのです。つまり、MySQLへクエリーを投げて返却を待つとか、memcachedにget/set等のメソッドを発行した時の待ち時間が長くかかってたり... とかです。そうすると計測し…

miyagawaさんPodcast ep7に出演しました

miyagawaさんに声をかけていただき、彼のPodcast番組にゲストとして出演させていただきました。 ep7 ゲスト: ゆーすけべー (yusukebe) - Tatsuhiko Miyagawa's Podcast 「ゲスト呼ばれたいな〜」と思っていたのですごく嬉しい反面、Podcast番組が始まった当…

PerlCasual #05 を開催しました #perlcasual

昨日29日(金)の夜、渋谷ヒカリエにあるNHN Japanさんのカフェスペースにて「PerlCasual #05」を開催しました。 PerlCasualのイベントは、前回2011年4月29日にtomi-ruさんの「Perl CPANモジュールガイド」出版を記念して行ったイベントから数えて2年ぶりの…

Kindle本「Perlについて語ろう」を出版しました

プログラミング言語「Perl」の入門書「Perlについて語ろう」をKindle向け電子書籍として出版し販売を開始しました。 Perlについて語ろうposted with amazlet at 13.03.15和田裕介 (2013-03-13)Amazon.co.jpで詳細を見る 本書は週刊で発行しているメルマガ「 …

Facebookイベント参加者の名刺画像を自動生成!

@shinotraさんが先日行われたHokkadio.pm #9で面白いことを発表してました。その一つがATNDのイベント参加者の名刺画像を自動生成するというモノ。神奈川にいながら北海道の熱気を感じつつ、昔同じようなことを「Facebookのイベントを対象に」やったなーと思…

地域コミュニティが熱い!?Kansai.pmに行ってきました #kansaipm

先日の土曜日2月23日、大阪駅のすぐ近くYahoo!さんの会議室にてKansai.pm第15回ミーティングが開催されました。僕はJPA=Japan Perl Associationさんの支援を受けてゲストスピーカーとして参加させていただいた次第です。大阪に行くのは高校の修学旅行で立ち…

Mojoliciousでテンプレート置くディレクトリを追加したい時

一つの「lib」ディレクトリ内で複数のMojoliciousアプリを動かしてるんだけど、 するとMojoliciousが使うデフォルトのテンプレート置き場「templates」ディレクトリだけじゃ管理しきれなくなってきます。そこでアプリごとにテンプレートを置く場所を変えちゃ…

PerlでGoogle AnalyticsへアクセスするならNet::Google::Analyticsが便利

fluentdとかTreasure Dataとかログを拾い集めて集計する新しい技術やプラットフォームが出て来てますが、Webの表層レベルだとGoogle Analyticsがやっぱり便利で使えます。ただ、サイト全体のトラフィックを観察するのには向いていますが、例えば、いくつかUR…

Kansai.pm 2/23 (土) でトークしてきます!

諸々な事情の結果、JPAさんのご支援でKansai.pmへ参加させてもらうことになりました。来週2月23日土曜日の「Kansai.pm 第15回ミーティング」です。ゲストスピーカーという扱いで40分間のトークをしてきます。色々話したい題目はあったのですが、@__papix__君…

Webアプリのディレクトリ事情

現在進行中で開発・運用しているWebアプリのファイルとディレクトリが若干ゴチャゴチャしてたんで、整理したらだいーぶスッキリした。こんな感じ! MacBook@yusuke % tree -L 1 -F . ├── Makefile.PL ├── cli/ ├── config/ ├── deploy/ ├── etc/ ├── lib/ ├─…

Webアプリにおけるキャッシュ。オレオレ事例

Webアプリにおいて、アクセスやデータ量が多く/大きくなってくると、 バックエンドのパフォーマンスが低下しがちです。 MySQLなどのRDBMSにデータを置いている場合は適切に クエリーを改善する、インデックスを張る、といった策で解決する場合もありますが、…