Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
WEB+DB PRESS vol88&vol89のElixirの紹介が言語紹介の文章でいまだかつてないほどのわかり易さだったので Elixirド素人がElixirとPhoenixフレームワークを使ってちゃんと公開できるREST APIサーバーを作ってみるまでを紹介します。 これを読めばたぶん2時間ぐらいで任意のデータのREST APIサーバーが作成できます。 フル版のソース - github 実際に作成したAPIの仕様 放映中のアニメ公式 Twitterアカウントのフォロワー変動履歴情報を提供するRESTful API サーバーを作りました 作成テーマ要件 Elixir PhoenixフレームワークでREST API サーバーを作る 今回扱うデータは特定分野のTwitterアカウントリストのフォロワー履歴とする MySQLに格納されたデータをREST API経由で取得できるようにする イン
GitHub 風味の Qiita マイページを作ってみます。 Let's 芝生駆動投稿! ことの始まり GitHub のプロフィールページといえば 芝生 でおなじみですね。 青々としていく芝生をみていると、不思議と Contribution に対するモチベーションも上がるものです。 「この芝生が Qiita にもあれば、もっともっと記事を投稿するに違いない」と漠然に思ったのがことの始まり。 完成イメージ 結論、こんな感じになりました。 そう、ほぼほぼ GitHub です。記事の投稿で草が生えます。 fake_qiita : https://fakeqiita.herokuapp.com/ (Qiita アカウントをお持ちの方は是非お試しください!) ソースコードは GitHub で公開しています。 https://github.com/mserizawa/fake_qiita 主に使うもの
やりたいこと Plugはとても便利。特にNode.jsからやってきた自分にとっては、Plug = Middlewareということで非常にとっつきやすい。こいつを使いこなすことで幸せになれるんじゃないかと本能的に感じた。 (公式)Plug Guide RackやConnectを触っていた人にはすぐとっつける内容だと思うが、今回は違ったバックグラウンドの方でもわかるように書く。 Plugって何? HTTP Request/Responseをまとめた"connection"をリレーする、プラグインのスタック。 Phoenixが提供するPlug Phoenix.Contoller配下にpluggableな実装がまとめられている。 (公式)Phoenix.Controller 必要なものは一通り揃っている印象。 今回作ってみるPlug APIリクエストの送信元が、localhostか、ローカルネット
ポイント exrmを使ってビルドします。 (公式のチュートリアル参照) ビルド後に一式がパッケージ化された <app name>.tar.gz ができます。 パッケージには erlang のランタイム環境も含まれています。 (ランライム環境が含まれているので)ビルドはデプロイ環境と同じプラットフォームで行ってください。 mac でビルドして linux で実行は❌ パッケージにランタイム環境が含まれているため、解凍して bin/<app> start を実行するだけでサーバーが起動できます。 upgrade (hot deploy) は releases/ ディレクトリにtar.gz を置いて、bin/<app> upgrade <ver> 。 ただし、ecto の create や migrate は実行されないため、別途行う必要があります。 手順 elixir / phoenix の勉
やりたいこと 下記のような日付と時間を扱った処理をスマートにやるにはどうすればよいか調べてみた。 現在のロケールの現在時刻から12時間進めた日時が欲しい DBに保存した日付データをn日加算したい Elixirでの日付/時間 日時は基本的にタプルで持つ。現在時刻はErlangのCalendarモジュールから取得できる。 # UTC現在時刻 utc_now = :calendar.universal_time {{2015, 10, 20}, {8, 12, 25}} # ローカル現在時刻 jst_now = :calendar.local_time {{2015, 10, 20}, {17, 11, 17}} use Timex # 10月31日の1ヶ月後 next_month = {{2015, 10, 31}, {0, 0, 0}} |> Date.from |> Date.shift(
Phoenix + AngularJS で Markdown 同時編集ツールを作ってみます。 イメージとしては HackMD のようなものを目指します。 ことの始まり ElixirConf 2015 のタイムラインを眺めていたら、 I'm collaboratively editing a doc with 60 of my closest @ElixirConf friends. #phoenixframework pic.twitter.com/PlVexa3Anx — David Raffauf (@draffauf) 2015, 10月 1 Phoenix で同時編集ツールを作っている人がいて、「こういうのって自分でも作れるのかな」と漠然に思ったのがことの始まり。 完成イメージ 結論、こういうツールができました。 GitHub で公開しています。 collabo_marker :
PhoenixFrameworkとフロントエンドフレームワークを併用している場合、 mix phoenix.gen.jsonでAPI作成してフロントからAjaxリクエストしてJSONを取得するという使い方をするのが主だと思います。 本記事はそんなAjaxリクエストに対して「ある条件の時にエラーを返したい・・・」となった時のTipsになります。 やり方 Ajaxリクエストでは特定のHTTPステータスコードが返ってきた場合にエラーになります。 どのHTTPステータスコードがエラーになるかは以下が参考になります。 jQueryのajaxが,HTTPステータスコードの何番がsuccessで,何番がerrorなのか調べました ということはPhoenix側でエラーになるHTTPステータスコードを送ってあげればよいのです。 それではまずはmix phoenix.gen.jsonで生成されたコントローラを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く