blog.bouzuya.net

2023-09-27 bouzuya/serde-firestore-value 0.1.0, 0.1.1 をつくった

bouzuya/serde-firestore-value 0.1.0, 0.1.1 をつくった。

Firestore の Value を crates:serde の data format とする (de)serilizer 。

Firestore への読み書きをするときに Value { value_type: Some(ValueType::...) } を書くのが大変なので、書いてみた。他にも類似の crate はあるだろうけど serde の理解を深めるためにも書いてみた。

deserialize / deserializer / serialize / serializer / data model / data format の関係はだいたい把握したつもり。まだ雰囲気で書いているところがあるので怪しいけど。

serde data model の範囲からはみ出す値をどう扱うのかよく分からなかった。たとえば timestamp を timestampValue という特殊な形式で serialize したい場合にそれを serde data model にどう落とし込めば良いのか分からない。おそらく struct name で判断するのだろうけど……。そこで判断していいのか迷う。

一段落。実際に使ってみて手直ししたい。


PAST#13 第13回 アルゴリズム実技検定 過去問

use std::collections::HashSet;

use proconio::input;

fn main() {
    input! {
        n: usize,
        a: [usize; n],
    };
    let mut set = HashSet::new();
    for i in 0..n {
        for j in i + 1..n {
            for k in j + 1..n {
                set.insert(a[i] * a[j] * a[k]);
            }
        }
    }
    let ans = set.len();
    println!("{}", ans);
}

今日のコミット。