RustとTauriでGUI付きDockerのステータスを表示したりするアプリを作ってみてる件、ちまちまと検証しながら進めているのですが、 main.rs が膨らんでくるとやっぱり「あぁDocker関連のコードを分離したい」となってきます。 そういう時にどうすればいいのか、ちょっとやってみてました。キットもっと楽な方法があるはずなのですが、今の私の知見です。 単純に切り出す 切り出す mod 指示でインポートする 例えば元コードがこんな感じ。 1 2 3 4 5 6 7 fn hoge() -> String { "hogehoge".to_string() } fn main() { println!("{}", hoge()); } ここから hoge() を切り出したければ、まずは単純に切り出してみます。 hoge.rsを作成してお引っ越し 1 2 3 4 // hoge.rs fn hoge() -> String { "hogehoge".to_string() } これをmain.rsから読み込ませてみるのは、 mod キーワードでファイル名を渡してモジュールとして認識させることができます。 1 2 3 4 5 mod hoge; // hoge.rsを取り込む(モジュールとして) fn main() { println!("{}", hoge::hoge()); } でもこれはエラーになります。 ❯ cargo check Checking libkiridashi v0....
Tauriで実用?アプリを試してみてます(不定期ネタ)
授業のVMをVirtualBoxからDockerベースに変更したのですが、学生にとって本当にVM(的なもの)が動いているのかというのが不安になってしまうこともあるかと思います。 本当はdocker系のコマンドを教えたいところですが、それを話す学年ではない(そういう主戦場の学年はもうひとつ上)ので、稼働状態と最低限の制御のできるUIができないかなと思っていたら… あるではありませんか? Tauri ですよ。 TypeScriptとReact/Next.jsでつくる実践Webアプリケーション開発posted with ヨメレバ手島 拓也/吉田 健人 技術評論社 2022年07月25日頃 楽天ブックスAmazonKindle Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps 実のところReactのUI設計とかは一切やったことなくかなり難儀してますが、その裏でこの春休み期間(学生のね)にRustにおけるbollardでちょっとだけdocker状態の取得とか操作を練習していたのでした。 とりあえず最初は状態の確認ができるようなUIのみにして、その後起動・終了を行えるようにボタンを付けるつもりです。現状はこんな感じ(スタブのみです)。 どんな感じ作っているのかですが… とっかかりはそれほど難しくありません。 1 % create-tauri-app で、TypeScriptベース、React使用という感じで雛形を作り、 src/App.tsx で表示に使っているところをゴリゴリ書き換えていきました。 なお、状態表示に関しては事前に調査をしていて、とりあえずuseEffectとタイマーで書き換えるようにしています。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 const [dockerState, setDockerState] = useState(""); // Docker環境の状態を持つ const [vmState, setVmState] = useState(""); // VMの状態を持つ // ....
お酒減らしていくぶんすぎたんですね
最近、平日はお酒はあまり飲まなくなりましたね。 やはりヴェリタスブロイの効果が強いと思います。 ヴェリタスブロイ(330ml*24本入)posted with カエレバ楽天市場Amazon 前回、龍馬1865とのセットを飲みましたが、材料が添加物ほぼ無し(炭酸のみ添加)でしたが、発酵したわけでもないためにただの麦ジュースだろ感のある味のため今回まで。 個人的には「安心と信頼」の出てきたヴェリタスに全振りしておこうかと思います。 まったくお酒を飲まない(ソバキュリアス)とかではありません、休日やその他イベント事では飲みますから、48缶を買って本当に48日で終わるわけでもありません。でもかなり酒量は減ってると思います。
actでローカルActions
次年度の授業用VMを作ったりしているのですが、このときにGitHub Actionsによる自動ビルドで配布できる物を生成できるようになってきました。 でもいちいちpushしてActionsを呼ぶのも面倒、ということでローカルでシミュレートできないかというのがあったので、古より話には聞いていたactを導入してみました。 【POD】GitHub Actions 実践入門posted with ヨメレバ宮田 淳平 インプレスR&D 2020年06月19日頃 楽天ブックスAmazonKindle nektos/act こちら、GitHub Actionsをローカルで実行できるようにする(全てではないが)一種のエミュレーターみたいな物です。 実はかなり初期に試したことがあって、当時ではさほど使えなかった(とか言えるほどの手持ちのコードではなかったはず)のでしたが、久しぶりに試してみたのでした。 すると、Dockerによるビルドを行うようになっていて、しかも中でDockerも使える(Docker in Docker)ので今回のイメージビルドも普通に行えるのでした。 初回起動時にはイメージの取得をsmall/medium/large(5Gぐらいのイメージ)と選べましたがmediumで一通り完遂できてます。 ついでにPi上でも動かせているので、self runnerよろしく使えたりもします。 バージョン番号的にはアレゲかもしれませんが、その実力はかなりの物です。Actions使ってる方はお試し下さい。案外動かせるかもよ。
リュックが壊れた
仕事に行くときも含めて、現在はリュックが主流なわけですが(その前はショルダーバッグでしたが、片方に負担がかかる重さであまり宜しくなかったです)、そのリュックが壊れてしまいました。 壊れ方としてはよくあるチャック部分が壊れるというもので、1年ぐらいしか持たなかった感じでしょうか。 そのため、来週末の用事もありますのでとりあえず購入です。比較的前からわかっていたので目星は付けてました。 【送料無料】 27L ビジネス リュック ブラック メンズ 通勤 通学 リュックサック プレゼント A4サイズ 出張 海外 旅行用 大きい 大容量 PCバッグ 軽量 鞄 防水 レインカバー チェストベルト バックパック 大きめ Willingposted with カエレバ楽天市場Amazon 40Lと少し悩んだところですが、長期出張とかは考えないので、この大きさで十分でしょう、おそらく現行の物とほぼ同サイズ。
トニカクカワイイ 23巻
そうそう、今月中盤に出ていたのでしたよ「トニカクカワイイ」の23巻。 トニカクカワイイ(23)posted with ヨメレバ畑 健二郎 小学館 2023年03月16日 楽天ブックス楽天koboAmazonKindle 「葬送のフリーレン」もそうなのですが、最近は立ち読みとかもほとんどしない(例外はあるけど)ので、発売に気づかないとかあったりします。 だからって出版元の発売日カレンダーを見てまではしないので、地味に出遅れることもあったりします。 ということで漏れていたこの子も今日のうちに回収です。
普通っぽいLinux環境をDockerで作る
授業で使うLinuxの環境は、これまでVirtualBoxをベースに構築していましたが、昨今の環境の変化に対応できてない感じもあるので、Docker上でそれができないかと検証していたら案外簡単に動く話だったので移行中です。 ということで今回はやってみたら案外楽だった作業のまとめ。 Docker実践ガイド 第3版posted with ヨメレバ古賀 政純 インプレス 2023年02月21日頃 楽天ブックス楽天koboAmazonKindle もともと授業用に仮想マシンを構築していましたが、Oracle VM VirtualBoxがM1/M2 macに対応準備中(現時点でPreview)ということや、なにより手持ちがIntelのみなので構築ができないということで(お金ほちい)ちょっと問題になっております。 そこで、 Intel/M1両対応のDocker(Desktop) Ubuntu 22.04ベース Systemdあり sshあり というイメージを作れればと思っていたのでした。 結局こうなりました。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # 骨子のみです FROM ubuntu:22.04 ARG USER=linux ARG PASSWORD ENV TZ Asia/Tokyo ENV LC_ALL ja_JP.UTF-8 ENV LANG ${LC_ALL} ARG DEBCONF_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=${DEBCONF_FRONTEND} # タイムゾーン周辺 RUN apt-get update; \ apt-get install -y tzdata # ロケール設定 RUN apt-get update; \ apt-get install -y locales; \ locale-gen ja_JP....
上の子の誕生日
そういえば、息子が誕生でした(ぉぃ)。 もう年齢的になにかを買ってあげるとかは望んでないという状況になっているので、本人の希望で例年アマギフを送っております。 私は楽天がメインですけど、息子の場合、特に理由も無いからAmazonがやっぱりいいと言うのですよね、仕方ないけど… とはいえ、Amazonは最近詐欺に近いやつも多いし、けっこう注意してるようですね。
ホワイトデーにどうしましょ
ホワイトデーでなにかプレゼントを、と思ってましたが、家内は甘い物を忌避したがる(食べると止まらなくなって…)ので、どうしようと思っていたところ、以前ネックスピーカーの話をしてたことを思い出してるようでした。 買い物でホムセン言ったときに「こういうの買ってくれるのかな」とか言ってましたw ということで? ご希望にお応えしちゃおうじゃありませんか。 SHARP AQUOS サウンドパートナー ウェアラブル ネックスピーカー AN-SS2-Wposted with カエレバ楽天市場Amazonau PAY マーケットdショッピング
3月1日に完結ですか?! 他(かも)
3月になりました。え、もう1/6終了? と思いつつ起きたところ、なにげに和服さんが新刊出してて、この様子だと完結? 下手に長くやるより良いところで切っておいて良いかと思います。 和服な上司がいとおしい 5posted with ヨメレバ原田繭 芳文社 2023年03月01日 楽天ブックス楽天koboAmazonKindle それ以外にも、楽天koboだと異世界転生系がポイント増量とかいうキャンペーンをやってるようです。 異世界コミック特集!エントリーでポイント10倍 でも、「とんでもスキルで異世界放浪メシ」は該当してなかった模様… あと、実用書が300円のセールが行われてるのを見ていましたが、個人的にはこれかな? やっぱり基本は大切。 春を楽しむ趣味・実用書など300円均一 小林カツ代の永久不滅レシピ101posted with ヨメレバ 主婦の友社 2016年10月13日頃 楽天ブックスAmazonKindle