2024/07/16

NeovimでFlutterの開発環境を構築する

ようやくSwiftに馴染んできたと思ったら次の案件はFlutterだと言う。まだ具体的な時期は決まっていないが今年中の話には違いない。面接で「あらゆる技術領域にチャレンジしたい」などと自信満々にアピールしたことがボディーブローのように効いてきている。 とはいえ、良い話もある。SwiftでのiOSアプリ開発はXcodeの使用が絶対条件だがFlutterはVimで書ける。Xcodeを使うとしたらビルド周りの設定をする時だけだ。その上、よほど込み入った作りでなければ共通のコードでAndroidアプリも開発できるため受託側としては工数が少なく非常に都合が良い。いちコーダーとしては、単純なモバイル案件は全部FlutterかReact Nativeで受ければいいじゃんと感じてしまうがそうもいかない事情があるのだろう。 Read more

2024/06/02

LinuxでNeovimでもSwiftを書きたい!

転職して約一ヶ月。予想に反してiOSアプリ開発案件にアサインされたため業務時間中は常にMacを使っている。皆さんもよくご存知の通り、iOSアプリの開発にはMacが必須だからだ。リモートワークでは貸与されたMacを使うし、実機検証用のiPhoneも傍らに置いてある。半分Appleアンチで知られる僕も今やすっかり林檎林檎している。じきに取り囲まれて林檎シロップ漬けと化すことだろう。 さて、しかし業務時間が終わればもはやこっちのものである。退勤報告をぶち上げた直後に即ディスプレイの入力を切り替えればそこは僕の庭だ。Macの方でもなんとかタイル型WMの挙動を再現できないかとyabaiを入れてみたり、なるべくCommandキーを使わないショートカット体系を目指してみたりと試行錯誤しているものの、どうしたって自分の手に馴染んだ環境は他と代えがたい。 Read more

2024/05/05

IdeaVimと仲良く

フレームワークを用いたJavaの開発案件をVimのみでこなすのは少々厳しい (いや、こうすればうまくやれるとの案があれば教えてほしい! 切実に!) ので、IntelliJ IDEAにIdeaVimを入れてなんとかする。文脈から明らかな通り、IdeaVimとはVimっぽい操作体系を実現するためのプラグインである。 とはいえこれでVimの操作感を十分にエミュレートできるのか、と言われればやはり難しい。そもそも「Vimの操作感」とはVim単体のみならずプラグイン群と独自の設定を含めた個々人に固有の環境を指すため、他のソフトウェアがどんなに頑張ったところでVimでなければVimではないというのが正直な感想だ。しかし僕はプロのグラマーであり、過度の公私混同はプロフェッショナルに反する。 Read more

2024/03/03

皆さん技術書どう読んでる?

小説や漫画は電子でも技術書は紙、という人はかなり多いんじゃないかと思う。アバウトに書き込めるし、付箋を貼り付けられるし、マーカーも引ける。ぺらぺらとめくって雑に読むこともできる。それくらいタブレットでもできると言われても、システム上の制約があるのとないのとじゃ大違いだ。 しかしその一方で、技術書は重い。デカい。よりによって繰り返し世話になるリファレンス的な本ほどページ数も多い。500ページ超えはざらの世界だ。にも拘らず、ひょっとすると一冊では済まないかもしれない。これではもう「ぺらぺらとめくる」などと悠長なことは言っていられない。どう考えたって検索の方が早い。いわゆる書見台の類も、こんなに分厚い本は想定して作られていない場合がほとんどだ。真ん中あたりばかり開くのなら別だけどな。 Read more

2024/02/25

DockerなしでBlueskyのPDSを建てる方法

晴れてBlueskyの連合がスタートした。厳密には、我々はBlueskyの構成要素の一つであるPDS(Personal Data Storage)をセルフホスティングできるようになった。これにより各ユーザは自分のデータを自らの管理下に置くことができる。また、他ユーザの登録を許可しているPDSに移動すれば権威的ではない他の個人にデータを預けられる。 一方、MastodonやMisskeyなどと異なるのは、モデレーションやフィードの生成、固有IDの半永続的な管理を担う上位の構成要素が存在しているところだ。これらは膨大な計算資源を要するため、個人でのホスティングは実質不可能とされている。つまり、PDSは文字通り個人データの保管庫であって、あらゆる制約から逃れられるわけではない。公式のルールに違反する投稿は依然として処罰の対象になりうるし、まだ前例はないが他のPDSとの連合から排除される可能性も考えられる。 Read more

©2011 辻谷陸王 | Fediverse | Keyoxide | RSS | 小説