タグ

ブックマーク / tagomoris.hatenablog.com (6)

  • 「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ

    「研鑽Rubyプログラミング」を読んだので、その感想を書く。 届いた。研鑽を積むぞ! pic.twitter.com/YuL5WUyjap— tagomoris (@tagomoris) 2023年4月15日 なお書の訳者である角谷さんにをお贈りいただきました。が、その前から同書のβ版(電子版)を購入していたため、実際にはほとんどをそちらで読みました。*1 エントリの言いたいことは、様々な状況に対応してコードを書くには知識・技術の幅と深さが重要で、書はそのための重要なインプットとなるでしょう、です! 総論: さまざまなRubyの書きかたを学べる さて、このは初手から対象読者を「中級から上級のRubyプログラマー」としており、そのものの目的は「まえがき」の先頭にもはっきり書かれています。少し長めに引用します。 書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を

    「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ
  • Golangの defer をRubyでも使いたい - たごもりすメモ

    前にRubyでtry-with-resourcesが使いたいという話を書いてそのときにリリースしたgemもあるが、人類の安全に・便利にリソースを解放したいという欲求には際限がない。 try-with-resources は便利なんだけど欠点がないわけではなくて、リソースの確保と解放を一ヶ所でまとめてやらないとネストが深くなる。複数箇所に分けて書くならネストも2段になってしまう。 これはこれで整理されたコードを書く圧力になるので悪くない面もあるんだけど、とはいえもうちょっと自由にやりたい、いい方法は無いもんか、という話。 defer ある。Golangの defer が便利そう。defer foobar って書いとくと、そのスコープを外れるときに自動的に foobar の内容が実行される。あるスコープのどこに何度書いてもいい。これは便利。 # GolangのdeferのままRubyにもってき

    Golangの defer をRubyでも使いたい - たごもりすメモ
  • CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ

    msgpack-inspectを作った話に書いたが、このツールはエントリにも書いたとおり rubygems.org に公開されていて CRubyJRuby でインストール・実行可能である。その一方でバイナリをダウンロードするだけで使えると便利だよねってことで、mrubyでクロスコンパイルしてリリース版が置いてある。 これは実はそこまで簡単ではなくて、Rubyの機能のうちmrubyでもサポートされている文法や組込みライブラリの範囲しか使えないのはもちろん、たとえば外部のライブラリに依存する機能*1などは mruby でクロスコンパイルしようとすると地獄を見ることなどもある。 そんな事情もあって、今回クロスコンパイルしたリリースに成功するまで、けっこうな手間をかけた。ここにそのへんをざらっと書いておこうと思う。 やったこと mruby-cliを使う 基的にmrubyでビルドするための準

    CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く - たごもりすメモ
  • Docker 1.8 に Fluentd logging driver が入りました - たごもりすメモ

    以前に書いた話の続きなんだけど、Docker 1.8が出た。 blog.docker.com で、それに Fluentd logging driver が入っている。これで Docker container で起動したプロセスのSTDOUTやSTDERRを直接Fluentdに向けて投げることが可能になった。Dockerにpull-reqを送ったのは初めてだったんだけど、無事マージされてリリースまでこぎつけたので、当に出たときはほっとした。途中だいぶ大変だったので……。 Collecting All Docker Logs with Fluentd | Treasure Data Blog 5 Use Cases Enabled by Docker 1.8’s Fluentd Logging Driver | Treasure Data Blog Treasure Data blogで既に

    Docker 1.8 に Fluentd logging driver が入りました - たごもりすメモ
  • dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモ

    dmmは世の中のオトコノコにとっていろいろと言及するのに躊躇いつつ誰でも知っているアレなわけです。で、それなりの規模のWebサービスの裏側を見たことがある人なら誰でも、dmmの裏側はきっと物凄いことになっているに違いない、ということが想像がつくわけですね。 簡単に思い付く範囲でも以下のようなものがあります。 膨大な画像(サムネイル)および実コンテンツ(画像、動画、ソフトウェア圧縮ファイル)を配信するトラフィック しかもトップ数パーセントだけではなく、おそらくかなり裾野が広いトラフィック 膨大な商品の高速な列挙・表示 膨大な商品に関するタグつけ 膨大な商品に関する自然言語による全文検索 全トラフィックにおける膨大な量の課金・決済トランザクション 実物の通信販売に決済結果を載せる流通関連の問題 大勢のユーザに対して膨大な商品から適切に行うためのレコメンデーション これだけのことをやっているから

    dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモ
  • ShibUIを公開した - たごもりすメモ

    HadoopSCRでしゃべったときにデモったりNHNテクノロジーカンファレンスでデモったりしたHiveクエリのスケジュール実行および結果のグラフ登録をやる社内用のアプリケーションがあったんだけど、コードの整理をやるついでに社内依存部分を切り分けたりしたので、ついでに外部から見られる場所に置いてみた。 tagomoris/shibui · GitHub 自分が以前書いたHiveクライアントWebアプリケーションであるところの shib や、daily/hourlyでの数値データを記録してグラフ化するkazeburoさんの HRForecast と連携して機能するようになっているので、これらのインストールが必須。なのでだいぶ使用までの敷居が高いし、どうかなと思ったんだけど、まあ外にあった方がある意味でメンテナンス性も上がるので、とりあえず。 READMEを読めばわかるが、何もないところからだと

    ShibUIを公開した - たごもりすメモ
  • 1