タグ

ブックマーク / blog.shibayu36.org (6)

  • Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog;

    Perlには非常に多くのフレームワークがあります。非常に大きいものにはCatalystやJifty、小さいものにはMojolicious、CGI::Application、HTTP::Engine、Dancerなどがあります。今Perlではフルスタックのフレームワークを使うよりも、小さいものを組み合わせてWebアプリケーションをつくっていくほうが流行っていると思うので、「小さいものを組み合わせ」ながらMVCで開発できるような環境を考えてみました。 今回はWAFとしてMojoliciousを、テンプレートエンジンとしてText::Xslateを、O/RマッパーとしてDBIx::Skinnyを用いて、MVCでWebアプリケーションを作る方法について順を追って解説します。 それぞれの簡単な説明 Mojoliciousとは SimpleなMVCのWebフレームワーク。軽いプロジェクトならMojol

  • Mojoliciousアプリケーションをmod_perlでデプロイする方法 - $shibayu36->blog;

    最近Mojolicious + SkinnyもしくはTeng + XslateでWebアプリを書いているんですが、デプロイ作業をやってみたので、そのまとめです。合わせて以下の記事も読んでみてください。 Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog; Mojo + Skinny + Xslateの雛形を作成するFlavorを作った - $shibayu36->blog; debianにmod_perl2をインストールする - $shibayu36->blog; capistranoでperlアプリケーションを簡単にデプロイ - $shibayu36->blog; デプロイ時の前提 今回のアプリケーションは以下のような前提でデプロイ作業を行います。 OSはdebian 5 サーバはApache + mod_perl WAFはM

    Mojoliciousアプリケーションをmod_perlでデプロイする方法 - $shibayu36->blog;
  • 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;
  • perlアプリケーションをVirtualHost環境で使うときに必要な設定 - $shibayu36->blog;

    perlアプリケーションをVirtualHost環境で使うときに、ちょっと注意しないといけない点があったのでメモ。 Apacheの設定 VirtualHost環境で使うときには、それぞれの環境ごとで異なる@INCや環境変数を用いなければなりません。そのためにApacheの設定で以下のような設定をVirtualHost内に書いておく必要が有ります。 PerlOptions +Parent PerlSwitches -I/var/www/Sample/current/lib設定の例は以下。 <VirtualHost *:80> ServerName sample.saficion.com DocumentRoot /var/www/Sample/current/public ErrorLog /var/www/Sample/shared/log/error.log CustomLog /var

    perlアプリケーションをVirtualHost環境で使うときに必要な設定 - $shibayu36->blog;
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

    Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;
  • 2-legged OAuthを理解する - $shibayu36->blog;

    APIの認証ってどうやってるんだろーって思っているときに、Google Dev Quizで2-legged OAuthの問題があったので、やりながら理解する事にした。perlで書いてみました。 OAuthのcpanモジュールを使った場合 この場合、簡単にできます。OAuth::Lite::Consumerにconsumer_keyとconsumer_secretとrealmを渡して作成してやった後、method, url, paramsを指定してrequestするだけです。timestamp値やnonceなどはすべて自動で付けて、署名を作ってくれています。 use strict; use warnings; use OAuth::Lite; use OAuth::Lite::Consumer; my $ua = LWP::UserAgent->new; my $request_url =

    2-legged OAuthを理解する - $shibayu36->blog;
  • 1