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

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
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をIoTボードで動かしたらどうなんの??**というIoT芸を披露しております. fukuoka.exでの登壇内容をQiita記事に起こして連載しているのですが,自分でも投稿内容が把握しきれなくなってきたので,ナンバリングも変えつつの目次を作ることにしました. なお,目次追加(更新)の際には変更通知を送るようにしますので,本記事をストックしていただけると,更新情報の通知を受け取ることができます. ElixirでIoT#1:IoTボード上でのElixir/P
最近、ElixirのPhoenixを使う機会が増えて来ました。そんなPhoenixですが内部的にErlangのHTTPサーバであるCowboyが使われています。内部的に使われてるので一度、Cowboyを使ってみたいと思い、Erlangで簡単なサンプルを実装してみましたのでその時のメモを書いていきます。 さらっとCowboyの特徴 モダンなHTTPサーバになります。モダンと言ってるだけあってHTTP/2とWebSocketを対応しているようです。遅延とメモリ消費量が少なくコード量自体も少ないHTTPサーバになります。なので簡単なAPIサーバを実装するときにPhoenixでは重過ぎる場合とかに使えるかなぁと思います。 実行した環境 Erlang/OTP 21 rebar3 3.6.1 Cowboy 2.4.0 実装 環境準備 Erlangとrebar3 まずは環境から。そもそものErlangの
CowboyでCookieの使い方を学んだので備忘録的に残しておきます。 はじめに ErlangやCowboyの環境構築や設定は以下の記事にまとめてるので気になる人はやってみてください。 CowboyでHello Worldのサンプルを動かしてみる ハンドラーの準備 まずはCowboyで呼び出すハンドラーの準備をします。パスに応じてハンドラーを呼び分けたりしますが今回は全てのリクエストは一つのハンドラーが受けるようにします。 start(_StartType, _StartArgs) -> Dispatch = cowboy_router:compile([ {'_', [ {'_', toppage_handler, []} ]} ]), {ok, _} = cowboy:start_clear(http, [{port, 8010}], #{ env => #{dispatch =>
$ mix phx.server =SUPERVISOR REPORT==== 21-Aug-2018::09:37:27.995612 === supervisor: {local,'Elixir.Logger.Supervisor'} errorContext: start_error reason: noproc offender: [{pid,undefined}, {id,'Elixir.Logger.ErrorHandler'}, {mfargs, {'Elixir.Logger.Watcher',start_link, [{error_logger,'Elixir.Logger.ErrorHandler', {true,false,500}}]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,worker}]
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く