You don't have javascript enabled. Good luck! :(
記事公開日: 2018/03/18
最終更新日: 2020/05/02

Haskell Yesod

Yesod クイックスタートガイド

1. Stack をインストールしましょう

FP Complete get started guide を参考に、ビルドツール Stack をインストールしましょう。

POSIX システムでは以下のコマンドでインストールが完了します。

$ curl -sSL https://get.haskellstack.org/ | sh

2. プロジェクトのテンプレートを用意しましょう

$ stack new my-project yesodweb/sqlite
$ cd my-project

その他のテンプレートについては GitHub を確認してください。

3. yesod コマンドをインストールしましょう

$ stack install yesod-bin

4. ライブラリをビルドしましょう

$ stack build

5. 開発用サーバーを起動しましょう

$ stack exec -- yesod devel

もしここで GHC_PACKAGE_PATH というエラーメッセージが表示された人は、最新の yesod-bin をインストールする必要があります。

以下のコマンドを実行してみてください。

$ stack build yesod-bin-1.4.11
$ stack exec -- yesod devel

また、プロジェクトのテンプレートに minimal を選択した場合、yesod devel コマンドは動作しないと思うので注意してください。

NOTE: scaffold を生成するためには Stack バージョン 2 以上が必要です。

6. Yesod サーバーへアクセスしてみましょう

http://localhost:3000/ にアクセスすれば Yesod アプリケーションを体験できます。

システムライブラリ

上記のステップを実行するためにはいくつかのシステムライブラリの開発版が必要になると思います。

例えば Ubuntu では以下のコマンドを実行する必要があるでしょう。

$ sudo apt-get install -y build-essential zlib1g-dev

もし、データベースを利用しているのであれば、データベースと通信するためにシステムライブラリのインストールが必要になります。

Ubuntu では以下のようになります。

$ sudo apt-get install -y libmysqlclient-dev
$ sudo apt-get install -y libpq-dev

もっと詳しく知りたい人へ

コーディングを始めましょう!

すぐにコードを書き始めることもできますが、もっと Yesod について知りたい人は、以下のリソースをチェックしてみてください。

Yesod ブック (@461b433b56ebcbcc671932719815f9d3d17098c2)

Basics

原文 日本語訳 補足資料 練習問題
Introduction イントロダクション - -
Haskell Haskell - -
Basics Basics スライド 練習問題
Shakespearean Templates シェイクスピア テンプレート スライド 練習問題
Widgets ウィジェット スライド 練習問題
Yesod Typeclass Yesod 型クラス スライド
Routing and Handlers ルーティングとハンドラ スライド 練習問題
Forms Forms スライド 練習問題
Sessions Sessions
Persistent Persistent ノート
Deploying your Webapp Deploying your Webapp

Advanced

原文 日本語訳 補足資料 練習問題
RESTful Content RESTful コンテンツ
Yesod’s Monads Yesod のモナドたち
Authentication and Authorization 認証と認可
Scaffolding and the Site Template Scaffolding とサイトテンプレート
Internationalization 国際化
Creating a Subsite Creating a Subsite
Understanding a Request リクエストを理解する
SQL Joins SQL Joins
Yesod for Haskellers Yesod for Haskellers

Examples

原文 日本語訳 補足資料
Initializing data in the foundation datatype ファウンデーション型の初期化 スライド
Blog: i18n, authentication, authorization, and database Blog: i18n, authentication, authorization, and database
Wiki: markdown, chat subsite, event source Wiki: markdown, chat subsite, event source
JSON Web Service JSON Web Service
Case Study: Sphinx-based Search Case Study: Sphinx-based Search
Visitor counter 訪問者数カウンタ スライド
Single process pub-sub Single process pub-sub
Environment variables for configuration 環境変数で設定しよう
Route attributes ルート属性

Appendices

原文 日本語訳 補足資料
monad-control monad-control
Web Application Interface Web Application Interface
Settings Types Settings Types
http-conduit http-conduit
xml-conduit xml-conduit

Yesod Tips

記事 検証に利用したコード
whamlet と julius code
hamlet とインライン Javascript code
X-XSS-Protection レスポンスヘッダ code
TRACE メソッド code
Cookie のセキュリティ code
XSS に対するセキュリティ code
変数展開処理の流れ code
TH で生成されるコードの確認方法 code

Yesod で作られているアプリケーション

関連パッケージ