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

About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
Elixir Advent Calendar 2016 の22日目です。 mixiグループ Advent Calendar 2016 の22日目も記載しているのでよければそちらもどうぞ マッチングとは ゲームにおいて、プレイヤーとプレイヤーを何らかの条件で(同程度の強さなど)によって結びつけることです。プレイヤーにとって面白いと考えられる対戦を作るのが目標になります。 良い対戦相手を見つけるには待ち時間が必要になります。キューに入ってきた順ではなく、同じ条件のユーザが揃うまで待つ必要があるからです。 そのため、クライアントには非同期で結果を返す必要があります。 Phoenix Channels クライアントへ非同期に結果を返すために、Phoenix の Channels を活用します。WebSocket を抽象化しており、アプリケーション側から容易にメッセージパッシングを行えます。 また、
PS > [System.Environment]::OSVersion Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0 PS > docker --version Docker version 1.12.1, build 23cf638 PS > docker-compose --version docker-compose version 1.8.0, build d988a55 なおデータベースにはデフォルトのPostgreSQLではなくMySQLを用います。 Docker for Windowsの導入 http://www.atmarkit.co.jp
# = name = "TEST" User |> where([u], u.name == ^name) |> Repo.all() #SELECT u0.`id`, u0.`name`, u0.`age`, u0.`inserted_at`, u0.`updated_at` FROM `users` AS u0 WHERE (u0.`name` = ?) #["TEST"] # != name = "TEST" User |> where([u], u.name != ^name) |> Repo.all() #SELECT u0.`id`, u0.`name`, u0.`age`, u0.`inserted_at`, u0.`updated_at` FROM `users` AS u0 WHERE (u0.`name` != ?) #["TEST"] # > age = 20 Use
とりあえずオウム返しをするだけのbotを作ってみようと思います。 PHPやRubyでは、すでに色々な人が記事あげてくれていて、同じようにやればできるかなと思ってやってみました。 Phoenix+Elixirはちょっと触ったことがある程度。ライブラリのHTTPoison、Poisonは初めて触ります。herokuもそんなに詳しくないし、LINEのBOT APIも初見の状態です。 必要なもの LINE BOT APIのアカウント Callbackを受け付けるサーバ(https必須) bot LINEのアカウント登録 1万人限定だったかと思いますが、すでに一杯になってしまったようです。。。 https://business.line.me/ja/products/4/introduction 登録すると以下の情報が発行されますので控えておきましょう。 Channel ID Channel Sec
まえがき アルケミスト(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インストー
背景 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
状況 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 ...
現在、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
はじめに いまさらながらElixirとPhoenix触ってみました。「Railsに似ている」と噂されていますが使っているうちに「そんなの嘘だっ!」と何度もなりかけまして、イマイチ理解も進まなかったので、Rails と Phoenix を比較して理解を進めることにします。 今回はプロジェクトを立ち上げる際に使うコマンドをまとめていきます。 間違いなどありましたら指摘して頂ければと思います。 Elixirのいろは とは言ってもまずはElixirについて知る必要がありましたので、下記サイトで一通り触ってみました。 elixir school elixirの基礎を知れます。いろいろなサイトを見ましたが、これをやっておけばひとまず間違いないです。 Phoenix入門1 - Hello Phoenix phoenixで静的ページを作成する所まで解説しています。 それでは、次からRailsとPhoeni
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く