ls /asapon/blog

基本tech、時々多趣味

転職して1年と半年が経ったので、ざっくり振り返ってみた

はじめに 今年9月で転職して、1年半が経ちました。書きたいことはたくさんあるのですが、現職で何をやっているか踏まえながら、YWTで今日までをざっくり振り返ってみたいと思います。 現職では何をやっているの 株式会社フィードフォースで、DF PLUSのバック…

Rubyで競技プログラミング bit演算の基礎まとめ

はじめに 最近、競技プログラミングの勉強をはじめました。仕事で求められるものとはまた違った知識・経験が要求され、なかなか難しさを感じています。 この記事では競技プログラミングを通して学んだ、Rubyを用いたbit演算の基礎をまとめたいと思います。 b…

RSpecで書く基底クラスのテスト実践例

これはなにか RSpecを書くときに役立つ、実践例を書いた記事です。今回は 基底クラス のテストを、改善前と改善後合わせて紹介します。他テスト(Minitestや他プログラミング言語)でも応用できる考え方なので、参考にしてみてください。 基底クラスをテストす…

技術雑誌読んでみたら結構良かったよというお話

なんで技術雑誌を読み始めたの? 1on1で「技術雑誌を読んでみたらどうだろう」とアドバイスをもらったことがきっかけです。 知識の引き出しを増やしたいという気持ちはあったのですが、具体的にどう手を付けようか迷っていたので「何かのとっかかりになれば…

Composeの起動順番をアプリケーション含め制御する

はじめに Selenium環境をDocker内で完結させるの続きっぽい感じになっています。ですが、本記事のテーマである「起動順番の制御」は、上の記事を読まなくても理解できるよう心掛けて書きました。 例えば「続きっぽい」と感じられる要素は、実装時に書いたア…

Selenium環境をDocker内で完結させる

はじめに とある予約の申し込み作業が面倒になったので、ブラウザ自動操作のためSeleniumを採用しました。色々ローカルに入れるのもアレなので、Docker環境で完結させています。 構成 イメージ図は以下。 docker-compose.yml 以下のようになります。 version…

新年あけおめ縦走してきました [後編]

つづきです。 前編はこちら。 景信山〜小仏城山 絶景を見ながら景信山をあとにします。 台風の影響で小仏ルートが止まっています。登山前に調べた限りでも、復旧の見込みは立っていない模様。 陣場山〜高尾山は、至るところにエスケープがあるため挑戦しやす…

新年あけおめ縦走してきました [前編]

明けましておめでとうございます! 昨日は初詣も兼ねて、念願だった陣場山から高尾山の縦走ルートを歩いてきました。台風の影響で行けてなかったのですが、去年の12月24日にバスが通るようになったので早速。 駄文ですが、当時の空気感を知ってもらえればと…

圧縮ファイルのハッシュ値がタイムスタンプによって変わってしまう

どんな問題が起こったのか 中身が同じファイルを、それぞれ圧縮した。 だが、圧縮ファイルのハッシュ値が同じにならなかった。 再現してみる 注意 PCの性能によっては、圧縮処理が一瞬で終わるかもしれません。 そうなると事象の再現ができないため、 sleep …

Datadogのカスタムメトリクス収集方法を整理する

はじめに Datadogで独自のメトリクスを取る方法が2つあり、どちらを使うべきか迷いました。そのため調べて分かったことを、ここに整理しておきたいと思います。 結論だけ知りたい方は、こちらからどうぞ。 カスタムメトリクスについて ユーザが独自に設定し…

MItamaeでdotfilesを管理してみた

MItamaeを使ってdotfilesを管理してみたら、お手軽に良い感じになったので紹介します。 そもそもMItamaeって? プロビジョニングツール(Infrastructure as Code)であるitamaeを、mrubyで実装したものになります。 github.com itamaeの文法が使えるため、シェ…

Rubyで文字コードを扱ってて四苦八苦したのでまとめてみた

TL;DR 文字コードってUTF-8で統一すれば良いんでしょ?くらいの認識しか持っていなかったWebエンジニアマンが、実際にちゃんと文字コードについて学びまとめてみた話 この記事ってどんな人が対象なの? B2B系の仕事に関わる人は得になるかもしれません(の割に…