Rustコトハジメ

プログラミング言語Rustに関する情報をお届けします。

エディタ開発で5400行もRustを書いてしまったおれが思うRustの良さ

VSCode形式のスニペットを読み、それをTrie木で管理し、挿入モードで文字が入力された時に候補となるスニペットを探し、それを表示し、バッファに挿入するということが一通り出来るようになりました。 実装はやや難解な点もあり、かなり疲弊したので開発はし…

combineを使ってVSCodeのスニペットのパーサーを書く

エディタアスペなので引き続きエディタ開発をしています。 GitHub - akiradeveloper/ijk: A real editor for real programmers エディタ開発の進捗 今回やること 出来たもの 解説 挙動 感想 エディタ開発の進捗 今はVSCode形式のスニペットを読み込んで、入…

test-generatorを使ってテストを自動生成する

自動テストを始めることにした経緯 自動テストの重要性 何をテストするか test-generatorライブラリを使う テストファイル追加を検知する 自動テストを始めることにした経緯 ijkを開発していて、ツイッターでバグレポをもらった。 ありえん。そうならないよ…

flameを使ってボトルネックを可視化する

私は今、エディタを開発しています。 Ijk: A real editor for real programmers - announcements - The Rust Programming Language Forum やるべきことは色々あるのですが、その中でもボトルネックを可視化する作業の優先度を上げました。なぜかというと、Ru…

impl T for Box<T>パターン

GitHub - akiradeveloper/ijk: A real editor for real programmers 現在、私はエディタを開発しています。その中で知った設計パターンについて紹介します。 問題の定義 解決編 STEP1: BoxをViewにしてみる STEP2: Vに?Sizedを足す STEP3: selfをderefしてあ…

AOJのBalls and Boxesを全クリして感じたこと

前に、AOJのコースをやっていて、その理由は網羅性があって学習の効率が良いからという話をしました。組み合わせ最適化(DPL)の問題の中に、Balls and Boxesというのがあり、 https://onlinejudge.u-aizu.ac.jp/courses/library/7/DPL/5 ひたすら色々な問題設…

包除原理を応用する問題

自力で解けず、他人の解法を見て、DPを使う解法はわかったのですが、理解しがたい解法があって、むしろそっちの方がマジョリティだったので、みんなが知ってる解法だから理解する必要があると考えて、結局5時間かかりました。コードから包除原理にノーヒント…