久しぶりの投稿
ここ数年、仕事の忙しさとか環境の変化とか、いろんな要因が重なって、業務以外でTechを触るモチベーションが下がってた。2017年くらいからPostの頻度が落ち始めて、2018〜2020年は仕事に追われ、2020〜2024年は完全に趣味の沼にどっぷり。 久々に昔のPostを見返してみたら、当時はTechを楽しんでたな〜って改めて思う。そんな中、最近 “エンジニ
ここ数年、仕事の忙しさとか環境の変化とか、いろんな要因が重なって、業務以外でTechを触るモチベーションが下がってた。2017年くらいからPostの頻度が落ち始めて、2018〜2020年は仕事に追われ、2020〜2024年は完全に趣味の沼にどっぷり。 久々に昔のPostを見返してみたら、当時はTechを楽しんでたな〜って改めて思う。そんな中、最近 “エンジニ
APIリクエストの認証っていろいろあって、よくわからなくなるので整理してみました。(認証フローとかは省いてます) 認証/認可について認証を整理するためには、認証/認可の役割は知っとく必要があります。 認証(Authentication)とは「誰であるか」を本人確認すること。ID、PWでの認証が一般的な方法ですが、APIだとどのような認証方
SSL/TLS通信の仕組みってよく忘れてしまい毎回ググってるのでメモがてら整理してみた。仕組みを理解するには、デジタル署名、デジタル証明書の理解が肝となる。 デジタル署名デジタル署名は、送信されてきたデータが間違いなく本人のものであるのかを証明するのための技術で公開鍵暗号よって実現してます。送信者の送信データをハッシュ値に算出し暗号化したものがデジ
最近よく聞くk8sのServiceMesh。業務では使ってるけどいまいち理解が追いついてないのでルーティング方法とLBについて調べてみました。 ServiceMeshとはマイクロサービス間に張り巡らされたメッシュ状の通信やその経路を制御する考え方です。OSSしてはIstio / Conduit / Linkerdなどが有名で、今回はIst
暗号化技術の勉強で前回は、共通鍵 をやったので公開鍵暗号をやりました。 公開鍵暗号暗号化と復号に別々の鍵(公開鍵、秘密鍵)で行う暗号方式です。暗号化を公開鍵で行い、復号を秘密鍵で行なわれます。暗号化アルゴリズムにはRSAや楕円曲線(Elliptic Curve)暗号などがあります。 RSAの鍵長サイズは1,024から4,096ビッドで、サイズは256の倍数で
パブリックなネットワーク上でデータのやり取りを行う場合には、第三者にデータを盗み見や改ざんさせない仕組みが必要になります。その仕組みとしてデータの暗号化があります。暗号化方式には共通鍵暗号と公開鍵暗号が2種類あり、まずは共通鍵暗号を勉強してみました。 共通鍵暗号暗号化と復号を同一鍵で行う暗号方式です。共通鍵暗号の暗号化アルゴリズムでは長い間DESが利用されて
TCP通信開発に慣れていないのとTCP状態遷移を理解できていなかったのでSocket Closeしようとしてハマってしまった。 前提 やろうとしていたこと TCP ServerとClientを開発していて、Serverが落ちたときClientからリトライで再接続するような仕組み ハマったっこと Clientからリトライで再接続するとき、bind: ad
ユニットテストでよく mock や stub, fake など見かけるが理解度が低かったので、テストでは有名な xUnit Test Patterns を漁ってみるとこれらの用語は Test Double パターン がそれに該当するようだったので調べてみた Test Double パターン について対象コードをテストするために依存してるコンポーネントを別で用
定期的にブログ書いてないとなかなか書く気が起きなくなるので敷居が低そうだった Go の Linter について調べてみた。書こうと思って調べた矢先、非常にまとまった良い記事を発見してしまったが気にせず書いてみる。 Go の CI で lint と カバレッジ回して非人間的なレビューは自動化しよう in 2016年 - haya14busa Go Meta
最近、業務委託で参画させていただいてる会社の方から新たな言語を使うときはまず赤黒木を作ってみるといいよと聞きGoで実装してみましたー red-black-treeコマンドに引数で数字を渡すと赤黒木として表示させる実装になってます 赤黒木について赤黒木は「平衡木」というデータ構造のひとつで、ツリー構造のうち、根ノードから子を持たない末端の葉ノードまでの深さがな