近況
近況報告です.
Rust でブログっぽいWebアプリを作った
題意の通り,Rust でブログっぽいWebアプリケーションを作っていました. 諸々作りこみが雑なのでもう少し改善する必要があるのですが,初心を忘れないうちに備忘録がてら作業記録を残しておきます.
使用した crate たち
iron
Rust 用のWebフレームワークのうち最もポピュラーだと思われる. 他にもnickel
,rocket
などがあるがrocket
は nightly 必須なのが個人的に好きくなく,nickel
は何か放置されてる感が 強く不安だったので,最終的に妥協してiron
になった.使い勝手は Python でいう Flask に近く,必要最小限のものがそろってるなぁという感じ.とはいっても Middleware がそれなりに出揃っているので,最小限のサービスを構築するのは十分可能だと思った(かかる労力のことはここでは考えていない).
あと,
iron
公式が提供している Middleware 用の crate の名前に一般的なもの(router
,params
など)が多く個人的には「まじかよ」という思いです…diesel
- Diesel
OR マッパ/クエリビルダ用の crate. もともとこいつの使い勝手を確認しておきたいという意図で今回のプロジェクトを作成した. 基本的には公式ページの Getting started を読めば基本的な使い方は分かると思うが,まだ情報が少ないので細かいところで躓いたときに苦労しそう. マイグレーション用の SQL を自前で書く必要があったり若干面倒なところがある気もするが,その辺は慣れればいいっぽい.
あとは毎度のごとく serde
や clap
などにお世話になりつつ作っております.
もう少し具体的に各 crate の使い方を説明しても良いのだけど,面倒になったのであとはリポジトリの方をご参照ください…
Rust/WebAssembly 勉強会に行ってきた
だいぶ日にちが経ってしまいましたが,名古屋でRust関係のイベントがあるということで行ってきました.
内容自体は基礎的なもの(所有権・借用まわり)でしたが,複数人で The Rust Programming Language の内容にツッコミを入れながら深めに読み進めたからか,今まで適当に感覚的に理解していたものをある程度理詰めで理解できたような気がします.
フロントエンド界隈の普段 JavaScript を書いている人たちが結構混乱していて,普段使用している言語の違いでここまで理解度に差が出るのだなぁと思ったりしました(別に煽る意図はないですが…).
個人的には, C/C++ 関係の資料を併用すると良い気がします.
あと,勉強会後の飲み会で「OCaml」「SML#」などといった単語が自然に出てくるあたりさすが名古屋だなぁという感じで妙な居心地の良さを感じました(とはいってもそこまで関数型言語を使えるわけではないのですが…)
東海圏で Rust 界隈のつながりができるいい機会なので,今後も続くと良いな…
「終わっていない議論」について
良く知らんけど,「迷惑行為(クソリプ)に困っています」と言っているのに新たに迷惑行為を産んじゃダメだろう…という程度の思いです. 「技術力で勝負」という考え方は大事だと思うが,「技術力で勝負しているんだから何やっても許される」とはならんでしょう…
おわりに
本当は最近流行している某新興SNSと連携できるよう OStatus 周りを実装するところまで行きたいのだが,そこまで到達する前に力尽きてしまいそう…
特に最近は下のような感情が支配的になっているので何とかしたい
「悲しい」「息苦しい」「痛い」などの感情があり
— 「🈚」 (@ubnt_intrepid) 2017年5月9日