タグ

perlに関するnkwhrのブックマーク (232)

  • はてなブログ | 無料ブログを作成しよう

    盛岡旅行記 なぜ盛岡か。 白龍 店のじゃじゃ麺 岩手銀行赤レンガ館 白沢せんべい店の南部せんべい 盛岡天満宮と盛岡八幡宮 チーズケーキのチロル 大通店のクリームチーズケーキ フェザン/イオンタウン 盛岡駅前 盛楼閣の盛岡冷麺 福田パン 長田町店のパン マルイチ 材木町店 …

    はてなブログ | 無料ブログを作成しよう
  • Mojoliciousをウェブ制作現場で使ってみてる

    3. 昨年の春頃からMojoliciousを使っています。 当時、Mojoliciousを選択した理由 •依存がない •Pure Perlperl-5.8でも動く

    Mojoliciousをウェブ制作現場で使ってみてる
  • 引数の明示という観点からのPerlモジュール群 | hirobanex.net

    Perlモジュールのバリデーターと呼ばれるジャンルのモジュールなどをバリデーションという観点ではなく、引数を明示するという観点から整理しました。 バリデーターの種類 バリデーターというものは、一般的に引数が期待される型など(整数か、文字列か、URLか、メアドか等)になっているかどうかをチェックするというものです。特に、Webアプリにおけるフォームから入力されるデータのチェックに活用されることが多いです。そういういった意味から、Perlのバリデーターモジュールはフォーム系と非フォーム系に分類することができます。 フォーム系のバリデーター等 FormValidator::Lite CPANにも紹介されている強力なフォームバリデーターです。フォームバリデーターとしては、フォームの型の定義、チェック、エラーメッセージの定義、が必要ですが、やりたいであろうことのだいたいがそろっているモジュールで実

  • perlでremoteのサーバでコマンド実行し、STDOUTとSTDERRをキャプチャする - $shibayu36->blog;

    perlでremoteのサーバにコマンドを実行したい時があります。こういう時はNet::OpenSSHが便利です。 Net::OpenSSHでコマンド実行するためには、以下を実行します。結果は手元のSTDOUTやSTDERRに出力されます。 use Net::OpenSSH; my $ssh = Net::OpenSSH->new('hogehoge.hostname', user => 'hoge'); $ssh->system('ls -x ~/'); さらにこの時のSTDOUTとSTDERRを変数に入れたい時があります。その場合は以下のようにします。 use Net::OpenSSH; my $ssh = Net::OpenSSH->new('hogehoge.hostname', user => 'hoge'); my ($stdout, $stderr) = $ssh->capt

    perlでremoteのサーバでコマンド実行し、STDOUTとSTDERRをキャプチャする - $shibayu36->blog;
    nkwhr
    nkwhr 2012/05/09
  • Server::Starter 配下で動くサーバを Perl 以外で書く - 酒日記 はてな支店

    Server::Starter の SYNOPSIS には、自分で Server::Starter 配下で実行するサーバを作る場合の例があります。 # in my_httpd use Server::Starter qw(server_ports); my $listen_sock = IO::Socket::INET->new( Proto => 'tcp', ); $listen_sock->fdopen((values %{server_ports()})[0], 'w') or die "failed to bind to listening socket:$!"; while (1) { if (my $conn = $listen_sock->accept) { ... } } ところでこのサーバは Perl でなければ書けないのか? というと、そんなことはないのですね。 Se

    Server::Starter 配下で動くサーバを Perl 以外で書く - 酒日記 はてな支店
  • Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;

    以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot

    Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;
  • NginxのPerlモジュールで自由にリアルタイム画像変換する方法 - 9mの日記

    Webサイトでいろいろなサイズの画像を使いたいとき、URLのパラメータを変えるだけでサイズ変換してくれると非常に便利です。クックパッドのTOFUとかわりと有名ですね。開発効率も上がるし、面白そうだったのでNginxで実装してみました。 TOFU : 料理を楽しくする画像配信システム フルサイズの画像 元の画像です http://pic.kksg.net/shirakawago.png 比率固定リサイズの画像 /scale/128x128 を挟むと縦横の最少が128pxの画像になります。 http://pic.kksg.net/scale/128x128.shirakawago.png サイズ指定切り抜き c オプションで切り抜き。指定サイズいっぱいに、いい感じに切り抜きます。 http://pic.kksg.net/scale/c.600x150.shirakawago.png グリッチ

  • LinuxでIPやポート単位で簡単にトラフィックをコントロールしよう

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 研究でcgroupやCFSを調査しているんですが、トラフィックをコントロールするtcコマンドやqos周りを復習がてら、ツールを作ってみました。簡単という所が重要です。何をするツールかというと、「Linuxサーバ上でinboundとoutboundのトラフィック帯域をIPやプロトコル単位で好きなようにコントロールし管理する」ためのツールです。 これまでのトラフィックコントロールツールを改良 とにかく複雑でわかりにくかった印象があります。その結果、トラフィックコントロールを運用に持ち込んでも、うまく管理することができなかったのは容易に想像できます。最初はtcコマンド、次にcbq.initが使われてきました。 tcコマンドはわかりにくいので tcコ

    LinuxでIPやポート単位で簡単にトラフィックをコントロールしよう
  • GitHub - hatena/Hatena-Textbook: はてな研修用教科書

    Hatena-Textbook はてな教科書は、はてなエンジニアとして最低限必要とされる技術を身につけるための教科書です。 Web開発における重要なトピックを順番に学びながら、課題をといていくことで、Webアプリケーションをひととおり構築できるようになります。 実装言語としてPerlScalaのどちらを選ぶことができます。 トピックごとに学びたい言語の方の教科書を読み進めてください。 目次 プログラミングの基礎 Perlによるプログラミングの基礎 Scalaによるプログラミングの基礎 データベースの基礎 Perlによるデータベースプログラミング Scalaによるデータベースプログラミング Web開発の基礎 PerlによるWebアプリケーション開発 ScalaによるWebアプリケーション開発 Webフロントエンド開発 はてな教科書JavaScripthatena/Hatena-Tex

    GitHub - hatena/Hatena-Textbook: はてな研修用教科書
  • 愛宕山太郎坊/Staff

  • Kossyを使ったペアプロイベントとPerlのWAFのあれこれ | hirobanex.net

    先週、クロージャーをまともに知らなかったことを露呈してしまったばかりですが、今日は「PerlのウェブアプリケーションフレームワークのKossyを使ったペアプロイベントやるよ!」って話と、PerlのWAFについていろいろと考えてみた記録を公開です。 【宣伝】Like a ハッカソン(pre Hachioji.pm #15)開催のお知らせ 日時 :2012/03/24 9:00- 参加者 :7/19(2012/3/18現在) 会場 :八王子南口MTビル時間貸し会議室 (東京都八王子市子安町4-9) 会費: 1000円〜2000円位 概要 : ペアプロやるか、モクモクやる宣言してモリモリコーディングする(詳細は下記参照) ATND : http://atnd.org/events/25927 イベント内容 前回の取り組みの結果から、「Like ハッカソン」とは、「モクモクやりたいことをやる」とい

    nkwhr
    nkwhr 2012/03/21
  • Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版

    FacebookAPIを使う要件が出てきそうなのでいろいろ調査中。 perlでFacebookAPIを使うにはFacebook::Graphがいいんでしたよね! Facebook::Graphのドキュメントにちょうどチュートリアルがあったので 試しに今回はその手順通りに設定していきたいと思います。 ただしそのままではなく一部Amon2用に置き換えてます。 また、今回は表示するデータを自分のニュースフィードにしてみました。 あと、Facebook アプリ登録画面ってログインするたびちょこちょこ変わってて 他のサイトの設定画面が参考にならなかったりするので スクリーンショットも添付してみましょう。 Step 1: Set up the developer application on Facebook. https://developers.facebook.com/ に行きます。 Step

    Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版
  • Carton覚え書き - sakurako_sの日記

    Carton を自分でインストールして使ってみたので覚え書き。 Cartonがしてくれること・Cartonでできること Tatsuhiko Miyagawa - Carton: CPAN dependencies manager - YouTube より、 アプリごとに独立したローカルライブラリを作ってくれる 他のアプリとモジュールを共有しない どのモジュールがどうしてインストールされたかを明らかにしてくれる モジュールのツリーを見せてくれる ツリーと Makefile.PL の整合性をチェックしてくれる モジュールのバージョンを固定できる モジュールの情報をJSONファイルに保存してくれる ロールバックも簡単にできる Carton のインストールから git commit まで Amon2 のスケルトンで試してみました。 1. Cartonをインストールする cpanm コマンドを叩

  • にひりずむ::しんぷる - 親プロセスと子プロセスでデータを送受信する方法のメモ

    pipe() とか socketpair() とか色々方法はあるけど、素直に IO::Pipe 使っとくと簡単便利。コアモジュールですし。 use strict; use warnings; use IO::Pipe; my $pipes = []; my $children = []; for my $i (1..10) { push @$pipes, my $pipe = IO::Pipe->new; my $pid = fork; if ($pid) { # parent $pipe->reader; push @$children, $pid; next; } # child die $! unless defined $pid; $pipe->writer; print {$pipe} "pid: $$, index: $i\n"; exit; } for my $pid (@$

    nkwhr
    nkwhr 2012/01/12
  • Web Client Programming with Perl

    Automating Tasks on the Web By Clinton Wong 1st Edition March 1997 This book is out of print, but it has been made available online through the O'Reilly Open Books Project.

  • LLをお手軽に使うllenvというのを作りました - As a Futurist...

    perlbrew+carton とかとっても便利なんですが、例えばそれで作った CLI ツールとかにパスだけ通しても、carton execするためにcdしなきゃだったりなんだかんだめんどくさいなーと思って、ライブラリのパスを環境変数で渡して、実行する perl をフルパスで指定してあげる感じにしたらいいかもと思いました。 よく考えると ruby でもおんなじ感じでできるなーと思って、じゃあ python とか node.js もいんじゃね?ということで色々それぞれの言語の使い方調べて、ある程度統一的に使える様にしてみたのでひとまず公開しました。 riywo/llenv – GitHub 使い方 例えば、今使ってる perl の site_perl には何も入れたくないけど、ikachan を使いたいとします。まず ikachan 用のディレクトリを作ります。 $ llenv setup

    LLをお手軽に使うllenvというのを作りました - As a Futurist...
  • STF分散オブジェクトストレージ - Articles Advent Calendar 2011 Hacker

    lestrratです。日めでたく正式にSTFがオープンソースとしてlivedoor ラボ EDGE上でリリースされました! プレスリリースはこちら。 いままでちょこちょこと先出し先出しで情報をだしていましたが、これで当に当の正式公開です。一応上記のサイト以外に「公式」サイト的なものも用意しました。ソースコードはgithub上に公開されています。ということで使って欲しいので紹介記事です。 STFは分散オブジェクトストレージです。Perlメインの似たようなシステムとしてはMogileFSが有名ですが、STFは後発のメリットを生かしてPSGI互換にしたり、使用するプロトコルを基的にHTTPというオープンで枯れた技術を採用したりとメンテナンス・運用の利便性があがっていると考えています。 歴史 STFは元々ApacheモジュールといくつかのPerlワーカーで書かれていましたが、ひょんなことか

    STF分散オブジェクトストレージ - Articles Advent Calendar 2011 Hacker
  • Kossy と DBIx::Sunny で作る nopaste - blog.nomadscafe.jp

    GrowthForecastや社内のサーバアラートビュアーで使っているWeb Application Framework Kossyの使い方。 KossyはCPANにリリースされているので、cpanm でインストールができます $ cpanm Kossy アプリケーションのひな形を作る kossy-setup というコマンドもインストールされるので、これを使います。今回のサンプルアプリケーションの名前は KoPaste としましょう。 $ kossy-setup KoPaste mkdir lib/KoPaste mkdir views mkdir public mkdir public/js mkdir public/css mkdir public/images mkdir t writing lib/KoPaste.pm writing t/00_compile.t writing

  • それCallbacksで - DBIxを作りだす前に - Articles Advent Calendar 2011 Dbix

    どうもkazeburoです。DBIx Trackなのに、DBIxを作らない話。 myfinderさんがDBIxを作る第一歩としてDBIのサブクラスの作り方を紹介しましたが、実際にDBIxを作り出す前に、その機能がDBIの標準機能でできないか調べるのがオススメです。 Callbacksの基 CallbacksはDBIに標準で用意されているHook機能です。 my $dbh = DBI->connect('dbi:SQLite:dbname=test.db','','', { RaiseError => 1, PrintError => 0, Callbacks => { connected => sub { ... } } }); 接続時のAttributesにCallbacksを追加します。上では接続が完了(connected)したらcoderefが呼び出されます。 接続時にテーブルを作

    それCallbacksで - DBIxを作りだす前に - Articles Advent Calendar 2011 Dbix
    nkwhr
    nkwhr 2011/12/08
  • perl でテストを始めよう!! - Articles Advent Calendar 2011 Test

    はじめに こんにちはこんにちは!最近会社のモニターが二枚になって持て余している xaicron です。 さて、Test Track と称して始まったトラック。全部よめばあなたもテストを書かずには生きていけない、そんな身体に大変身していること間違いなしです。 とりあえず今日は初日なので、perl でテストを書くときに必ずと言っていいほど利用する Test::More を使ったテストの書き方を書こうと思ます。 また、「テスト」とざっくりといってもいろいろなものがありますが、その辺の細かい話はきっと ikasam_a さんが書いてくれるのでスルーします。 Test::More チートシート まず、More というだけあって、結構機能がいっぱいあるので、チートシートを先にあげておきます。perldoc Test::More のほぼコピペですが、きっと皆さんは perldoc Test::More

    perl でテストを始めよう!! - Articles Advent Calendar 2011 Test