You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
はじめに これは 【その1】ドリコム Advent Calendar 2015 の19日目の記事です。 18日目はYさんの記事でした。 【その2】ドリコム Advent Calendar 2015の18日目はwasbi01さんの記事でした。 寺社自社で開発/運用している、Elixirを利用した広告配信システムについて紹介したいと思います。 自己紹介 @ohrdev 普段は写経(仏教的な意味で)や仏像彫り、寺社仏閣巡りをしています。 空いた時間はドリコムという会社で広告周りのシステムの開発をしています。 好きなbehaviourはgen_eventです。 Elixirについて ElixirはErlangのVM上で動作する比較的新しいプログラミング言語です。 Erlangで実装されている為、分散、耐障害性、ソフトリアルタイムといった(Erlangの)特徴を兼ね備え、Elixir独自の、マクロ、
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事はElixir Advent Calendar 2015の18日目の記事です。 Elixirで作るMMO Elixirというプログラミング言語が人気だ。関数型言語erlang VM上で動く関数型言語だ。Rubyっぽい書き方ができるといわれている。 Elixir Advent Calendar 2015というカレンダーができるくらい人気だ。 この記事では、Elixirで作るMMO-RPGの基礎というタイトルを付けた。なぜならばElixirはMMO1を作るのにとても適していると考えたからだ。 今回、elixirでMMOを作ろうと思っ
本日(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
以前 Qiita に Elixir初心者がVimで開発環境を整えてみた という記事を書き、その流れで vivi.vim という Vim プラグインを作りました。 Elixir 開発環境構築をサポートする Vim プラグインです。 それから残念ながら Elixir 初心者を脱せてはいないのですが、vivi.vim の ver 0.1.0 にて Elixir の補完機能が実装できたので、Elixir 視点での実装における苦労話などまとめてみます。 どんなことができるようになったか このようにモジュール内の関数が補完できるようになり、ついでにドキュメントも参照できるようにてあります。 簡単な原理の説明 Vim Advent Calendar ではないのであくまで簡単な説明ですが、要は裏で iex -S mix を起動して、repl と通信して補完候補やドキュメントを取得しています。 なお Vim
Elixirの初心者向け日本語情報が少ない問題 英語圏ではElixirの本が既に何冊も出ていますし、初心者向けの情報や最新動向ブログ、カンファレンスや一部コアな方のYouTube動画やPhoenix本輪読会などもあって、結構ワイワイしている感じですね。 しかし、日本語ではまだまだという印象があります。特に、自分のようにそもそもErlangを使ったことがない人間向けのゆるめのコンテンツが不足しているように感じています。 こういう状況下では、例えば知り合いや後輩にElixirを勧める場合に、「公式サイトのIntroductionが充実してるから、それ(英語)読んどいてね」的なパワハラまがいの提案が日々どこかで行われているのではないかという懸念があります。 (もっとも、v1.0.0時代の公式サイトは有志の方が日本語訳を提供されているので、情報の鮮度を気にしなければ今でも有用なはずです。cf. h
「複数の式にマッチさせるためにこのスペシャルフォームを追加した」とありますね。 リリースが近づいてきたElixir 1.2では新しいスペシャルフォーム withの導入が予定されています。本投稿でこの新しい特徴がどのように動作し、今後どのように効率的に使っていくとよいのかを調べてみます。 withは異なる構造化された結果を返すコマンドをまとめてチェーンするのを助けるために用意されました。特にひとつ使用例を挙げるとすればエラーハンドリングをちょっときれいに書くためです。あるコマンドの戻り値がwith節とマッチしなかった場合、プログラムは全部の式を飛ばしてwith節を抜けます。この記事の下の方に書いた例でもう少し理解しやすくなるでしょう。 例に入る前に、私が今試しているのはwithをサポートしているElixirのマスターブランチであるということにご注意ください。とはいえ1.2リリースに向けてマス
はじめに 皆さん、おはこんばんちは。 年の瀬です。 コミケの入稿割引が減っていきます。 第2回 企業対抗トーナメントも大晦日に、あります。ギルティです。 正直色々忙しいですね。分かります。だって師走だもの。 そんな時は肩の力をいったん抜いて、Elixir on Phoenix、入門していきましょう。 CentOS + Erlang + Elixir + PhoenixのDockerイメージで今日から始めるElixir on Phoenix入門 【中級編】drone.io + exrmで今日から始めるElixir on Phoenixホットデプロイ入門 前回、前々回に引き続き、Elixir/Phoenixの入門記事中級編です。 Phoenixを使った時のサーバーサイドの開発は今年一年を通して色々とナレッジも溜まってきたと思うんですが、 フロントサイドのベストプラクティスが欲しいなあというのを
はじめに 本記事は、Elixir Advent Calendar 2015 の記事です。Elixir のバージョンは v1.1.1 を前提としています。 オープンソースのここが面白い 改めて語るまでもないのですが、個人的に、オープンソース・ソフトウェアの面白みというのは、以下が挙げられるかと思います。 自分のコードを世界に向けて公開できる 他人のコードを改変できる 世界のエンジニアとの間でコミュニケーションが生まれる Elixirの面白さ Elixirはたくさんの面白さが詰まった言語ですが、とりわけオープンソースのプログラミング言語としてのElixir、そしてそのエコシステムの面白みというのは、個人的には以下が挙げられます。 Homoiconicである (ElixirはElixirで書かれている) 仕様が一通り落ち着いたのが最近である Homoiconicであるがゆえ、言語処理系のソースコ
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で監視状態においたWorkerプロセスがエラーになっても, 監視プロセスが検知してWorkerを再起動してくれるという振舞を手を動かしながら試してみましょう. ElixirでTaskを使ってEchoServerを動かすという記事の一部を再構成して提供しています. Workerを作る まずはWorkerの例としてTCP/IPで接続を待ちうけるサーバーを作ります. Erlangには gen_tcp というライブラリがあるのでこれを用いてTCP/IPを扱います. :gen_tcp.xxx となっている記述の部分で利用しています. # echo_server-1.exs defmodule EchoServer do def accept(port) do # オプションは以下のような意味である: # # 1. `:binary` - データを(リストのかわりに)バイナリとして受けとる
サーバの管理などでBashなどを使ってバッチ処理のスクリプトを書くことが時々あるのですが、今回はそれをElixirで行ってみようと思います。 Elixirにはelixirコマンドがあり、これを使用することでElixirのスプリクトを実行することができます。 ファイルの拡張子はElixirスクリプトの命名規則に倣って.exsとします。 最初の行にはシェバンを記述します。 標準ライブラリだけを使うのであればmix newをする必要はなく、適当な場所にファイルを作ればOKです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く