Developers Summit 2019 にて, Web エンジニアの皆様向けに Elixir の紹介をした際に使用したスライドです. https://event.shoeisha.jp/devsumi/20190214/session/1996/ デブサミ 2019 年テーマ「SHAR…

この記事はErlang Advent Calendar 2014の9日目の記事です。 Erlang/OTP でサーバー作ったあとのデプロイはわりと大変だ。リリースをわりと念入りに作っておいても、ディレクトリ構造がややこしかったりいろいろと面倒らしい。ぼく自身は運良くそういう問題はこれから紹介する node_package を使っているのであまり苦労をしたことがないのだが、リリースを作る大変さはすごいE本を読めば書いてある。 すごいErlangゆかいに学ぼう! 作者: Fred Hebert,山口能迪出版社/メーカー: オーム社発売日: 2014/07/04メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る これを読んで、やっぱり自分がラッキーなことを再確認した。実際、うまくツールチェインを作りこんでも、 NIF があったりしてリリースを環境ごとにコンパイルしなければい
システム原則¶ Erlangのシステムを作って、インストールして、稼働させるまでの流れが書かれています。 なお、後半は systools を使って targetsystem というリリースツールを作るという話になっていますが、現在のErlangの方向性としては、 systools の代替として、 reltools を開発している(ただし、まだ万全ではない)という流れになっているとのこと(V談)。そのため、リリースの流れを知る、という意味あいで読むのが良いと思います。詳しくは reltools のドキュメントを参照してください。
rebarについて調べた rebarの使い方をちゃんと理解しようと思い、その際にまとめた内容です。 rebarとは rebarとは、Erlangアプリケーションやポートドライバ等の、コンパイル・テスト・リリースを簡単に行う事ができる統合ビルドツールです。 rebar自体にescriptを含んでいるので配布やプロジェクトに直接含める事が簡単にできます。またErlang/OTPの標準的な慣習に沿ったプロジェクト構成に従うので、ビルド時の設定作業が少なくて済みます。更にモジュール/ライブラリの依存関係管理もしてくれるので、ユーザーはGithub等のリポジトリからライブラリを簡単に再利用できます。 すばら。 インストール rebarのインストールはmacだとhomebrewでインストールできます。Windowsの場合はわかりません。すいませんがGoogle先生に聞いて下さい。
Elixir Schoolへようこそ! Elixir SchoolはElixirを学び、マスターするための最高の場所です。 ベテランの方も、初めての方も、レッスンや補助教材で必要なものが見つかるはずです。 ボランティアの方々の努力により、Elixir Schoolは多くの言語に翻訳されています。その中には次のような翻訳があります: বাংলা, Deutsch, Ελληνικά, Español, Bahasa Indonesia, Italiano, 日本語, 한국어, Bahasa Melayu, Norsk, Polski, Português, Русский, Slovenčina, Türkçe, ภาษาไทย, Українською, Việt ngữ, 简体中文 と 繁體中文. elixirschool/elixirschoolに参加することで、私たちと一緒にElix
最近「プログラミング Erlang」で Erlang の勉強を始めました。 プログラミングErlang 作者: Joe Armstrong,榊原一矢出版社/メーカー: オーム社発売日: 2008/02/23メディア: 単行本(ソフトカバー)購入: 8人 クリック: 284回この商品を含むブログ (97件) を見る Erlang を勉強してて気づいたのですが、「Erlang の関数は状態遷移の状態」なんだ、ということです。実行中の関数が、プログラムの現在の状態に対応する、というものです。他の手続き型のプログラミング言語でもそうなのですが、「外部のアクションによる状態の遷移」は手続き型では記述しにくいです。逆に Erlang はメッセージパッシング機構があるので、アクションはそのままかけます。もちろん Erlang の最大の特徴である「並行プログラミング」によって、「並行状態」も簡単に記述でき
A Million-user Comet Application with Mochiweb, Part 2 In Part 1, we built a (somewhat useless) mochiweb comet application that sent clients a message every 10 seconds. We tuned the Linux kernel, and built a tool to establish a lot of connections in order to test performance and memory usage. We found that it took around 45KB per connection. Part 2 is about turning the application into something u
A Million-user Comet Application with Mochiweb, Part 1 In this series I will detail what I found out empirically about how mochiweb performs with lots of open connections, and show how to build a comet application using mochiweb, where each mochiweb connection is registered with a router which dispatches messages to various users. We end up with a working application that can cope with a million c
システム原則¶ Erlangのシステムを作って、インストールして、稼働させるまでの流れが書かれています。 なお、後半は systools を使って targetsystem というリリースツールを作るという話になっていますが、現在のErlangの方向性としては、 systools の代替として、 reltools を開発している(ただし、まだ万全ではない)という流れになっているとのこと(V談)。そのため、リリースの流れを知る、という意味あいで読むのが良いと思います。詳しくは reltools のドキュメントを参照してください。
ずっとJava一筋で生きてきた僕が、最近Elixirに興味を持って色々触っています。 そんな中、色々なところで「OTPが強力」「OTPイケてる」みたいに言われていて、OTPってなんなんだろうとちょっと調べてみたんですが、結局わかったようなわからないような気持ちにしかなれませんでした。 ので、僕自身の理解向上と、そして僕みたいな迷える初心者さんたちのために一度ちゃんと調べたうえでまとめてみようと思いました。 まだまだ浅い理解で書いているので誤った記述もあるかもしれませんが、その際はご指摘いただければ幸いです。 また、具体的な活用方法など詳細については詳しい方々に譲るとして、今回はあくまで概略をざっくり書いていきます。 記事執筆にあたり、下記記事とすごいE本、『Programming Elixir』、あと公式サイトなどを参考にさせていただきました。 [翻訳] ElixirにおけるOTPの紹介
社内勉強会でアクターによる並行処理アーキテクチャについて解説した時の資料です。しれっと公開してあった資料に思いの外ブクマがついていたのに気付いたので、せっかくなのでこちらにも掲載しておきます。 既存技術の解説なのでアクターについて知っている人にとって新しい情報はないと思います! 特に何ベントカレンダーでもないです。 今後Erlang使うの? Erlang VMの運用ノウハウなさすぎるので、すぐ使おうという機運はなさそう。ScalaのAkka Actorが十分実用的なアクターシステムらしいし、Scalaは導入済みなのでそちらのほうが有力な選択肢になるか。アクターシステムではないが、goでも近いことはできるのでさくっと並行処理システムを構築するには良いと思う。趣味ならElixirつかいたい。 参考文献 良い資料がいろいろあって、多分に参考にさせていただいています。ながめると理解が深まるかもしれ
Erlangの軽量プロセスが軽いというので、ちょっと眺めている。 Erlangは、BEAMという仮想機械で動作する。BEAMのソースコードは、erts/emulator/beam以下にある。コンパイルは、erlcコマンドで、.erlから.beamに変換することにより行う。 さて、軽量プロセスってふと思えば、スレッドのことである。しかし、それでも309ワード(1236バイト)というのはすごい(うちヒープのサイズはデフォルト233ワードらしい)。さらに、ネイティブスレッドではなくグリーンスレッドなので、メモリ消費が少ない。軽量プロセスは、spawnの延長で呼ばれるerl_create_process関数で起動している。やっていることは、メモリを取得して、プロセス構造体を定義して、それをrunq(add2runq)につないで終了となっている。これしか作っていないのだから、プロセスの生成は早くて当
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く