Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

ex_adminは、Railsのactiveadminと同様なCRUD画面を簡単に作成できる非常に便利なパッケージです。 READMEでは説明されていませんが、ElixirのProtocol機能を使用して、ueberauth等の認証パッケージとの連携が可能ですのでその方法について解説したいと思います。 手順 ueberauthによる認証の実装方法から説明するとかなり長くなってしまうため、ueberauth_exampleに対してex_adminを組み込む方法を説明したいと思います。 1. ueberauth_exampleの取得 まず、下記からueberauth_exampleを取得してください。 ueberauth_example 2. ex_adminのインストール 次に、上記のueberauth_exampleプロジェクトに対してex_adminをインストールしてください。 ex_a
mixで生成したElixir/Phoenixアプリケーションは、デフォルトで3種類の環境に対応しています。 :dev - デフォルト :test - テスト用 :prod - 本番用 基本的にはこの3種類の設定だけでも問題無いのですが、「開発中のアプリケーションの動作を開発サーバー上で複数人で確認したい」という場合に、「ローカル環境」と「開発サーバー環境」を自動的に区別出来ると便利な場合があります。 このようなケースの場合、(Mac限定になりますが)下記のような方法で対応可能です。 方法 # config/config.exs # use Mix.Configの下に下記のコードを追加 {_, osname} = :os.type() if osname == :darwin && Mix.env == :dev do Mix.env(:local) System.put_env("MIX_
備考 ecto_migrate ridgepoleと同様に、マイグレーションファイルを生成する必要がないのでその点は便利です。(自動的にALTER文を生成してくれる) フィールドの型(string等)を変更しないと、フィールドのサイズ変更が行えないようです。(ここがかなり不便) iexから実行する場合(EctoItを使用する場合)、MySQLではrootユーザのパスワードを空にしておく必要があります。 現時点の最新バージョン(0.6.3)がectoのバージョン1.0.xに依存しています(ectoの最新バージョンは1.1.3なので古いectoを使用する必要があります。ここもちょっと問題) 結論として、現時点ではectoの通常のmigrate機能を使用しておいた方が良いと思われます。 (2016/02/23追記) ectoの通常のmigrate機能を使う場合、スキーマ変更時にマイグレーションフ
何かと名前を聞くようになったElixirをとにかく使ってみたい!そしてElixirで実装されたWAFであるPhoenixも体験してみたい! ということで、それらをMac上でとりあえず試すだけの手順を書いてみました。 大前提 Xcodeをインストールして、xcode-select --installを実施しておく。 Mac OS Xの最新版でHomebrew ( http://brew.sh/index_ja.html ) がインストールされている前提 brew doctorでHomebrew環境に問題がないかチェックしておきましょう nodebrewのインストール Node.jsのバージョンを指定して簡単にインストールできるnodebrewを導入します。
最近話題の(?)Elixir + Phoenixを現在関わっているプロジェクトの検証・評価目的に使ってみます。 なお自分自身全くの初心者なので初心者向けの内容になる予定です。 Elixirとは Elixir公式サイトから引用します Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded softwar
Phoenix の開発者である Chris McCord さんが 2015/11/18 に書いた記事「Phoenix is not Rails」の翻訳です。 僕は Rails 未経験の状態で Phoenix を始めたクチなのですが、最近 Rails もやるようになり、両者を比較して考えることが多くなってきたので、いい機会だと思い翻訳してみました。 誤訳があれば編集リクエストを頂けると幸いです。 まえがき 昨年12月、ブライアン1は年次総括で 開発を Elixir と Phoenix に移行する計画を公表しました。それから1年、実際に Rails から Phoenix へ移行してみて分かったのは、この作業はそれほど大変ではないということです。というのも、Phoenix は Rails と非常によく似た作りをしているからです。もちろん、フレームワークのきちんとした理解にはそれなりの学習が必要で
サービス運用に必要なサーバログの設定概要の一例。 ログの出力対象を考える ここでは下記を対象とする。サービスの初期段階ではログを多めに出しておいて、安定稼働の実績が出来次第ログを減らす方針でいく。 受信したHTTP Request リクエストheader(user-agent, x-forwarded-for) リクエストbody(controllerの引数のみ) 返答したHTTPレスポンス レスポンスタイム レスポンスbody(JSONの場合) vmの情報(process数) サーバ内での予期しない例外 各ログ出力には、下記の情報を付加させる ユーザーID そのログ出力が、どのユーザーのHTTPリクエストによって発生したのかがわかるようにする リクエストID そのログ出力が、どのHTTPリクエストによって発生したのかがわかるようにする 各ログ出力を設定する リクエストheader(use
パラメータを%{"name" => name}のようの文字列のキーを使うのが一般的なようなのですが、 他の処理ではAtomとか使っているのだけど、ここだけなんでなんだろう? Programming Phoenixの中のコラムAtom keys vs. string keys?では以下のように書いてあります。 In the world action in our controllers, the external parameters have string keys, "name" => name, while internally we use name: name. That’s a convention followed throughout Phoenix. External data is unsafe, so we explicitly match on the string
本日(12/17)、Phoenix 1.1が正式にリリースされましたので早速使ってみた。 1.1にはgettextを使った国際化対応のサポートや、channelのパフォーマンス改善、Instrumentation hooksの追加などがあるそうな。 前提 既に1.0で動いているPhoenixアプリケーションを1.1にアップデートすることが前提。 注意点 基本的にmix.exsへの変更が中心だが、1.1での後方互換の無い変更として、以下がアナウンスされているため、そこだけコードをいじる。 Backward incompatible changes [View] The @inner assign has been removed in favor of explicit rendering with render/3and the new @view_module and view_temp
はじめに 皆さん、おはこんばんちは。 年の瀬です。 コミケの入稿割引が減っていきます。 第2回 企業対抗トーナメントも大晦日に、あります。ギルティです。 正直色々忙しいですね。分かります。だって師走だもの。 そんな時は肩の力をいったん抜いて、Elixir on Phoenix、入門していきましょう。 CentOS + Erlang + Elixir + PhoenixのDockerイメージで今日から始めるElixir on Phoenix入門 【中級編】drone.io + exrmで今日から始めるElixir on Phoenixホットデプロイ入門 前回、前々回に引き続き、Elixir/Phoenixの入門記事中級編です。 Phoenixを使った時のサーバーサイドの開発は今年一年を通して色々とナレッジも溜まってきたと思うんですが、 フロントサイドのベストプラクティスが欲しいなあというのを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く