やってみた
アセンブラを実装した前回の記事に続いて、 The Elements of Computing Systems にしたがって仮想マシンを実装した。その所感を本記事にまとめる。 以下でも述べるが、仮想マシンとはいっても VirtualBox のような代物ではない。より限定的な意味における仮…
先週のポストで、プライベートの学習がうまく進められていないことを書いた。不思議なもので、言語化してアウトプットしてみたら気が楽になったのか、ここ一週間はだいぶ調子がよくなってきている。 で、先月来少しずつ読み進めている The Elements of Compu…
4月半ばに AtCoder の問題を解くことを初めて、ほぼ4ヶ月となる。 5月にかけて集中して過去問に取り組んで、その後すこし熱がおさまっていた。これはもっぱら Project Euler に心変わりしていたというのが大きい。直近ではむしろ Project Euler に取り組むの…
Rails を使ってある程度の大きさのレコード群を一括更新する処理の実装方針を考えていた。愚直にイテレートして一件ずつ update していくのは論ずるまでもなくバッドプラクティスであるとして、その他の選択肢の優劣は検討してみないとよくわからないという…
入社初週の恒例行事として既存プロジェクトの環境構築をしていた。 幸いにしてほとんど障害なく進められたのはありがたい。このエントリに書くことさえ、大したことではない。しかし安易に検索エンジンに頼ったりせずに、自分の頭で考えてビルドを通せたこと…
今週から新しいプロジェクトに参加することになった。 Rails + postgres の構成で動くアプリケーションの環境構築をした。 ミドルウェアを使うときはコンテナで実行するのが手癖になっていた。しかし今回は「無理して Docker を使わないこと」のポリシーに沿…
例えば Ruby はユーザーが特に意識せずとも無限に大きな整数値を扱うことができる。 jnsato.hateblo.jp C++では long long 型を利用してもたかだか 64-bit までしか扱うことができない。ビルトイン型として提供されているのはこれが最大となるから、それより…
1/3 や 1/7 のような循環小数を数値型を使って表現しようとすると、普通は有効桁数の範囲でしか表記できない。そうではなく、次のように循環小数であることが一目瞭然となってほしい。 1 / 3 = 0.(3) 1 / 7 = 0.(142857) そこで単純に、分子と分母を引数に受…
昨日の記事で、 secure_compare は String#== とは異なり常に一定時間で処理が行われる、と書いた。 jnsato.hateblo.jp あらためて GitHub Developer から引用する。 Using a plain == operator is not advised. A method like secure_compare performs a "c…
AWS の個人アカウントに監査の仕組みを導入している。そのきっかけについては以前に書いた。 jnsato.hateblo.jp CIS AWS Foundations Benchmark を導入し、対応可能なセキュリティ対策を一通り有効化している。違反があれば AWS Chatbot 経由で Slack に通知…
Hanami で小さな開発をやってみた。 jnsato.hateblo.jp 単機能のウェブページに過ぎず、 Rails であれば1日でできただろうと思う。 hanami の機能や API を追いかけながらの実装だったので、やや時間はかかった。とはいえ、それでもファースト・コミットから…
1週間ばかり、 hanami による開発に取り組んでいた。動機付けを描写したのは以下のエントリ。 jnsato.hateblo.jp jnsato.hateblo.jp そして、作ってみたものがこちら。 heroku の無料 dyno にデプロイしている。 hanami-news.herokuapp.com ブックマーク管理…
表題通り、公式ガイドが提供しているハンズオンをやってみた。 guides.hanamirb.org 書かれていることをひととおりなぞったに過ぎなく、批評的に何かを語ることはまだできないけれど、アークテクチャの単純明快な美しさには心を揺さぶられた。明確な責務を与…
なにか作ってみようとなったときにサーバーレスで簡単にホストできるのは嬉しい。 パブリックなプロダクトではないし、ソースコードもプライベートレポジトリにおいてあるので、具体的にどう、という話が書けないのは残念だが、せめてやったことのアーカイブ…
AWS Amplify というフレームワークについて、 Developers.IO の記事を筆頭に、名前を見かけることがここ数ヶ月でグンと増えた感覚がある。 CLI で簡単にサーバーレス構成を立ち上げられてとても楽らしい、など漠然とした印象を持つだけだったが、小さなプロ…
GraphQLのチュートリアル、 How to GraphQL をやった。どんな技術であるのかについて、概論やイメージは浸透しているだろうから、この記事はあらためてそれを紹介するというよりも、初めて実装に触れた学習者の立場から手応えを交えて書く。すなわち、GraphQ…
自己署名した証明書について、オレオレ証明書と揶揄する呼び方が浸透して、自己署名のリスクという側面はおおいに宣伝されている。一方で、ではどのような手順を踏めば証明書に署名し、発行できるのか、という実態について、知る機会を持つことはなかった。 …
AWSを触るようになって3年強となり、仕組みにもだいぶ慣れてきたし、より多くのサービスを使うようになった。IAM などはポリシーもロールもどんどん増えてきていている。 とはいえリソース群をコード化して管理するにも限界がある。新しく定義するにもコンソ…
※2020/03/05投稿のQiita記事をエクスポートしたものです。 S3 + CloudFront + Route 53の構成で静的ウェブサイトの配信を行っている。 レポジトリには静的ファイルだけを置いて、AWSリソースはだいぶ昔に手作業で構築したものが動き続けている。以下の記事な…
※2018/11/19投稿のQiita記事をエクスポートしたものです。 執筆背景 Digdag と Embulk による既存のバッチ処理をアップデートする機会があったのですが、あれこれつまずいて苦しい思いをしてしまいました。 あれこれ試行錯誤するに当たって、様々な方が蓄え…