タグ

ブックマーク / blog.netlab.jp (4)

  • Hashの値の省略記法 - NaCl Blog

    NaClの前田です。 Ruby Advent Calendar 2021の20日目の記事です。昨日は@getty104さんでした。 今回はRuby 3.1にするっと入ってしまったHashの値の省略記法を紹介します。 導入の経緯 最初の提案のきっかけは、何かでES6のenhanced object literalsを知って、2015年にFeature #11105 ES6-like hash literalsというチケットを作成したことでした。 この提案は、 {x, y} が {x: x, y: y} とみなされるというもので、ES6と同じ記法です。 ただ、HashというよりSetに見えるという理由で却下されました。私自身、すごくほしいというよりは「実装できたから提案してみるか」という感じだったので、あまりがんばって説得しなかった気がします。 次の提案は2018年のFeature #1457

    alcus
    alcus 2022/01/06
  • parser gemでRubyプログラムのバグを探す - NaCl Blog

    出力がちょっと独特ですが、レシーバなし(nil)のputsメソッド呼び出し(send)で、引数は文字列リテラル(str)が一つ、という風に読みます。 CurrentRubyというのは今実行しているバージョンのRuby、ということです。parser gemは過去のRubyの文法に合わせてパースすることもできるのでこのような名前になっています。 parser gemでバグを探す それでは、parserを使って条件式の中の代入式を探してみましょう。大きなコードに対して解析を行う場合、AST::Processor::Mixinを使うのが便利です。これはparser gemの内部で使われている小さなライブラリast gemの機能です。parserの処理のうち、Ruby以外の言語の解析にも使える部分が独立したgemとして用意されているようです。 最初にコード全体を貼っておきます。 require 'p

  • Amazon S3上のファイルをX-Sendfileで配信する - NaCl Blog

    NaClの田中です。 Amazon S3に格納したファイルを、X-Sendfileを使って配信する仕組みを構築しました。この記事ではその実現方法を紹介します。 X-Sendfileとは? X-Sendfileとは、NGINXのドキュメントによると「認証、ロギングなどをバックエンドで処理した後、内部リダイレクトされた場所からエンドユーザにコンテンツを配信するようにWebサーバが処理することで、バックエンドを解放して他の要求を処理させる仕組み」だそうです。Webサーバにコンテンツ配信をさせ、バックエンドのスループットを向上させるための機能、ということですね。 詳しい利用方法についてはドキュメントを参照ください。 mod_xsendfile for Apache2/Apache2.2 X-Accel | NGINX AmazonS3上のファイル配信 さて題です。今回やりたかったことはAmazo

    alcus
    alcus 2017/01/06
  • ドキュメント作業で楽をしたい - NaCl Blog

    プログラマがあまりやりたがらない作業のひとつとしてドキュメント作成がよく挙げられるかと思います。 〇〇仕様書とか〇〇設計書とか〇〇手順書などの作成作業ですね。 特に成果物がdocxやxlsxのようなプレーンテキストでない場合、次のような理由で気が滅入る方も多いのではないでしょうか。 手慣れた道具(エディタ)を使うことができない 専用のソフトでよくわからない機能が裏で勝手に動いたりしてて気持ち悪い 変更履歴をトラッキングしづらい、差分をマージしづらい Markdownでさくっと書いてそれっぽいものができれば、GitHubのWikiなどにぼちぼち書き溜めておいて最後にコンパイルするみたいなやり方ができるなぁとか、そうすればわざわざドキュメント専用リポジトリを作ったりする必要もないなぁとかモヤモヤしながらいろいろ調査・検討したので以下の4構成でまとめたいと思います。 Pandocについて Pan

  • 1