Haskell

2/2ページ
  • 2016.06.06

[Yesod] PostgreSqlの使い方

テンプレートからプロジェクトの作成 まずはStackのテンプレートを使用してプロジェクトを作成します。テンプレートにはyesod-postgresを使用します。 $ stack new my-project yesod-postgres PostgreSQLの設定 とりあえず適当にPostgreSQLをインストールしておきます。それから使用するユーザー、データベースを作成しておきます。Yesodの […]

  • 2016.06.03

[Yesod入門(9)] DB操作4, データ削除

ルートの追加 今回は一覧からデータを削除をできるようにしてみます。まずはrouteを追加します。削除はPOSTで削除対象のIdを受け取り処理します。 config/routes /ArticleDelete ArticleDeleteR POST フォームはInputFormで実装してみます。Idのみの送信なのでこのほうが簡単です、たぶん。 Handler/ArticleList.hs modul […]

  • 2016.06.01

[Yesod入門(8)] DB操作3, データ修正

Handlerの編集(リソースの追加) 今回はデータを修正をできるようにしてみます。Handlerを新しく作ってもよいのですが、面倒なので Article.hs に修正用のリソースを追加で定義してやります。 ASP.NET MVC だとコントローラの中のメソッドでCRUDのメソッドを全部まとめて実装したりするのを見るのでこのようにしてみました。 config/routes /Article/#Ar […]

  • 2016.05.30

[Yesod入門(7)] DB操作2, データ登録

Handlerの作成 前回まででデータの取得、表示ができました。(データがないので未確認ですが。)今回はデータを登録をできるようにしてみます。これがうまく実装できれば、前回実装したデータの表示についても確認できます。 まずはHandlerの追加からです。今回は Article というHandlerにデータの更新処理を任せます。 $ stack exec -- yesod add-handler N […]

  • 2016.05.27

[Yesod入門(6)] DB操作1, データ取得

YesodでDBを操作する方法(データの一覧表示) 今回は前回作成したモデルのデータを画面に表示させたいと思います。これから作るDB操作のサンプルはいたってシンプルで、データを表示させる一覧画面とデータを登録・修正するための更新画面の2画面です。 まずは今回必要となるハンドラーの追加を行います。下記のコマンドを実行してハンドラーの追加を行います。 $ stack exec -- yesod add […]

  • 2016.05.25

[Yesod入門(5)] データベースとモデル

YesodでDBを操作する方法 Stackでプロジェクト作成するときにテンプレートでDBを選択指定ます。Yesodで使えるDBは、 SQLite PostgreSQL MySQL MongoDB などなどが使えます。 YesodでDBを操作する方法を見ていきます。(1)でのプロジェクト作成時にSQLiteのテンプレートを使用したので、SQLiteをそのまま使用します。 config/models […]

  • 2016.05.23

[Yesod入門(4)] Hamlet制御構文, 値の参照

Hamletで使える制御構文と値の参照 前回の内容で、Hamletを使ったViewの作成ができました。次はこのViewに動的な値(Haskellの値)を埋め込んでみます。またその際に使える制御構文についても見ていきます。 まずはHandler側でViewに表示させるために使用する値を定義します。 Stringで文字列を表示させようとしたらエラーが発生し、それを解消できなかったので、Data.Tex […]

  • 2016.05.20

[Yesod入門(3)] Handler,View(Hamlet, Cassius, Lucius, Julius)について

Handlerの生成 プロジェクトを作成し、その構造がなんとなく理解できたので、今度は「Hello World」的な何かを表示させてみます。そのためには新しいViewとそれを呼び出すHandlerが必要です。 yesodのコマンドでHandlerを自動生成することができます。 $ stack exec -- yesod add-handler コマンドを実行するとHandlerの名前を求められるの […]

  • 2016.05.18

[Yesod入門(2)] Yesodプロジェクトの構成

Yesodのディレクトリ構造 Yesodで作成されたプロジェクトのディレクトリ構造を見ていきます。ざっくりとした大体のイメージです。 Handler MVC(Model-View-Controller)でいうところのControllerに相当するファイルを置く場所です。 templates 文字通りテンプレートファイルの置き場所。 HTMLはHamlet, CSSはCassiusもしくはLuciu […]

  • 2016.05.13

[Yesod入門(1)] Stack,Yesodのインストール~起動

HaskellでWeb開発 プログラミング言語Haskellを使って、Web開発を行います。WebフレームワークにはYesodを使用し、Yesodの基本について調べていこうと思います。 Haskell自体については、正直こちらも初心者ですが合わせて勉強がてらやっていこうと思います。 開発環境 Ubuntu16.04で開発を行っています。 Yesodとは Haskellで書かれたWebフレームワーク […]