タグ

2018年12月28日のブックマーク (3件)

  • マジックナンバー (プログラム) - Wikipedia

    プログラムにおけるマジックナンバー(英: magic number、魔法の数字)とは、何らかの識別子もしくは定数として用いられる、プログラムのソースコード中に書かれた具体的な数値である。そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者人がマジックナンバーの意図を忘れたときに閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。 概要[編集] 次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。 その数値の持つ意味がわかりづらい。 数値を変更する場合に、複数の箇所を変更しなければならない可能性がある。 例1 たとえば、消費税が8%の時に、税込価格 (tax-included price) を求める以下のようなソースコードをC言語で書いたとする。 これは、p

  • Ruby 2.6 の改善を自慢したい - クックパッド開発者ブログ

    技術部で Ruby インタプリタの開発をしている笹田です。娘のために、今年はじめて大きなクリスマスツリー(1.8 m)を買いました。 稿では、私が Ruby 2.6 で取り組んだ中から、次の新しい機能と性能改善について紹介します。どちらのトピックも、普通に Ruby を使っているだけなら気にならない、玄人向きの記事になっていると思います。興味がある人にお読み頂ければ幸いです(居ればいいのですが)。 TracePoint の拡張 新しいイベント script_compiled の導入 フックを有効にする場所を制限する機能の導入 デバッガの実装が、10~100倍くらい速くなる、かもしれない ブレイクポイントの実装を例に解説 Transient Heap の導入 短寿命メモリオブジェクトの高速化 世代別コピーGCのアイディアを利用 Rails とかには効かないかも...。 そういえば、両方とも

    Ruby 2.6 の改善を自慢したい - クックパッド開発者ブログ
  • Ruby 2.6.0とより高速なcsv - 2018-12-25 - ククログ

    Rubyの標準添付ライブラリーのcsvをメンテナンスしている須藤です。 歴史 csvは名前の通りCSVを読み書きするための便利ライブラリーです。 もともとRuby体とは別に開発されていたのですが、Ruby 1.8.0のときにRuby体にバンドルするようになりました。dRubyやREXMLがRuby体にバンドルされたのも同じタイミングです。Ruby 1.8.0のときにバンドルするライブラリーをすごく増やしたのです。(その頃の様子がわかるURLをここに置いておきたかったけど見つけられなかった。。。) Rubyではcsvのようにrequireするだけで使えるライブラリーを「標準添付ライブラリー」と呼んでいます。Stringのようにrequireしなくても使えるライブラリーは。。。なんだろう。組み込みクラスかしら。 その後、Ruby 1.9.0のタイミングで実装をFasterCSVに置き換え

    Ruby 2.6.0とより高速なcsv - 2018-12-25 - ククログ