chevron_left

メインカテゴリーを選択しなおす

cancel
やわらかテック https://www.okb-shelf.work/

リモートワークでWEBエンジニアをしています。 自称ミニマリストが配線と戦いつつ、快適なデスク環境を目指し「これは買うしかない」と思ったオススメのガジェットなどを紹介中。 エンジニア教育やプログラミング言語に関する内容も。

ぎょうざ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2023/01/11

arrow_drop_down
  • Jupyter NotebookでRubyを実行する

    少し前のRubyWeeklyの中に、非常に面白そうな記事が記載されていました。 nithinbekal.com Jupiter Notebook上でRubyのコードが実行する方法が紹介されていました。 計算領域で強いJuliaが、Jupyter Notebookで実行可能というのは前々から把握していたのですが、まさかRubyがJupyter Notebook上で実行できるとは...。 使用したい場面があるのか全く分かりませんが、面白そうなので試してみます。 実行環境の用意 色々とインストールするのが手間なので、Docker上で完結するようにしました。 docker compose upを実行す…

  • スプラトゥーンにおける自責と他責

    最近はスプラトゥーン3にハマっていて毎日、1時間ぐらいコンスタントにプレイしています。 一人でやることも多いのですが、同居人と一緒にプレイすることもあります。過去作と比べるとラグがひどかったり...と賛否両論あるようですが、個人的にはとても楽しくプレイしています。 わかばシューターで塗りまくって盤面をコントロールするのが楽しいです。 しかし、ゲーム自体は面白いのですが、思うように試合に勝つことができないと「味方弱すぎる!」とイライラしまうことがあります。 ひどい時には声にだしてしまうことも。そんな自分のイライラっぷりを見て同居人からは「味方に優しくしてあげて」と怒られてしまいました。 なぜ勝て…

  • 【書評】ソフトウェアアーキテクチャの基礎はアーキテクト最初の一冊にピッタリ

    先日、オライリーより出版されている「ソフトウェアアーキテクチャの基礎」を読了しました。 ページ数はそこそこの書籍でしたが、少しずつ少しずつ...読み進めて約1ヶ月で読了することができました。 ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ作者:Mark Richards,Neal FordオライリージャパンAmazon 今回は「ソフトウェアアーキテクチャの基礎」についての書評を簡単にまとめてみたいと思います。 この書籍の内容を一言で紹介するならば「アーキテクチャとは常にトレードオフであるものを理解せよ」といった感じでした。 全てはトレードオフ 僕自身はアーキテクト…

  • bulletのログファイルをパースするgemをリリースしました

    ActiveRecord上のN+1問題を検知するbulletというgemがあります。 bulletを仕込んでおく事でbullet.logファイルに該当箇所でN+1問題が発生している旨のログが出力されるようになります。どんな対応をすれば良いかまで提案してくれる...非常に賢いですね。 2023-08-15 15:20:31[WARN] user: okabe GET /api/v1/products/tags USE eager loading detected Product => [:product_tags] Add to your query: .includes([:product_t…

  • ピュアなRubyだけで複数のLoggerに出力する

    RubyにはLoggerクラスが組み込みライブラリとして提供されていて、ログをいい感じに出力することができます。 しかし、複数のロガーに対してログを出力することはLoggerクラスだけでは出来ません。RailsであればActiveSupport::Logger.broadcastが使えるそうですが、ピュアなRubyでも同じことがやりたいです。 blog.takady.net 利用シーンとしてはライブラリや自作gemを想定しています。 またピュアなRubyだけで実装することで配布時のファイルサイズを削減することが可能です。 できたもの ということで...複数ロガーを管理するクラスを定義しました。…

  • Rubyにおける並行処理と使い分けについて

    Rubyで並行処理をしたい場合、いくつか選択肢が考えられます。 自分がパッっと思いつくものを列挙しただけでも、これだけの選択肢が出てきました。 Thread Process Fiber Async Ractor Concurrent Ruby 単一サーバーにおける並行処理では基本的にはスレッドかプロセスを使う方法が一般的かと思いますが、これだけ選択肢を出されてしまうと一体、何を使えば良いのか分からなくなってしまいます。事実、僕もRailsで並行処理をするようなケースでは毎回、調べては選定をしています。 自分のためにもそれぞれの特徴とどのようなケースで使用するのが良いかを簡単にまとめてみました。…

  • 書籍「君たちはどう生きるか」は子供に読んでほしい本だった

    先日、スタジオジブリ最新作の「君たちはどう生きるか」を見てきました。 映画の感想については賛否両論あるようですが、僕の感想としてはポニョやハウルのようなストーリー面での楽しさはないものの、さまざまな謎や問いが劇中でされており「君はどう思う?」と感じました。これが面白いという感覚なのかは分からないです。 本作のタイトルとなった吉野源三郎さんの「君たちはどう生きるか」が気になったので読んでみました。 元より劇中に著書が描写されるシーンがあるものの、映画のストーリーと書籍の内容は全く異なっていました。自分にはなぜタイトルを拝借したいのか全く分かりかねますが、宮崎駿が幼少期に「君たちはどう生きるか」を…

  • コントローラーの単体テストをファットにしないRspecテストの書き方

    Rails製のアプリケーションのコントローラーの単体テストを見ていると内部で使用しているクラスやモジュールの観点・パターンまでを網羅したファットな単体テストが書かれているものを見かけます。しかしながらコントローラーの単体テストはあくまでコントローラーの責務について注目して書かれるべきであって、内部で使用しているクラスやモジュールの観点・パターンにまで踏み込む必要はありません。 ではコントローラーの単体テストで内部で使用しているクラス・モジュールがある場合に、どのように単体テストを書けば良いのでしょうか。 自分がよくやるのは、呼び出し時の引数を確認するという方法です。 サンプルコード 以下のよう…

  • 【ええな〜コード】irbから定義された関数のソースコードを表示する

    irbの実行環境から定義されている関数のソースコードが見たいなぁ...と思いMethodクラスのドキュメントを眺めていたのですが、そのようなメソッドは提供されていませんでした。代わりではありませんがsource_locationたる関数が定義されているファイル名と定義された箇所の行数を配列で返すメソッドを発見しました。 上手くソースコードを出力できないかと試していた所、すでに実現しているgemを発見してしまいました。 github.com 実はpryでソースコードを表示するために、このmethod_sourceが使われているそうです。 初版のリリースが13年前ですが、保守されており現行のRub…

  • Rubyにおけるカリー化(Method.curry)と関数合成(<<)

    RubyのMethodクラスの公式ドキュメントを読んでいた所、面白いメソッドを発見しました。 なんとメソッドをカリー化してProcにした値を返してくれるcurryというメソッドがありました。 Rubyではカリー化が簡単には出来ないと思っていたのですが、こんなメソッドが提供されていたとは...。 docs.ruby-lang.org カリー化は可能だが、関数からProcを返すようにする必要があり面倒... class Sample def self.add(n) Proc.new { m n + m } end end f = Sample.add(1) puts f.class # Pro…

arrow_drop_down

ブログリーダー」を活用して、ぎょうざさんをフォローしませんか?

ハンドル名
ぎょうざさん
ブログタイトル
やわらかテック
フォロー
やわらかテック

にほんブログ村 カテゴリー一覧

商用