Rust による外部 REST サービスとの非同期通信実装
JSONPlaceholder(https://jsonplaceholder.typicode.com/)は、RESTful インターフェースの動作検証に特化した無料のモック API サービスです。本稿では、Rust を用いてこのサービスと連携し、CRUD 操作を非同期で実行する方法を解説します。
対象エンドポイントとデータ構造
以下のエンドポイントを対象とします:
GET /posts/1 — 単一投稿の取得
GET /posts — 投 ...
7月21日 21:38 投稿
Rustの非同期・同期処理とスレッドモデルの仕組み
Tokioなどの非同期ランタイムを用いた開発では、main関数に#[tokio::main]マクロを付与して記述するケースが一般的です。一見すると非同期関数として動作するように見えますが、コンパイル時に展開される実際のコード構造は同期ベースです。このマクロは構文糖衣であり、内部的には以下のような同期関数に展開されます。
fn main() {
let rt = tokio::runtime::Builder ...
7月17日 21:12 投稿
RustでPostgreSQLデータベースに接続する方法
1. 同期接続の実装
まず、Cargo.tomlに以下のクレートを追加します:
postgres = "0.19.7"
use postgres::{Client, NoTls, error::Error};
fn main() -> Result<(), Error> {
let mut db_connection = Client::connect("host=localhost port=5432 dbname=myappdb user=appuser password=mypassword", NoTls).unwrap();
for record in db_connection.qu ...
7月14日 23:50 投稿