我々はどのように冗長化を失敗したのか
主にスライド資料とYouTubeの講演ビデオを見やすく整理する為のページ。 公式の感想エントリまとめが出来るみたいなので、感想ブログは8月中に見つかった分まで。 全体的なまとめ YAPC:: Asia 2014 前夜祭レポート[随時更新] YAPC:: Asia 2014 1日目レポート[随時更新] YAPC:: Asia 2014 2日目レポート[随時更新] 雑なYAPC::Asia Tokyo 2014まとめ - Togetterまとめ はてなブログで振り返るYAPC::Asia Tokyo 2014。 トーク登壇者、スタッフ、初参加者などなど40エントリーを一挙掲載 - 週刊はてなブログ YAPC::Asia 2014 | 写真共有・保存サービス 30days Album yapcasia - YouTube YAPC::Asia Tokyo 2014 — Medium (Daisu
The purpose of this document is to show you how to call Perl subroutines directly from C, i.e., how to write callbacks. このドキュメントの目的は、どのようにして Perl のサブルーチンを C から 直接呼び出すか、つまり コールバック の書き方を示すことです。 Apart from discussing the C interface provided by Perl for writing callbacks the document uses a series of examples to show how the interface actually works in practice. In addition some techniques for coding
もともとはUsing MT ( MT = MovableType ) というブログ名でしたが、MTに関することをめっきりかかなくなってしまったので、Using Perlに変更しました。Perl 愛してます。 MovableType使ってます。4ですが。5への移行は諦めています。最近はMTネタよりも、Web系のプログラム関連のネタ全般にシフトしています。 データベースに格納したデータを取得して、それをブラウザで表示する、というのを書いていて、同時に、CSV形式にして、ボタンをクリックするとそのCSVをダウンロードさせる的な挙動をさせたい時に書いたコード。 データベースから取得したデータは、例えば下記のような構造になっているとする。 $out = { filename => '12345.csv', csv => [ [ a, b, c, d, e], [ 1, 2, 3, 4, 5] ...
コマンドラインから引数が渡すようなモジュールでも以下のような要件があったりする。 コマンドラインからだけじゃなくて、コード内で直接オブジェクトをnewしたい場合もある 複数のコマンドラインツールを組み合わせて使うような場合に@ARGVを何度か渡すケースがある growthforecast.plみたいなサーバースクリプトだとよくあると思っていて、スクリプト単体で引数渡して起動できるけど、自分でGrowthForecast::Web->newしたくなることもある。これが前者。 growthforecast.plにPlackとGrowthForecastのオプションをコマンドラインから同時に渡したいみたいなのがある。これが後者。 GrowthForecastはあくまで例えです。念のため。 それに対しては以下のようにすればよいのかなーとなった。 parse_optionsというクラスメソッドで@A
簡単に言うとこういうことです。今日はこれだけ覚えて帰ってください。 perl -anal -e "…" 同様のオプションは Ruby でも使えます。 解説 -a いきなり見かけないオプションですが、入力を空白文字で区切り、@F という配列に入れてくれます。それ以外の影響はないので使わないときでも指定して問題なし。2 回指定してるのも意味ないです。語呂合わせです。Ruby の場合は $F ですね。 -n -e で指定されたコードを LINE: while (<>) { … } で囲みます。標準入力やファイルを一行ずつ処理するときに便利。sed や grep が簡単に書けますね。ワンライナーでは多様するオプションでしょう。代わりに -p を指定することで最後に print; することもできます。 -l -n や -p が指定されているときに各入力を chomp します。また、各出力に改行を追加
こんにちは、id:shiba_yu36です。「はてな教科書」更新のお知らせです。 今年のはてなインターンでは更に充実したインターンを経験してもらうため、http://developer.hatenastaff.com/entry/2012/04/11/104325 で公開されたテキストを刷新し、新しくiOSアプリ開発のドキュメントの追加などを行いました。そしてPerlやそれと連携したiOSアプリの開発に役立てばと思い、刷新した内容をgithub上で公開しました。 はてな教科書 これらのはてな教科書は、クリエイティブ・コモンズ 表示 - 非営利 - 継承 2.1 日本 ライセンスの下に提供されています。 はてな教科書をPerlでのウェブアプリケーション開発やWeb APIを利用したiOSアプリの勉強などに是非ご利用ください。何かご指摘などありましたら、GitHub上のissuesやpull
先日まで“はてなインターン2013”に参加しておりました,@moznionです.はてなインターンの感想エントリすら書いてないのにこのブログで記事を書くのかよ!! という非難が各方面から聞こえる思いがしますが,書けって脅された……失敬,言われたので書きます. はてなインターンの感想記事は近いうちに書くので,その際は皆様ここぞとばかりにバカスカはてブしてくださいませね!! 承認欲求!!!!!!! キェェェェェェェェェェェェェェェェェ!!!!!!!! さて,先日催されました Perl入学式in東京 #3 補講 にて,「Perl の情報をどこから得ているのか?」というような話題になった (らしい) ので,僕が普段活用している情報ソースに就いて記します. ブログ編 Tatsuhiko Miyagawa's blog 言わずと知れた世界の Perl Hacker,@miyagawa さんのブログです.
最近、新しいサーバでサービスを動かしたりベンチマークを取る場合には、モリスさんのxbuildを使ってる https://github.com/tagomoris/xbuild xbuildを使うとローカルの任意のディレクトリにPerl(Ruby,Node.js,PHP,Pythonにも対応)のランタイムを設置してくれる。perlbrewやplenvとどこが違うのかというと、xbuildは単にインストールするだけでバージョン切り替えなどの機能は提供しない。使うにはインストール後にPATHを通す必要がある。また、デフォルトでCartonやcpanm、Server::Starterがインストールされてるのも特徴。 使い方 $ git clone https://github.com/tagomoris/xbuild.git $ ./xbuild/perl-install 5.18.1 /path
__papix__ 君が主催をして開催している Perl入学式 というイベントがあります。Unix/Linux/OSXの環境構築から始まり最終的にはWebアプリケーションをつくるハンズオン形式の勉強会を今年は年6回に分けて開催しているようです。かなり丁寧にPerlを教えているという印象があって、それがどんな雰囲気か以前から気になっていたのですが、昨日「Perl入学式 in 東京 #2」にサポーターとして途中から参加させてもらいました。 簡単に感想を述べると「これはすごくいい」。肝は最適な練習問題が所々出され、するとみんな黙々とコーディングし始めるんだけど、それが終わると、参加者同士でコードを見せ合って「これで合ってるかな?」「私はこんな風に書いたよ」と言うようなコミュニケーションが生まれてたりしているのです。正直その様子を見て感嘆しましたよ。 *追記「Perl入学式の補講があるらしいよ!」
PSGI/Plack/PSGIアプリケーションを動かす時に一番使われているのは plackup でしょう。 $ cat app.psgi use Plack::Builder; use MyApp; my $app = MyApp->psgi_app; builder { enable 'ServerStatus::Lite', => ..; $app; }; $ plackup -E production -s Starlet --max-workers 30 --port 5000 -a app.psgi plackup コマンドの -s にハンドラ名を指定して起動します。本番環境では -E や $ENV{PLACK_ENV} を指定してStackTraceやLintといった開発に便利なPlack::Middlewareが追加されないようにする必要がありますね。 Starmanの場合は
春ですね! 新年度ですね! Perl 書くことになってしまいましたか! 奇遇ですね! sigil が意味わかりませんか! 特殊変数がググれませんか! リファレンスが謎ですか! 1; の存在が不明ですか! オブジェクト指向が難しいですか! むしろオブジェクトじゃないコードの方がゆるくて大変ですか! XS が読めませんか! ええ、XS は僕もあんまり読めません>< さて、この春から Perl を学ぶことになった人も多いかと思いますが、なにはなくともこれまず覚えたら後が楽になるんじゃないかというモジュールを、いくつか紹介したいと思います! (まあ、自分の初期を思い返すと、この辺はやく知っておきたかったなあというリストです) Data::Dumper, YAML 変数(リファレンス)やオブジェクト(blessされたリファレンス)をダンプする用途では、Data::Dumper が一番メジャーのような
前提知識Perl5 は minor version 間ではバイナリ互換性が保証されているPerl5 の minor update では、bug fix しか基本的に行われないPerl5 Porters の保守的さ度合いは信用できるperlbrew でセットアップするときに気をつけることインストール名をデフォルトの perl-5.16.3 などとせず、perl-5.16 と minor version を含めないようにする。 例: perlbrew install perl-5.16.2 --as perl-5.16セキュリティフィックスがでた場合の処理chromaticの記事で知ったのだが、perlbrew には upgrade-perl というコマンドがあり、最新のバージョン(マイナーアップデートのみ)にアップグレードすることが簡単にできる。 perlbrew upgrade-perlこ
ディレクターの人にわかりやすいように、Amon2 をつかった一般的なプログラムのディレクトリ構成をわかりやすく説明していくよ。
開発メモその3です。今回は Perl のおはなし。 何年も前に作ったウェブアプリケーションのコードを開いてみたら黒歴史なコードが出てきて憂鬱な気分になる、そんな経験ありませんか。私はあります。ずっとそんな現実から目を背けて生きてきました。 さて、先日 Perl + CGI で書いて Apache::Registry で高速化している、実行環境が Apache に癒着した CGIアプリケーションを発見しました。おえ〜っ。一から作り直したい気持ちをぐっと堪えて、これを Plack 化したりとリフォームしていくとしましょう。その過程を以下記します。劇的ビフォア・アフター! ・・・とかは期待せず、地道な変更を積み重ねていくのがコツです。 方針 いきなりコードをがりがり書き換えていくというよりは、試行錯誤のしやすい環境に移行させていきながらリフォームを進めます。遠回りですが、結果的にその後の運用が楽
Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く