やりたいこと

  • Markdown 内の日本語とアルファベットの間にスペースをいれるようなリンターの設定
  • Gemini 1.5 Flash をつかってサンプルをカテゴリに分類

やったこと

ノート

開発

気づき・学び・考え

意識

  • 周りからの評価ではなく、自分が自分にどう評価をするのか、それが全てなのだ、ということ
  • 自分の思考の中で、ネガティブである部分を少しずつより良いものに変えていくこと
  • 失敗してもいい
    • 失敗するから、次どうすればいいのかがわかる
    • 失敗を笑っている人は、彼ら自身が失敗に怯えている
    • 失敗とは成長の促進剤であるということ
  • 誰かがあなたを批判するとき、その批判の言葉は彼らの持ち物だということ
    • つまり、彼が彼自身に語っている言葉が、外側に出てきたにすぎない、ということ
    • 例えば、「お前は馬鹿だ」と批判する人は、自分も他人も「賢い/賢くない」と普段からジャッジしている
      • 自分自身が賢くない行動をしたときにも、「あぁ、私は馬鹿だ」と自分を批判している
    • その言葉を受け取って自分の言葉にすることもできるし、しないこともできる
  • 自分が感動するものを作る
    • ワクワクしたり、めっちゃいいってなったり、自分の心が踊るようなものを作ること
    • 自分が感動するものは、きっと他の誰かも感動してくれる
    • 感動してくれたら、それがきっと仕事になる
  • 暗闇の中でも、小さなライトさえあれば、目の前の道を照らしてどこまででも歩いていける
    • 同じように、難しいことや複雑なことであっても、目の前の明かりを頼りに一歩一歩進んでいけば、いつか振り替えたとき大きな成果になっている
  • 開発も、スポーツも、プロとして活躍している人は、常に鍛錬をしている
    • それは精神の集中というか、フォーカスをぶらさないというか、
    • 例えるなら、雑音の中で、自分が聞きたいものだけに神経を集中させて、それだけを聞き続けるような
    • 多くの人は雑音の中で雑音を聞いている
  • 頭ではなく感覚で学ぶこと

開発

  • Gemini を試す前に ChatGPT でキックの判別するかやった
    • ChagGPT にサンプル食わせて、キック、スネア、ハイハット、パーカッションの中で一番近いものを判別してもらったら、思ってたより詳細に分析してくれた

  • 自分が感動するものを作る
    • 複雑な機能を入れようとしていたけど、一旦初心に立ち返って、「かっこいい、サクッと使えるサンプルファインダー」に戻ろう
    • 最初から全部実装しなくていい
    • あとから付け足していったっていい

Rust

  • Tauri 使うにあたって Rust の勉強

スレッド

use std::thread;
use std::time::Duration;
 
fn main() {
    let handle thread::spawn(|| {
        for i in 1..10 {
            println!("{}", i);
            thread::sleep(Duration::from_millis(1));
        }
    });
    // スレッドの処理が終わるのを待つ
    handle.join().unwrap()
    println!("Done");
}

または thread::scoped を使う

use std::thread;
use std::time::Duration;
 
fn main() {
    thread::scope(|s| {
        s::spawn(|| {
            for i in 1..10 {
                println!("{}", i);
                thread::sleep(Duration::from_millis(1));
            }
        });
    });
    println!("Done");
}

channel を使ってスレッド間でデータをやり取りする

use std::thread;
use std::sync::mpsc;
 
fn main() {
    let (tx, rx) = mpsc::channel();
    thread::spawn(move || {
        tx.send(1).unwrap();
    });
 
    println!("{:?}", rx.recv());
}