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

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? (この記事は「fukuoka.ex Elixir/Phoenix Advent Calendar 2018」の15日目です) ZACKY こと山崎進です。 「fukuoka.ex Elixir/Phoenix Advent Calendar 2018」の14日目は, @kotar0 さんの「LiveViewというウェブアプリを作る第三の選択肢」でした。 さて,「ZEAM開発ログ2018年総集編その1: Elixir 研究構想についてふりかえる(前編)」では,下記の研究構想についてご紹介しました。 Hastega(ヘイスガ): 超並列高速
(この記事は「Elixir Advent Calendar 2018」の17日目です) 昨日の記事は @leafia78 さんの「Plug.ErrorHandlerとPlug.DebuggerでPhoenixの標準のエラーをカスタマイズする)」でした. はじめに こんにちは fukuoka.exでIoT芸人をやっております.これまでの連載記事は下記をご参照ください. ElixirでIoT:連載目次 この記事から新篇#3に突入しようかと思います. ヒトはなぜ関数型言語でIoTをやりたくなるのか?? みなさま『IoT』と言われたらまずはラズパイを真っ先に思い浮かべるでしょうか. Elixir界隈でもIoTやりたくなる勢は一定数いて,連載記事でも取り上げてきた『Nerves』や『GrovePi』といったランタイムやライブラリの開発が進んでいます. Elixirでラズパイ! |> ElixirでI
社内勉強会で読んでる本にpoolboyが出てきたので、遊んでみて、いろいろ調べたのでこっちにも貼ります。 poolboyとは プロセスプールを管理してくれるErlangのライブラリ。poolboyはワーカープロセスをいくつか予め起動しておく。それらを利用したいクライアントは、poolboyに「どのプロセスが暇ですか」と聞くと、「このプロセスは暇してます」とPIDを返してくれる。PIDを得たクライアントはワーカープロセスからサービスを受けられる。 何が嬉しいか 1. 並列度を制限できる 例えば、「画像URLを指定すると、インターネット上から画像を取得してディスク上に保存する」タスクを考える。並列度が制限されない場合、このタスクを必要な分だけ並列に実行できてしまうため、ネットワークやディスクに大きな負荷が掛かる可能性がある。あらかじめこのタスクを行うサーバプロセスの数を制限しておけばこの問題は
timerモジュールは、一定時間後に指定した関数を呼び出したりメッセージを送ったりできる便利なモジュールです。 timerモジュールは便利ですが、いくつか落とし穴もあります。 このモジュールを利用するにあたって注意する点について書いていきます。 timerモジュールは遅い というのも、タイマーの処理は1プロセスで全て行っているからです。 そして、timer:send_after/{2,3} や timer:cancel/1 は、gen_server:call/3 を使ってそのプロセスの処理が完了するのを待っています。 例えば timer:send_after/3 は以下のようなコードになっています。 このように gen_server:call(timer_server, ..., infinity) という書き方をしているため、複数のプロセスから大量に timer:send_after/{
GenServerからping-pongを送る3つの方法 プログラムが外部と接続し続けているとき,ping-pongやheartbeatなどと呼ばれる,外部との接続が正常に行えていることを確認するための通信を一定時間毎に行うことがある. これをGenServerで行うためのイディオムを以下の3つ考えた タイマーを利用して一定時間毎にpingを送る タイマーを利用して通信してから一定時間毎にpingを送る OTPのタイムアウトを利用して通信してから一定時間後にpingを送る まず全てのコードを示し,続いてそれぞれのメリットデメリットを述べる.どれにもメリットデメリットがあり,どれを選ぶといいかは場合によりそうだ. この記事はヽ(´・肉・`)ノログから転載した. 1. タイマーを利用して一定時間毎にpingを送る GenServerドキュメントのReceiving “regular” mess
情報通信の講義の中で出てきたアーランの損失式をプログラムとして作成したくなった時に、友人から「Erlangで作ったら?」と言われたので、Erlangで作りました。 Erlangとは 自分も今回初めてErlangに触れたのですが、ざっくり紹介してみます。 Erlangは通信会社機器メーカーのエリクソンが開発した、並行処理指向の関数型言語です。 他の言語との違いとしては、変数への代入は一度きりで、その変数の先頭は大文字でなければならないという決まりがあります。(小文字だとatomというものになるらしい) また、for文やwhile文が存在しないため、繰り返しの処理は再帰を用いらなければなりません。 アーランの損失式とは アーランの損失式は、下の式で表します。
この記事は「fukuoka.ex(その2) Elixir Advent Calendar 2017」の2日目,および 「Raspberry Pi Advent Calendar 2017」の19日目です. 昨日は,@zacky1972さんの「ZEAM開発ログv0.1.4 Python/NumPyとElixir/Flow一本勝負!ElixirはAI/ML業界に革命をもたらすか!?」でした. はじめに どうもこんにちは. fukuoka.exという福岡のElixir/PhoenixコミュニティにてIoT芸を披露している者です. 巷を賑わせている新しめの関数型言語である**ElixirでIoTできるよ!?**と喧伝しております. これまでの連載記事はこちら. |> ElixirでIoT#1.0:IoTボードへのLinux環境の準備 |> ElixirでIoT#1.1:IoTボードへのElixir
この記事は「fukuoka.ex(その2) Elixir Advent Calendar 2017」の21日目です. 昨日は,@kobatakoさんの「Slack botで通知したい投稿日のものを通知する with Qiita API」でした. はじめに どうもこんにちは. fukuoka.exという福岡のElixir/PhoenixコミュニティにてIoT芸を披露している者です. 巷を賑わせている新しめの関数型言語である**ElixirでIoTできるよ!?**と喧伝しております. これまでの連載記事はこちら. |> ElixirでIoT#0:IoTボードへのLinux環境の準備 |> ElixirでIoT#1:IoTボードへのElixir環境の構築とEEloTツールキットの紹介 |> ElixirでIoT#2:いろいろ分かるベンチマークを整備してみる |> ElixirでIoT#3:IoT
module Gumimaze = let read = let withIndex xs = Array.mapi (fun i x -> x, i) xs let lines = "maze.txt" |> System.IO.File.ReadAllLines seq { for line, y in withIndex lines do for c, x in withIndex (line.ToCharArray ()) -> (x, y), c } |> Map.ofSeq let rec walk maze p walked pt = let walked = Map.add p true walked let aroundP = let x, y = p [x+1, y; x, y+1; x-1, y; x, y-1] let checkAndWalk p = match
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く