https://blog.ymgyt.io/entry/rust_atomics_and_locks/ 並行処理の読後:参考になる
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
https://crates.io/crates/rayon :: summary of rayon
https://qiita.com/fujitayy/items/1cb4169406457e2f4867 :: rayon example
[package]name = "rayon-test"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.6"
rayon = "1.5"
----- tokio scraping --
https://zenn.dev/su_do/articles/b2ed44a4d5c024
-- rusqlite------------------------------------------------
//---------------------------- ------------------------------ ----
/*
src/main.rs
Jul/23/2020
*/
// ------------------------------ ------------------------------ --------
use rusqlite::{params, Connection, Result};
#[derive(Debug)]
struct City {
id: String,
name: String,
population: i32,
}
fn main() -> Result<()> {
eprintln! ("*** start ***");
let conn = Connection::open_in_memory()?;
conn.execute(
"CREATE TABLE person (
id VARCHAR(10) PRIMARY KEY,
name TEXT NOT NULL,
population INTEGER
)",
params![],
)?;
conn.execute(
"INSERT INTO person (id,name, population) VALUES (?1, ?2, $3)",
params!["t0711".to_string()," 郡山".to_string(), 18954],
)?;
conn.execute(
"INSERT INTO person (id, name, population) VALUES (?1, ?2, $3)",
params!["t0712".to_string()," 会津若松".to_string(), 83576],
)?;
conn.execute(
"INSERT INTO person (id, name, population) VALUES (?1, ?2, $3)",
params!["t0713".to_string()," 白河".to_string(), 51769],
)?;
let mut stmt = conn.prepare("SELECT id, name, population FROM person")?;
let city_iter = stmt.query_map(params![], |row| {
Ok(City {
id: row.get(0)?,
name: row.get(1)?,
population: row.get(2)?,
})
})?;
for city in city_iter {
println!("{:?}", city.unwrap());
}
eprintln! ("*** end ***");
Ok(())
}
// ------------------------------ ------------------------------ --------
rusqlite = { version = "0.16", features = ["bundled"] }を
0.24.0としてみた 以下を参考に
Rust で SQLite を動かしてみる (サンプルコードを関数に切り出す) - ブログ (hatenablog.com)