Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
      
  
  
  まえがき アルケミスト(Elixir使いのこと)でかつPhoenix使ってる人!! Reactに興味有る方達。 scaffoldingツール「Fushicho(不死鳥)」をご存知だろうか?もちろん知ってますよね? え?知らないの? 知るはずもない、僕が勝手に作ったので。 Fushichoとは 名前の由来はPhoenixをローマ字の日本語にしただけ。 Reactのコードを生成 Phoenix用 Don't repeat yourself (DRY) ReactのCRUDのコードを書くのは面倒くさいです。 Phoenix用のReactのJavaSciptのコードを勝手に生成します。 Reactに対応したコードをAPIを見てから勝手に生成。 「API見てからReact構築余裕でした。」 brunchに対応しています。 ※他のはあまりしらないので対応されていません。 PostgreSQLインストー
      
  DockerでElixirを簡単に動かす Elixirの勉強のために、Windows上にElixirを直接インストールせずに、Docker上でElixirを簡単に動かす方法を試したメモです。 Windows上に直接インストールするには、InstallerのEXEファイルを動かすか、Chocorateyからインストールするのですが、EXEファイルのInstallerはProxyをうまくこえられなかったり、遅かったりしますし、ChocorateyでインストールするくらいないらDockerの方がいいやと思った次第です。 Dockerは何かと便利なのでなるべく使うように習慣付けているというのもあります。 動作環境 Windows 10 Docker 1.11.2 Elixir 1.3.2(2016/08/28現在latest) DockerにPull DockerのElixirのイメージを探して、
      
  背景 http://example.com/tags/1 みたいにURLにidを使うよりも http://example.com/tags/elixir みたいな形になっているほうが好きなのでPhoenixでやってみた。 かんたん。カソタソ 環境 Elixir 1.2.5 Phoenix v1.2.0 ここでは例として、 model: Tag attribute: name と、Tagモデルのnameアトリビュートを使用することにする いじる 当然ながら値は一意じゃないとまずいのでモデルにバリデーション追加↓ def changeset(model, params \\ :empty) do model |> cast(params, @required_fields, @optional_fields) |> unique_constraint(:name) end
      
  ブログから転載 Elixir 1.3(正確には1.3.0-rc.0)から時間に関する構造体がいくつか定義されました。そのうちの3つ、Date, Time, NaiveDateTimeをつくるsigilが追加されています。それぞれ~D, ~T, ~Nです。 iexで~D(2016-06-04)と打っても、そのまま表示されてしまい何が作られているのかよくわからないので、|> inspect(structs: false)としています iex> ~D(2016-06-04) |> inspect(structs: false) "%{__struct__: Date, calendar: Calendar.ISO, day: 4, month: 6, year: 2016}" iex> ~T(22:05:33) |> inspect(structs: false) "%{__struct__:
      
  Elixir(Erlang)の並列処理の威力を確かめるため、「テストサーバに外部からアクセスできないことを確認する」スクリプトを Elixir で書いてみました。 PythonやRubyなどで普通に直列で実行している場合、途中でつまるサイトがあると、タイムアウトまでそこで止まってしまいます。そういうサイトが複数あった場合にはそりゃもう大変です。並列実行することにより、変なサイトがあっても上限は最悪タイムアウトまでで済むため、精神衛生上とても良いです。しかも Elixir ならとっても簡単に書けます。 ソースコード一式は GitHub に置いてあります。 実行ファイルの作成手順 mix でプロジェクトのガワを作成 mix.exs を編集して依存ファイルをダウンロード Elixirのソースコードを書く コンパイル 実行 mix の設定 mix.exs の生成と編集
      
  状況 Phoenix v1.2.0 がリリースされたので意気揚々とアップデート! そのあと $ mix test したら警告でた warning: using conn/0 to build a connection is deprecated. Use build_conn/0 instead. 環境 Elixir 1.2.5 Phoenix v1.1.6 から v1.2.0 に上げた 解決方法 ここに書いてある通り、「Phoenix.ConnTest.conn/0って紛らわしいよね。みんな混乱してんぞ」ってことでdeprecatedになった https://github.com/phoenixframework/phoenix/issues/1486 のでPhoenix.ConnTest.build_conn/0に修正する # test/support/conn_case.ex ...
      
  defmodule MyApp.EntryService do def insert(params) do Ecto.Multi.new |> Ecto.Multi.insert(:entry, Entry.changeset(%Entry{}, params)) |> Ecto.Multi.insert(:log, Log.changeset(%Log{}, event: "entry inserted")) end end defmodule MyApp.SectionService do def insert(params) do Ecto.Multi.new |> Ecto.Multi.insert(:section, Entry.changeset(%Section{}, params)) |> Ecto.Multi.insert(:log, Log.changeset(%Log
      
  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? José Valim1さんの2016年5月25日付のブログ記事**Beyond Functional Programming with Elixir and Erlang**の翻訳です。 Joséさんのスタンスにとても共感できたので翻訳しました。 Erlang VMでの関数型プログラミングに少しばかり違った視点を付け足したいと思います:Erlang VMにおいては関数型プログラミングはゴールではありません。単なる手段に過ぎないのです。 Erlang言語及びErlang VMを設計する際、Joe2,Mike3そしてRobert4は関数型プ
      
  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Markus Krogemannさん2016年4月6日付けのブログ記事、Elixir - Where is your state? 1の翻訳です。 関数型言語はよく「状態を持たないのでプログラムの見通しがよくなる」と言われますが、サンプルアプリ以上のことをしようとすると何らかの方法で状態を保持しておかないといけなくなります。Haskellだとこういうときモナドを使うんでしたっけ?ではElixirではどうするか?という件について説明しています。 この投稿では、アクターベースの関数型プログラミング環境で状態を管理する方法として提供されている
      
  現在、Fintech系のスタートアップを始めるにあたって、以下の言語で選定を迷っている。 フロントエンド(これは決定済み) Reactjs ReactNative redux バックエンド Node.js Golang Elixir (Phoenix) Ruby (RoR) Python PHP どんなプロジェクトか? 会計に関する業務オートメーションサービス 企業向けとそこの従業員さん向けのサイトとアプリが必要。 細かな設定や20種類のレポートページ、情報ダウンロード、データ登録、データ編集がある。 アクセスは、契約した企業に限定され、同時アクセスは、1000ぐらいを想定しておけば問題ない。 会計に関するビジネスロジックには絶対にバグを出せない。 長く続けていくプロジェクトなので、今後、優位性のある言語を選びたい Node.js 採用すべき理由 僕が今最も書ける言語 npmが本当にすごい
      
  # ホームディレクトリに移動 cd # gitをインストール sudo yum install git # nvmをgitリポジトリからclone git clone git://github.com/creationix/nvm.git .nvm # .bash_profileを変更 vi ~/.bash_profile # 以下の設定を追加 source ~/.nvm/nvm.sh # 一旦ログアウトして再ログイン # インストール可能なnode.jsのバージョンの一覧を確認 nvm ls-remote # node.jsをインストール(LTSであるv4の最新版をインストールしておく) nvm install v4.3.1 # バージョンを確認 node -v # nvmのデフォルトバージョンを定義 nvm alias default v4.3.1 # erlangの依存パッケージをイ
      
  Facebook Messenger PlatformやLINE BOTが話題になっていますが、下記の記事でも言及されているように、BOTサーバーとして大量メッセージに対応するには「並行処理」がキモになってきます。 大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ そしてElixirといえばやっぱり「並行処理」なわけです。ということで「BOTサーバーを効率よく開発するにはElixir/Phoenixってとても良い選択なのでは?」という仮定のもと、色々と検証してみました。 並行処理のコード Elixirでプロセスを起動・管理する方法はいくつも用意されていますが、BOTサーバーの要件的に「状態」を管理する必要はありませんし、プロセスから「戻り値」を返してもらう必要もありません。要するにプロセスは「使い捨て」というか、実行が終わったら勝手に終了してくれればそれでオッケーなわけで
      
  やること Phoenixアプリにmemcachedにアクセスするプロセスを追加する Phoenixで子プロセスを立ち上げている部分を確認 Elixir(そしてErlang)は複数のプロセスが協働しながら一つのアプリケーションを実行するマルチプロセスモデルを採用しています. なので当然Elixirで作られているPhoenixFrameworkも同様にマルチプロセスモデルを元に作られています. 実際に, アプリケーション作成時に以下の様なコアモジュールが作成されます. defmodule PhoenixSample do use Application # See http://elixir-lang.org/docs/stable/elixir/Application.html # for more information on OTP Applications def start(_typ
      
  リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く