CSSで画像をトリミングするためにobject-fitを使ってたら痛い目を見ました

久しぶりにHTMLコーディングをすることがありました。 大きい画像をCSSでトリミングして良い感じに表示したいなと思い、object-fit: cover; を使って良い感じに表示できてすごく便利になったものだなと感心してました。 で、あとから画像の比率がおかしいと…

MVVMアーキテクチャでAPIからビール情報を取得して表示するコードを書くのに役立った記事をまとめておく

PUNK APIというBREW DOGのビール情報を返してくれるAPIがあり、それを使って簡単なデータ表示アプリをMVVMアーキテクチャで作ったときに役立った記事のリンクを備忘録としてまとめておく。 ライブラリは以下を利用した。 HTTP通信周り OkHttp4 Retrofit2 Ser…

試して理解 Linuxのしくみの第4章を読んだ

blog.ryskit.com 前回の続き。 この4章で取り扱うのは「プロセススケジューラ」についてです。 この章で大事なのは以下のとおり。 同時に何個のプロセスが実行していても、ある瞬間に論理CPU上で動作できるプロセスは1つだけ 論理CPU上では、複数プロセスが…

試して理解 Linuxのしくみの第3章を読んだ

blog.ryskit.com の続き。 今日は第3章のプロセス管理を読んだ。 カーネルによるプロセス生成と削除の機能についてだが、仮想記憶の理解がないと詳しい理解が得られないということで、仮想記憶がない単純な場合をもとに話が進んだ。仮想記憶については5章で…

試して理解 Linuxのしくみの第2章を読んだ

blog.ryskit.com の続き。 第2章では、CPUはユーザモードとカーネルモードを切り替えて処理を実行しているということを学んだ。 CPUのモード遷移の図や実験で試したプログラムのCPUのモードの遷移図は分かりやすい。 試したコマンドは、strace, sar 。 簡単…

試して理解 Linuxのしくみの第1章を読んだ

「Linuxのしくみ」はOSやハードウェアについて、実際に手を動かして挙動を確認しながら学べる本です。 仕事で一緒に働いている方々が低レイヤに詳しいので、感化されてこの本を手に取った。 理由は、試して理解と書いてあったから。 手を動かさずに理解する…

direnvの使い方をいつも忘れるからメモしておく

direnvの使い方をいつも忘れるので備忘録として書いておく。 direnvとは 特定のディレクトリに移動したときに設定ファイルに記載された環境変数を読み込んで有効化するツール。 とりあえず、まだインストールしてないのであればインストールするべし!便利な…

メタプログラミングRuby第2版 Ⅱ部を読んだ

メタプログラミングRuby第2版 Ⅰ部を読んだの続き メタプログラミングRuby第2版 Ⅱ部を読んだので、簡単な内容と感想を書いていく。 最後に、読んでメモしたものを追記しておく。 I部ではRubyのメタプログラミングの考え方や継承チェーンの仕組み、メソッドや…

「新装版リファクタリング - 既存のコードを安全に改善する」を読んだ

今、仕事で参加しているプロジェクトのJavaのコードは数年前のもので、昔に書かれた部分は、メソッド名が分かりづらかったり、処理を一つのメソッドに詰め込み過ぎていて可読性が低い状況である。(テストは結構書かれているから修正できる) また、最初にアプ…

EC2+Squidでプロキシサーバを立てて、複数IPでアクセス元を分散させる

スクレイピングをする場合、同じアクセス元だとBanされたりすることがあるようで、なるべくコストを抑えつつプロキシサーバを運用したいと相談されたので、AWSで試してみることにしました。 前提 VPCとサブネットがすでに作成されている前提で書いていきます…