JavaScript 版の AWS SDK は v3 が出ていて、たとえば、AWS Lambda で Node.js 18.x をランタイムに選択した場合 SDK を使うならこれがデフォルトになっている。 公式ページ: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/ AWS SDK v3 を使うと…
いままでメモ系のことはひたすら memo.txt に追記していくという恐ろしく単純なことしかしていなかったのだけど、 さすがにしんどくなってきたので心機一転、メモアプリを使うことにした。ちらと調査したところ、Obsidian が良さそうだったので、試してみて…
今年は 2022 年の後半に社内ブログを 9 本書かせてもらった。それについてあとがき的な何か。
AWS Lambda を Rust で動かすには 公式のページたち。 AWS Lambda のカスタムランタイム - AWS Lambda Rust Runtime for AWS Lambda | AWS Open Source Blog 実装する > rustc --version rustc 1.62.0 (a8314ef7d 2022-06-27)> cargo new hello_rust_lambda …
let での変数宣言と値の束縛は、特に mut ではなくても、別でも良いらしい。 const は一緒にやらないとだめらしい。 let x: i32; x = 123; println!("x: {}", x); // Compile Error! // const C: i32; // C = 123; // println!("{}", C); x: 123これはスコー…
最近やってること Rust(プログラミング言語の方) 社内にも広めていく活動 Unity でエモい光の出し方の研究 十三機兵防衛圏 最近やったこと エアダスターで CPU ファンの埃を飛ばした めちゃくちゃ綺麗になったが、冷えやすくなったかは不明 ゼルダの伝説 B…
HashSet in std::collections - Rust HashMap in std::collections - Rust 自前の構造体を HashSet の要素にしたり、HashMap のキーに使用するとコンパイルエラーになる。 use std::collections::HashSet; fn main() { { struct MyFoo { x: i32, } let mut h…
内容をメモ WebAssembly とは WebAssembly とは ネイティブに近いパフォーマンスで動く コンパイルして作るバイナリ 第 4 のブラウザ用言語 W3C 勧告として公開 対応ブラウザ 最近のブラウザはすべて対応している(IE もいなくなったので本当にすべて) 作成…
Rust の WebAssembly で、ボタンを押すと、div#msgdiv にテキストを入れて、window.alert() を実行するサンプルメモ。trunk を使用している。 index.html <html> <head></head> <body> <div id="msgdiv"></div> <input type="button" value="botan" id="foobtn"> </body> </html> Cargo.toml [package] name = "click-test" version = "0.1.0" editio…
Rust で WebAssembly しようとやってみたら最初でつまづいたのでメモ。Cargo.toml [dependencies] web-sys = "0.3.57"main.rs (trunk 使ってみてるので) pub func main() { let window = web_sys::window().unwrap(); } error[E0425]: cannot find function …
error: invalid format string: expected `'}'`, found `'{'` { hoge } という文字列を println! しようとしたら、エラーになった。 let s = "hoge"; println!("{ {} }", s); error: invalid format string: expected `'}'`, found `'{'` --> src\main.rs:31…
to_owned() https://doc.rust-lang.org/std/borrow/trait.ToOwned.html#tymethod.to_owned &の参照に対して使う 参照元の値をクローンする クローンした上で所有権も新規にする(参照元の方の所有権はそのまま) 例 fn main() { { let s1: &str = "foo"; le…
メモ。 関数とか構造体とかは外側で定義してるイメージだけど、別にどこでも定義できるらしい。 でもスコープが発生するので見えないところからは使えないらしい。 fn main() { { #[derive(Debug)] struct Foo; let foo = Foo {}; println!("{:?}", foo); } …
error[E0502]: cannot borrow `v` as immutable because it is also borrowed as mutable エラーが出たのでメモ。やりたいこと。 fn main() { let mut v: Vec<usize> = vec![3, 123, 234, 345, 456, 567]; v[v[0]] *= 100; // 要素 3 を 100 倍する println!("{:?}"</usize>…
参照の分配 クロージャの引数のところ https://doc.rust-jp.rs/book-ja/ch18-03-pattern-syntax.html?highlight=Point#%E5%8F%82%E7%85%A7%E3%82%92%E5%88%86%E9%85%8D%E3%81%99%E3%82%8BVS Code が教えてくれる書き方の中に、クロージャの引数部分で、|&x| …
https://doc.rust-jp.rs/book-ja/ch05-03-method-syntax.html#-%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%AF%E3%81%A9%E3%81%93%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%9F%E3%81%AE Rustには->演算子の代わりとなるようなものはありません; その代わり、Rustには、 自…
通常の Vector では push() と pop() しかなくて、いずれも配列の最後の要素に対してしか操作できない。先頭の要素を取り出したり、要素を押し込んだりするためには、std::collections::VecDeque を使うのが良いようだ。 (Ruby の Array#shift とか Array#u…
いろいろ試したメモ。なんとかぼんやりと理解できてきた。
メモ。 配列の配列があり、1個目の要素を第一キー、2個目の要素を第二キーとしてソートする。 Perl だと sort { $a->[0] $b->[0] or $a->[1] $b->[1] } @array のやつ。 Ruby だと array.sort! {|a, b| [a[0], a[1]] [b[0], b[1]] } のやつ。 fn main() { …
以下はコンパイルエラーになる。 fn main() { let foo = foo(); println!("{}", foo); } fn foo() -> &str { let m = String::from("aiueo"); m.trim() } error[E0106]: missing lifetime specifier --> src\main.rs:6:13 | 6 | fn foo() -> &str { | ^ expe…
その1 変数を構造体のインスタンスから生成することができるとのこと。 https://doc.rust-jp.rs/book-ja/ch18-03-pattern-syntax.html#%E5%88%86%E9%85%8D%E3%81%97%E3%81%A6%E5%80%A4%E3%82%92%E5%88%86%E8%A7%A3%E3%81%99%E3%82%8B ↑これのやつ。 struct …
std::fmt::Display のやつ println!("{:?}", x) で表示させるには derive(Debug) をしておけばよいが、println!("{}", x) では std::fmt::Display トレイトを実装している必要があるようだ。 #[derive(Debug)] struct MyStruct(i32); fn main() { let s = My…
Rust で画像のリサイズ(ほとんどの場合縮小だと思うけど)をやってみたメモ。 Cargo.toml [dependencies] image = "0.24.2" main.rs use image::GenericImageView; use image::imageops::FilterType; fn main() { let img = image::open("original.png").un…
C# スクリプト内で Win32 API を操作することで実現できるよというメモ。 using System.Runtime.InteropServices をする DllImport で必要な関数をインポートする(static extern をつける) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-refer…
ユニティちゃん神楽で使われていたのを見て知ったのでメモ。 unity-chan.comPosition Constraint コンポーネントをカメラにアタッチした図 カメラに Position Constraint コンポーネントをアタッチして、Sources に追従対象のオブジェクトを追加すると、オブ…
Rust のシステム時刻についてメモ fn main() { let now = std::time::SystemTime::now(); println!("now: {:?}", now); // => now: SystemTime { intervals: 132966473691539291 } } Windows で std::time::SystemTime::now() すると、SystemTime インスタン…
https://www.buffalo.jp/product/detail/bsmbu100bk.html たまたま買った安いマウスだったけど、あのマウス特有の、カチッカチッ みたいなクリック音がしなくて、なかなか良い感じ。ただ代わりに テコ...テコ...という低い音は鳴る。無音ではない。マイクに拾われなく…
選択中のオブジェクトの Animator ウィンドウ内に置いたアニメーションクリップたち全部を C# スクリプト内で一気に取得したい。 void Start() { TryGetComponent<Animator>(out var anim); AnimationClip[] animClips = anim.runtimeAnimatorController.animationClip</animator>…
bvh ファイルを fbx に変換したくて、見よう見まねでやってみたメモ。 Windows 10 blender をインストールする blender コマンドが使えることを確認 入力の bvh ファイルたちがあるフォルダは bat ファイル内に記述 出力の fbx たち用のフォルダは python ス…
動画なら自分で再生ボタンを押すことで制御できるけど、アニメーション GIF だと再生(と言っていいのかわからないが)が延々と続いていて、ページ内の情報のノイズになっているなと思っていた。ふとググってみたら、設定でアニメーション GIF を再生しない…