タグ

ブックマーク / qiita.com/mserizawa (9)

  • 翻訳: WebAPI 設計のベストプラクティス - Qiita

    これは Enchant の開発者である Vinay Sahni さんが書いた記事「Best Practices for Designing a Pragmatic RESTful API」1を、ご人の許可を得て翻訳したものです。 RESTful な WebAPI を設計しようとすると、細かなところで長考したり議論したりすると思います。また、他の API に倣ってやってはみたものの、当にそれでいいのか、どうしてそうしているのか分からない、何てことも少なくはないと思います。 この記事では、そのようなハマリどころについて Vinay さんなりの答えを提示し、簡潔かつ明快に解説してくれています。 今後 WebAPI を設計される方は、是非参考にしてみてください。 なお、誤訳がありましたら編集リクエストを頂けると幸いです。 まえがき アプリケーションの開発が進むにつれて、その WebAPI を公

    翻訳: WebAPI 設計のベストプラクティス - Qiita
  • 翻訳: 似て非なる Phoenix と Rails(原題『Phoenix is not Rails』) - Qiita

    Phoenix の開発者である Chris McCord さんが 2015/11/18 に書いた記事「Phoenix is not Rails」の翻訳です。 僕は Rails 未経験の状態で Phoenix を始めたクチなのですが、最近 Rails もやるようになり、両者を比較して考えることが多くなってきたので、いい機会だと思い翻訳してみました。 誤訳があれば編集リクエストを頂けると幸いです。 まえがき 昨年12月、ブライアン1は年次総括で 開発を Elixir と Phoenix に移行する計画を公表しました。それから1年、実際に Rails から Phoenix へ移行してみて分かったのは、この作業はそれほど大変ではないということです。というのも、Phoenix は Rails と非常によく似た作りをしているからです。もちろん、フレームワークのきちんとした理解にはそれなりの学習が必要で

    翻訳: 似て非なる Phoenix と Rails(原題『Phoenix is not Rails』) - Qiita
  • Phoenix + AngularJS で Markdown 同時編集ツールを作ってみる - Qiita

    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 :

    Phoenix + AngularJS で Markdown 同時編集ツールを作ってみる - Qiita
  • Phoenix で WebSocket 通信をする - Qiita

    Phoenix には Channel という概念があり、これを JavaScript と組み合わせて使うことでブラウザと WebSocket 通信ができるようになります。 今回は公式ドキュメントを参考に、Channel を使ったサンプルアプリケーションを作ってみます。 チャットだと地味なので、d3.js のこの Example を使って遊んでみようと思います。 Phoenix アプリケーションの作成についてはコチラを参照してください。 サーバサイドを実装する channel_sample という名前でアプリケーションを作ります

    Phoenix で WebSocket 通信をする - Qiita
    clavier
    clavier 2015/09/22
    Phoenix で WebSocket 通信をする - Qiita
  • Phoenix で Redis の Pub/Sub を使って WebSocket をスケールアウトさせる - Qiita

    WebSocket を利用するアプリケーションは Pub/Sub サーバを使ってスケールアウトさせるのが一般的です。 今回は Redis の Pub/Sub 機能を使って Phoenix の WebSocket をスケールアウトさせてみます。 Phoenix で WebSocket 通信をさせる方法はコチラをご参照ください。 事前知識: WebSocket アプリケーションのスケールアウトについて 通常の Web アプリケーションにおけるスケールアウトは、サーバ台数を増やしてロードバランサでリクエストを分散させる、というのが一般的ですが、WebSocket アプリケーションではこの手法が使えません。 なぜかというと、WebSocket アプリケーションはコネクションをサーバ内で管理するステートフルな作りになっているためです。冗長化させたサーバにリクエストを分散させてしまうと、他サーバで接続

    Phoenix で Redis の Pub/Sub を使って WebSocket をスケールアウトさせる - Qiita
  • Phoenix で XML をパースして郵便番号検索 API を作る - Qiita

    Elixir で XML のパース処理を実装してみます。 今回は郵便番号検索 API に問い合わせて、その返却結果(XML)を JSON に変換して返す API を作ってみます。 比較的軽めの XML パース処理...ということで上記の API を選びましたが、このテクニックを応用させれば Web スクレイピングなども実装可能と思います。 なお、今回は Erlang の xmerl という XML ライブラリを直で使ってみます。 Phoenix アプリケーションでの外部 API リクエストについてはコチラを参照してください。 Phoenix アプリケーションをセットアップする xmlparse_sample というアプリケーションを作り、mix.exs に以下のように追記しましょう。 defmodule XmlparseSample.Mixfile do ... defp deps do

    Phoenix で XML をパースして郵便番号検索 API を作る - Qiita
  • Phoenix で外部 API にリクエストする API を作る - Qiita

    Phoenix で外部 API にリクエストする API を作ってみます。OpenWeatherMap API に問い合わせて、指定された緯度経度の天気を JSON で返却するという 無駄な挙動をさせてみましょう。 Phoenix で JSON API 作る方法はコチラを参照してください。 依存関係に HTTPoison を追加する Elixir 版のサードパーティライブラリアーカイブ(PyPI や npm といった類のもの)には Hex があります。 ここに公開されているライブラリは Mix を使うことで簡単にプロジェクトに追加でき、またこれらの依存関係は mix.exs というファイルで管理できます。 今回は HTTP Client として HTTPoison を利用しますので、以下のように追記します。 ... # Specifies your project dependencies

    Phoenix で外部 API にリクエストする API を作る - Qiita
  • Phoenix で並列処理を使ったメタサーチ API を作ってみる - Qiita

    Elixir はプロセス指向なだけあって、カジュアルに並列処理を使えます。 今回はこの並列処理を活用して、複数の勉強会サイトの WebAPI に対して一気にリクエストを投げる、いわゆるメタサーチ的な API を作ってみたいと思います。 Phoenix アプリケーションでの外部 API リクエストについてはコチラを参照してください。 事前準備: 各勉強会サイトの API 理解する ATND, Connpass, Zusaar, Doorkeeper のいずれも、アクセスキー無し(!)で利用できる WebAPI が用意されています。 大変ありがたいことに、これらの API については sharow さんが以下の記事にとても良くまとめてくださっていますので、こちらを参考にしたいと思います。 勉強会サイトのAPI比較 http://qiita.com/sharow/items/508bc876ff

    Phoenix で並列処理を使ったメタサーチ API を作ってみる - Qiita
    clavier
    clavier 2015/09/11
    Elixir - Phoenix で並列処理を使ったメタサーチ API を作ってみる - Qiita
  • Phoenix で Cache をする - Qiita

    Phoenix に Cache 機構をいれてみます。 今回は ConCache を使って OpenWeatherMap API のレスポンスをキャッシュしてみます。 Phoenix アプリケーションでの外部 API リクエストについてはコチラを参照してください。 Elixir におけるキャッシュについて キャッシュ機構の実装というと、シングルトンクラスを作って処理することをイメージするかもしれませんが、これは オブジェクト指向 な考え方であり、Elixir のような プロセス指向 な言語には当てはめられません。 プロセス指向では、その名の通り データをストアしておくプロセス を作成して処理します。プロセスの作成と聞くとなにやら大変そうな気がしますが、Erlang/OTP のおかげでシンプルに実装できるようになっています。 では早速、ConCache を利用してプロセスを用いたキャッシュを体

    Phoenix で Cache をする - Qiita
  • 1