RustでGyazoクローンを作ったおおたの物置RustでGyazoクローンを作った2018-08-01rustTweetRustでGyazoのサーバ側と同じ機能を有するRyazoを作りました。リポジトリはここです。https://github.com/ota42y/ryazoオリジナルのGyazoと比べてDBにSQLiteを使っているところが若干違いがあります。pushしてあるので、pullするだけで使えます。DBファイルを先に作る必要があります。/app/ryazoGyazoのアプリをビルドする今回作ったのはサーバ側だけなので、アップロードするアプリはありません。xcodeオリジナルとの相違点DBがSQLiteオリジナルのgyazoはSDBMを使っていますが、こちらはSQLiteを使っています。いえ、使う上で気にするほどの違いはありません。gyazo.comとは非互換gyazo.comは公開されているGyazoとは大きく仕様が違います。そのため、公開されているGyazoをクローンしたRyazoもその影響を受けます。リサイズ後の画像を得られるscrapboxはこれを使って表示しているみたい1000より小さかったらリサイズしない的なのがありそうと、プリミティブな機能しかサポートしていないため、gyazo.comとはだいぶできることに差があります。機能は全くなくてよさそう後々正式版のgyazo.comに置き換えた時に非互換になると困るのでリサイズ対応エラー対応テスト画像をS3にアップロードデータベースのmysql対応rustの感想よかったところライブラリが複雑なデータ構造を返してきても理解しやすい型を間違って処理しようとしてもエラーになってくれるエラー処理が怪しいところに警告を出してくれるエラー処理を棚上げできる処理しなくても実行できる警告が出ているので後から見つけられるつらかったところstringの扱いto_string()面倒rustに慣れていないせいな気もするテストしにくいライブラリのパラメータを手元で作るの困難このテストではこの値だけしか使わないから作りたいけど無理みたいなのがあるテスト力が上がれば解決する?つらいところはrust力が上がれば改善が見込めるので、現状はとても良いのではといったイメージです。ota42yC++/Ruby/RoR/golang/rust/flutter。