■
とあるライブラリを使おうとします。当然ライセンスを見て。。問題ないことを確認します。が、このライブラリというのは、依存パッケージが山のようにあって、それらも呼び出して、勝手にリンクしちゃうんですね。こういうときに、依存先のパッケージも、一個ずつ、ライセンスを確認するのは、骨が折れるし、時間の無駄です。自動化できるはずと思っていました。
【Rust】cargo-denyとは何なのか?使い方は? #Rust - Qiita
libffi のバージョンがおかしい?
libffi のバージョンがおかしいというエラーに悩まされていましたが、下記の環境変数を設定したら直りました。。
不思議です。。
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
Rust でコンパイルエラー
このプログラムを、ビルドすると所有権がらみのエラーになります。
エラーメッセージにある通りに、一旦、ローカル変数を経由して、2行に分けるだけで、解決してしまいます。。汗
なぜ?
fn main() { let mut h = Hoge { hoge2 : 0 }; h.hoge3(); } struct Hoge { hoge2:usize, } impl Hoge { fn get_byte(&mut self)->u8 { 0 } fn format_byte(&mut self , address:u8 ) ->String { let s = format!("{:02X}H",address); s } fn hoge3(&mut self) { println!( "{}",format!("OR {}",self.format_byte(self.get_byte() ))); // A //let a = self.get_byte(); // B //println!( "{}",format!("OR {}",self.format_byte( a ))); // B } }
⣿ Standard Error Compiling playground v0.0.1 (/playground) error[E0499]: cannot borrow `*self` as mutable more than once at a time --> src/main.rs:19:60 | 19 | println!( "{}",format!("OR {}",self.format_byte(self.get_byte() ))); // A | -----------------^^^^^^^^^^^^^^^-- | | | | | | | second mutable borrow occurs here | | first borrow later used by call | first mutable borrow occurs here | help: try adding a local storing this argument... --> src/main.rs:19:60 | 19 | println!( "{}",format!("OR {}",self.format_byte(self.get_byte() ))); // A | ^^^^^^^^^^^^^^^ help: ...and then using that local as the argument to this call --> src/main.rs:19:43 | 19 | println!( "{}",format!("OR {}",self.format_byte(self.get_byte() ))); // A | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For more information about this error, try `rustc --explain E0499`. error: could not compile `playground` due to previous error Standard Output
github がSSH鍵を交換したので、push できなくなった
GitHub.comがSSH鍵を交換、接続できなくなった場合には確認を | TECH+(テックプラス)
上記のことが起こり、git push などが実行できなくなってしまいました。
SSH鍵を作り直す必要性がありそうです。
基本的には、下記の通りにやるのですが、ed25519 というやつの作り方を説明してくれています。(以前はRSAだったようで、ググったときに、古いページによっては、RSAの説明がなされています。)どっちでも動くと思うのですが、githubが推奨している方法でやる方がいいと思います。
新しい SSH キーを生成して ssh-agent に追加する - GitHub Docs
GitHub アカウントへの新しい SSH キーの追加 - GitHub Docs
調べてみたら、下記のページを見つけました。今のところ、最強らしいです。
SSH認証に最強の「Ed25519鍵」を使おう
https://linuxfan.info/ssh-ed25519
ちなみに、github.com に、公開キーを登録するときに、
パスフレーズを毎回聞かれるのが辛い場合は、下記のようにするといいらしい。。
WebAssembly で動作する FM 音源ライブラリー libymfm.wasm |
新しいFM音源エミュレータだそうです。(元々、MAMEのやつらしい)
iPhone のSafariでも動いていますね。。サンプル曲として、パッヘルベル のカノンが聞けます。。
でも、WebAssemblyの使い方はすぐには分かりません。。。勉強しないと。。ymfm 自体はC++で書かれていますが、このライブラリは、Rustがたくさん使われているようです。
WebAssemblyの利点としては、いちいち移植しなくても、いろんな環境で動くことでしょうか。。
もとになっている、このFM音源ライブラリのいいところは、ライセンスが、3条項BSDで、オープンソースなことと、緩いことらしいです。
WebAssembly で動作する FM 音源ライブラリー libymfm.wasm | hiromasa.another :o)