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

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/{
ブログから転載 Elixir 1.3(正確には1.3.0-rc.0)から時間に関する構造体がいくつか定義されました。そのうちの3つ、Date, Time, NaiveDateTimeをつくるsigilが追加されています。それぞれ~D, ~T, ~Nです。 iexで~D(2016-06-04)と打っても、そのまま表示されてしまい何が作られているのかよくわからないので、|> inspect(structs: false)としています iex> ~D(2016-06-04) |> inspect(structs: false) "%{__struct__: Date, calendar: Calendar.ISO, day: 4, month: 6, year: 2016}" iex> ~T(22:05:33) |> inspect(structs: false) "%{__struct__:
はじめに この記事はElixir Advent Calendar 2015の23日目の記事です。 Timexとは Elixirで時間や日付を扱う場合、よく使われるのがTimexです。それなりのサービスやアプリを作る際には、大抵時間や日付の処理が必要になってきますので、利用頻度の高いライブラリだと思います。 Timexを使ってみてヒヤリ・ハットな挙動がいくつかあったので、その紹介をします。 ケース1: タイムゾーンの取得 Timexでタイムゾーンの情報を取得するにはDate.localを使います。 iex(1)> use Timex nil iex(2)> Date.local %Timex.DateTime{calendar: :gregorian, day: 23, hour: 20, minute: 45, month: 12, ms: 755, second: 49, timezon
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く