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 :
はじめに IoTという言葉が流行し始めて以後、M2M用プロトコルとして、世間のMQTTに対する意識は急上昇の最中にあります。自然と日の目を見るのはMQTTブローカーの存在でしょう。枯れたところではJMS実装のActiveMQから、最近ではerlang実装のemqttやvernemqなど、実に様々なブローカーが世間を賑わせております。 しかしながら、いざ実際にサービスとしてIoTなアプリケーションの開発を考えたとき、ネックとなるのはMQTTブローカーとは別のところにあります。ブローカーは基本的にパッケージとなっていて、簡単にインストールできます。管理UIが付属する製品も少なくありません。SaaSサービスを利用するという手もあります。 Publish(端末)側もデータを投げるだけなので、こちらも実装は比較的簡単です。 問題なのは端末を集約するSubscriber(データベース)側です。gem文
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く