Webセキュリティ資格のBurp Suite Certified Practitioner (BSCP) に合格した
Webバックエンド開発やデータベース領域の研究開発を10年近く行ってきた筆者ですが、2023年夏頃からセキュリティ関連のキャリアパスを志向するようになりました。
Webセキュリティの実践的な経験とその証明がほしく、Burp Suite Certified Practitioner (以下、BSCP) を受験し、晴れて合格しました🎉
Webバックエンド開発やデータベース領域の研究開発を10年近く行ってきた筆者ですが、2023年夏頃からセキュリティ関連のキャリアパスを志向するようになりました。
Webセキュリティの実践的な経験とその証明がほしく、Burp Suite Certified Practitioner (以下、BSCP) を受験し、晴れて合格しました🎉
ストリーム処理とバッチ処理を統合して扱えるプログラミングモデル(あるいはデータ処理のフロントエンド)である Apache Beam が、特にGoogle Cloud DataflowやApache Flinkからの利用を背景にシェアを伸ばしています。
Apache Beamの特色として、複数のプログラミング言語のSDKを持つこと・複数のバックエンド処理系(Flinkなどを指す)を持つことが挙げられますが、これがどう実現されているのかをまとめます。
まとめ:
std::sync::RwLock::{write(), try_read()}
を併用した場合には「書き込みロックを最優先」という挙動は必ずしも期待できない (LinuxではNG)parking_lot::RwLock
を使うと良いRustで DI (Dependency Injection)、してますか?
今日話題にするのはドメイン層でインターフェイスを定義してインフラ層でその実装を書くやつです。
例えばドメイン層で trait UserRepository
を書いて、インフラ層で struct UserRepositoryImpl
するやつです。
テストを書くとき、 struct UserRepositoryImpl
はDBアクセスなどしてしまうので取り回しが悪いから、mock を作って fixture を入出力したいことありますよね。
Rustでそういうことやるなら mockall がオススメだよという記事です。
そんなに不満はないのですが、もしベターなやり方があったら記事末尾のコメントやTwitterやらもらえたら嬉しいです。
前職のFOLIO時代の同僚で現CADDiの むらみんさんの記事 に
外部通信のような比較的大きい副作用が絡むテストに於いて テストダブルを差し込むことは可能なのですが、かなりの労力が必要になる印象を持っています。
と書いていたのを今更ながら発見して、自分はこうしてるけど皆はどうしてるんだろ?と思って筆(キーボード)を取りました。
Rustの 'static
、難しいですよね。
「プログラム中ずっと生き残るライフタイムでしょ?簡単簡単」
なるほど。では次の2つの 'static
の違いがわかるでしょうか?
1 | let x: &'static str = "Hello, world."; |
1 | /// Returns some reference to the boxed value if it is of type `T`, or |
「・・・2つめのなんだっけ?」
という人はぜひ読んでみてください🦀
この記事では、Rustの2種類の 'static
、
'static
ライフタイム'static
ライフタイム 境界を解説します。
あまり見ない気がするので書きました。特徴は、
parameters:
を使ってやっている。rust-toolchain
ファイル に書かれたバージョンと、 .circleci/config.yml
に書かれた MSRV (Minimum Supported Rust Version) の2つでビルドしている。cargo-readme
を使ってrustdocとREADMEを比較し、どちらかがメンテされていない場合にエラーにする(お好みで)。あたりです。見慣れなさそうなところはインラインコメント付けましたので参考にしてください 💁♀️
2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。
最終的にはFPGAに自作のCPUを書き込んでいくのだが、筆者はFPGAを使った経験がほとんどない。
CPUの回路設計はまだ手もつけていないが、不確実性を下げるために、先にFPGAを購入して普段遣いのmacOSからFPGA開発ができるように整えておく。
最終的には、macOSから papilio-prog
コマンドでBitstreamファイル (.bit
) を Papilio Pro LX9 評価ボードに書き込むことに成功したので、その記録を備忘として残しておく。
自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。
2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。
今回は、自作CPUのパフォーマンスベンチマークとして利用するつもりの riscv-tests の挙動を追ってみる。
関心があるのは、命令セットやOSの機能をどこまで用意してあげればベンチマークが実行できるのかという点。とりわけ、以下の観点をチェックしていく。
自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。