From f4c717b9582faadd971897153254bed7eb3f68b4 Mon Sep 17 00:00:00 2001 From: mitch edwards // valhalla_dev <34898405+vikingSec@users.noreply.github.com> Date: Thu, 3 Oct 2024 09:25:37 -0500 Subject: [PATCH] Addition of the poem library to web-development as well as the file-parsing topic (#7291) Copy and links added to a few Rust topics. --------- Co-authored-by: dsh --- .../103-data-structures/114-btree-map.md | 3 ++- .../rust/content/108-web-development/105-poem.md | 10 ++++++++++ .../roadmaps/rust/content/108-web-development/index.md | 2 +- .../rust/content/123-file-parsing/100-pdf-rs.md | 7 +++++++ .../roadmaps/rust/content/123-file-parsing/index.md | 3 +++ 5 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/data/roadmaps/rust/content/108-web-development/105-poem.md create mode 100644 src/data/roadmaps/rust/content/123-file-parsing/100-pdf-rs.md create mode 100644 src/data/roadmaps/rust/content/123-file-parsing/index.md diff --git a/src/data/roadmaps/rust/content/101-language-basics/103-data-structures/114-btree-map.md b/src/data/roadmaps/rust/content/101-language-basics/103-data-structures/114-btree-map.md index a70470574..84cf72e9b 100644 --- a/src/data/roadmaps/rust/content/101-language-basics/103-data-structures/114-btree-map.md +++ b/src/data/roadmaps/rust/content/101-language-basics/103-data-structures/114-btree-map.md @@ -4,4 +4,5 @@ In Rust, `BTreeMap` is a generic collection that stores data in a sorted tree st Learn more from the following links: -- [@article@BTreeMap](https://doc.rust-lang.org/std/collections/struct.BTreeMap.html) \ No newline at end of file +- [@article@BTreeMap](https://doc.rust-lang.org/std/collections/struct.BTreeMap.html) +- [@article@BTreeMap](https://cglab.ca/~abeinges/blah/rust-btree-case/) diff --git a/src/data/roadmaps/rust/content/108-web-development/105-poem.md b/src/data/roadmaps/rust/content/108-web-development/105-poem.md new file mode 100644 index 000000000..c9fb692a6 --- /dev/null +++ b/src/data/roadmaps/rust/content/108-web-development/105-poem.md @@ -0,0 +1,10 @@ +# Poem + +Poem is a backend web application framework for Rust. + +It supports OpenAPIv3-compliant back-end Application Programming Interfaces (APIs) which make it easy to create APIs and document them automatically with SwaggerUI. + +Learn more from the following resources: + +- [@official@Swagger API](https://github.com/swagger-api/swagger-ui) +- [@official@Poem](https://docs.rs/poem/latest/poem/) diff --git a/src/data/roadmaps/rust/content/108-web-development/index.md b/src/data/roadmaps/rust/content/108-web-development/index.md index f9cc5e3a7..928a26c0c 100644 --- a/src/data/roadmaps/rust/content/108-web-development/index.md +++ b/src/data/roadmaps/rust/content/108-web-development/index.md @@ -1,3 +1,3 @@ # Web Development -Web Development in Rust is a growing field, given the programming language's emphasis on safety and performance. In Rust, web development may involve using frameworks like Rocket, Actix or Tide to build web applications. There are also powerful web servers like Hyper that are built in Rust. Building web applications in Rust can involve facilitating client-server communication, handling HTTP requests, building routing systems, and managing databases among the other general tasks associated with web development. The Rust ecosystem provides tools to manage all these tasks and more. \ No newline at end of file +Web Development in Rust is a growing field, given the programming language's emphasis on safety and performance. In Rust, web development may involve using frameworks like Rocket, Poem, Actix or Tide to build web applications. There are also powerful web servers like Hyper that are built in Rust. Building web applications in Rust can involve facilitating client-server communication, handling HTTP requests, building routing systems, and managing databases among the other general tasks associated with web development. The Rust ecosystem provides tools to manage all these tasks and more. diff --git a/src/data/roadmaps/rust/content/123-file-parsing/100-pdf-rs.md b/src/data/roadmaps/rust/content/123-file-parsing/100-pdf-rs.md new file mode 100644 index 000000000..f150a08c2 --- /dev/null +++ b/src/data/roadmaps/rust/content/123-file-parsing/100-pdf-rs.md @@ -0,0 +1,7 @@ +# pdf-rs + +pdf-rs is a crate that allows the developer to parse and manipulate data and metadata such as embedded text and images from PDF files using Rust. You can learn more about pdf-rs from the official documentation. + +Learn more from the following resources: + +- [@official@PDF Documentation](https://docs.rs/pdf/latest/pdf/) diff --git a/src/data/roadmaps/rust/content/123-file-parsing/index.md b/src/data/roadmaps/rust/content/123-file-parsing/index.md new file mode 100644 index 000000000..a7becfeee --- /dev/null +++ b/src/data/roadmaps/rust/content/123-file-parsing/index.md @@ -0,0 +1,3 @@ +# File Parsing + +Rust can be used to parse files for the purpose of data extraction, reverse engineering and more using libraries such as `nom`, `pdf-rs`, and `html-parser`. In conjunction with networking libraries like `http`, file parsing libraries can be used to make efficient, powerful web scrapers, while libraries like `pdf-rs` can be used to analyze large quantities of files in bulk for data extraction, classification and machine learning.