Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction (Table of contents)

Code Snippets

Rust:

[profile.release]
lto = true
strip = true
opt-level = 3
panic = "abort"
codegen-units = 1
#[tokio::main(flavor = "multi_thread")]
async fn main() -> Result<(), Box<dyn Error>> {}
use clap::{Parser, value_parser};

#[derive(Parser, Debug, Clone)]
pub enum CliArguments {}
#![warn(
    clippy::all,
    clippy::restriction,
    clippy::pedantic,
    clippy::nursery,
    clippy::cargo
)]
#![allow(
    clippy::missing_docs_in_private_items,
    clippy::question_mark_used,
    clippy::std_instead_of_core,
    clippy::cargo_common_metadata,
    clippy::blanket_clippy_restriction_lints,
    clippy::print_stdout,
    clippy::implicit_return,
    clippy::unwrap_used,
    clippy::arbitrary_source_item_ordering,
    clippy::single_call_fn,
    clippy::allow_attributes_without_reason,
    clippy::missing_const_for_fn,
    clippy::shadow_reuse,
)]
max_width = 56
use_field_init_shorthand = true
use_small_heuristics = "Max"

Python

from polars import Config

Config.set_engine_affinity(engine="streaming")
Config.set_tbl_cols(-1)
Config.set_tbl_rows(-1)
Config.set_tbl_width_chars(-1)
Config.set_tbl_formatting("UTF8_FULL", rounded_corners=True)
Config.set_tbl_cell_alignment("CENTER")
Config.set_tbl_column_data_type_inline(True)
from fastapi import FastAPI

DESCRIPTION = """
# A API
"""

app = FastAPI(
    swagger_ui_parameters = {"tryItOutEnabled": True},
    title = "API",
    debug = True,
    version = "0",
    description = DESCRIPTION.strip(),
)


@app.get("/")
def home() -> dict[str, str]:
    return {
        "title" : "A API",
        "description" : DESCRIPTION,
        "description_type" : "markdown"
    }

A list of useful, fundamental, popular and ergonomic rust libraries

Essential Features

  • Rand (Random number generation)

  • Regex (Regex matching)

Macros

  • Clap (Comprehensive CLI argument parsing)

  • Reqwest (Async/Sync HTTP client)

  • SQLx (Simple async database library)

  • Serde JSON (JSON support for serde)

  • Serde (Derive macros for struct serialization)

  • Tracing Subscriber (Logging Utilities integrating with Tracing)

  • Tracing (Comprehensive Logging)

Utilities

Text snippets

Key Points

Roadmap Website

A list of things learned from doing

Use ORMs not raw SQL:

Avoid many files and folders in python:

APIs are not easy to make in rust:

Useful Cargo subcommands

Basic Checking:

Advanced Checking: