diff --git a/README.md b/README.md index 1f6aa111..60cb470c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Our courses are meticulously studied in order to provide you with quality projects. Please take into account our approach before making **Issues** -Some feedback relates to the **ambiguity of the subject** / **the lack of precision**, and this **is voluntary on our part**. +Some feedback relates to the **ambiguity of the subject**-**lack of precision**, and this is **voluntary on our part**. Do not hesitate to contribute by making a PR in the **content-update branch**. diff --git a/subjects/arrays/README.md b/subjects/arrays/README.md index c0f2c3cf..e4ed5064 100644 --- a/subjects/arrays/README.md +++ b/subjects/arrays/README.md @@ -11,7 +11,7 @@ Write a **function** that takes an array of i32 and returns the sum of the eleme ### Notions -[arrays](https://doc.rust-lang.org/std/primitive.array.html) +- [arrays](https://doc.rust-lang.org/std/primitive.array.html) ### Expected functions diff --git a/subjects/bigger/README.md b/subjects/bigger/README.md index ef8d4fa0..563010a5 100644 --- a/subjects/bigger/README.md +++ b/subjects/bigger/README.md @@ -6,11 +6,7 @@ Create the function `bigger` that gets the biggest positive number in the `HashM ### Notions -[hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) - -### Dependencies - -rand = "0.7" +- [hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) ### Expected Function diff --git a/subjects/borrow/README.md b/subjects/borrow/README.md index ef4d7b44..e7e240b4 100644 --- a/subjects/borrow/README.md +++ b/subjects/borrow/README.md @@ -13,7 +13,7 @@ pub fn str_len(s: ) -> usize { ### Notions -[Primitive Type str](https://doc.rust-lang.org/std/primitive.str.html) +- [Primitive Type str](https://doc.rust-lang.org/std/primitive.str.html) ### Usage diff --git a/subjects/borrow_me_the_reference/README.md b/subjects/borrow_me_the_reference/README.md index 0acde16a..18724605 100644 --- a/subjects/borrow_me_the_reference/README.md +++ b/subjects/borrow_me_the_reference/README.md @@ -28,8 +28,8 @@ pub fn is_correct(v: &mut Vec<&str>) -> usize { ### Notions -- https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html -- https://docs.rs/meval/0.2.0/meval/ +- [ownership](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html) +- [meval](https://docs.rs/meval/0.2.0/meval/) ### Usage diff --git a/subjects/card_deck/README.md b/subjects/card_deck/README.md index 76e92d24..850a61bb 100644 --- a/subjects/card_deck/README.md +++ b/subjects/card_deck/README.md @@ -25,8 +25,8 @@ Define: ### Notions -[Crate rand](https://docs.rs/rand/0.3.14/rand/) -[Enums](https://doc.rust-lang.org/book/ch06-00-enums.html) +- [Crate rand](https://docs.rs/rand/0.3.14/rand/) +- [Enums](https://doc.rust-lang.org/book/ch06-00-enums.html) ### Dependencies diff --git a/subjects/changes/README.md b/subjects/changes/README.md index 2e732535..e59e175d 100644 --- a/subjects/changes/README.md +++ b/subjects/changes/README.md @@ -10,8 +10,8 @@ Define the **function** `change_brightness` that receives a `Vec` of lights, an ### Notions -[Example of Structs](https://doc.rust-lang.org/book/ch05-02-example-structs.html) -[Keyword Self](https://doc.rust-lang.org/std/keyword.Self.html) +- [Example of Structs](https://doc.rust-lang.org/book/ch05-02-example-structs.html) +- [Keyword Self](https://doc.rust-lang.org/std/keyword.Self.html) ### Expected Functions and Structure diff --git a/subjects/hashing/README.md b/subjects/hashing/README.md index 1cc5ed4b..acd4564d 100644 --- a/subjects/hashing/README.md +++ b/subjects/hashing/README.md @@ -13,7 +13,7 @@ that appears more often). ### Notions -[hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) +- [hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) ### Expected Functions diff --git a/subjects/my-ls-1/README.md b/subjects/my-ls-1/README.md new file mode 100644 index 00000000..51f66245 --- /dev/null +++ b/subjects/my-ls-1/README.md @@ -0,0 +1,57 @@ +## my-ls + +### Objectives + +- my-ls consists on creating your own `ls` command. + +- The `ls` command shows you the files and folders of the directory specified after the command. By exclusion of this directory, it shows the files and folders of the present directory. + +- The behavior of your `ls` must be identical to the original `ls` command with the following variations : + - You must incorporate in your project at least the following flags of the `ls` command : + - `-l` + - `-R` + - `-a` + - `-r` + - `-t` + - Note that you can use various flags, in various ways, just like in `ls`. + - When it comes to the `ls -l` display, it must be identical to the system command. + - Other flags displays are up to you. + +### Instructions + +- Your project must be written in **Go**. +- The code must respect the [**good practices**](../good-practices/README.md). +- It is recommended to have **test files** for [unit testing](https://go.dev/doc/tutorial/add-a-test). + +### Allowed packages + +- fmt +- os +- os/user +- strconv +- strings +- syscall +- time +- math/rand +- errors +- io/fs + +### Hint + +- We strongly recommend that you account for the implications of the option `-R` from the very beginning of your code. + +- The order that files and folders appear must be taken in consideration. + +- We suggest that you consult the `ls` command manual. + +### Usage + +You can see how the `ls` command works, by using it on your terminal. + +This project will help you learn about : + +- Unix system +- Ways to receive data. +- Ways to output data. +- Manipulation of strings. +- Manipulation of structures. diff --git a/subjects/my-ls-1/audit/README.md b/subjects/my-ls-1/audit/README.md new file mode 100644 index 00000000..9aab22c7 --- /dev/null +++ b/subjects/my-ls-1/audit/README.md @@ -0,0 +1,121 @@ +#### Functional + +###### Has the requirement for the allowed packages been respected? + +##### Run both my-ls and the system command `ls` with no arguments. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the arguments: `""`. + +###### Does it display the same file? + +##### Run both my-ls and the system command `ls` with the arguments: `""`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the flag: `"-l"`. + +###### Does it display the same files and/or folders with the same display? + +##### Run both my-ls and the system command `ls` with the arguments: `"-l "`. + +###### Does it display the same file with the same display? + +##### Run both my-ls and the system command `ls` with the arguments: `"-l "`. + +###### Does it display the same files and/or folders with the same display? + +##### Run both my-ls and the system command `ls` with the flag: `"-l /usr/bin"`. + +###### Does it display the same files and/or folders with the same display? Be aware of symbolic links. + +##### Run both my-ls and the system command `ls` with the flag: `"-R"`, in a directory with folders in it. + +###### Does it display the same files and/or folders? + +##### Run both my-ls and the system command `ls` with the flag: `"-a"`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the flag: `"-r"`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the flag: `"-t"`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the flag: `"-la"`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the arguments: `"-l -t "`. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command `ls` with the arguments: `"-lRr "`, in which the directory chosen contains folders. + +###### Does it display the same files and/or folders in the same order? + +##### Run both my-ls and the system command ls with the arguments: `"-l -a "` + +###### Is the output displayed the same way? + +##### Run both my-ls and the system command ls with the arguments: `"-lR ////// //"` + +###### Is the output displayed the same way? Number of `/` must be the same. + +##### Run both my-ls and the system command ls with the arguments: `"-la /dev"` + +###### Does it display the same files and/or folders with the same display? Do not pay attention to ACL permission flag. + +##### Run both my-ls and the system command ls with the arguments: `"-alRrt "`, in which the directory chosen contains folders and files within folders. Time of modification of all files within that folder must be the same. + +###### Is the displayed output the same? + +##### Create directory with `-` name and run both my-ls and the system command ls with the arguments: `"-"` + +###### Is the displayed output the same? + +##### Create file and link for this file and run both my-ls-1 and the system command ls with the arguments: `"-l /"` + +###### Is the displayed output the same? Pay attention to `/` at the end. + +##### Create file and link for this file and run both my-ls-1 and the system command ls with the arguments: `"-l "` + +###### Is the displayed output the same? + +##### Create directory that contains files and link for this directory and run both my-ls-1 and the system command ls with the arguments: `"-l /"` + +###### Is the displayed output the same? Pay attention to `/` at the end. + +##### Create directory that contains files and link for this directory and run both my-ls-1 and the system command ls with the arguments: `"-l "` + +###### Is the displayed output the same? + +###### As an auditor, is this project up to every standard? If not, why are you failing the project?(Empty Work, Incomplete Work, Invalid compilation, Cheating, Crashing, Leaks) + +#### General + +###### +Does the program runs with colors as in the ls command? + +###### +Does the program has other flags except for the mandatory ones? + +##### Try running the program with `"-R ~"` and with the command time before the program name (ex: "time ./my-ls-1 -R ~"). + +###### +Is the real time less than 1,5 seconds? + +#### Basic + +###### +Does the code obey the [good practices](../../good-practices/README.md)? + +###### +Is there a test file for this code? + +###### +Are the tests checking each possible case? + +#### Social + +###### +Did you learn anything from this project? + +###### +Would you recommend/nominate this program as an example for the rest of the school? diff --git a/subjects/simple_hash/README.md b/subjects/simple_hash/README.md index 1ad63d73..5877344d 100644 --- a/subjects/simple_hash/README.md +++ b/subjects/simple_hash/README.md @@ -10,7 +10,7 @@ Create a **function** `remove` that removes a given key from the `HashMap`. ### Notions -- https://doc.rust-lang.org/rust-by-example/std/hash.html +- [HashMap](https://doc.rust-lang.org/rust-by-example/std/hash.html) ### Expected functions diff --git a/subjects/string_literals/README.md b/subjects/string_literals/README.md index ed2c51af..1b876854 100644 --- a/subjects/string_literals/README.md +++ b/subjects/string_literals/README.md @@ -15,8 +15,8 @@ Create the following functions: ### Notions -- https://doc.rust-lang.org/1.22.0/book/first-edition/the-stack-and-the-heap.html -- https://doc.rust-lang.org/rust-by-example/primitives/literals.html +- [stack and heap](https://doc.rust-lang.org/1.22.0/book/first-edition/the-stack-and-the-heap.html) +- [Literals](https://doc.rust-lang.org/rust-by-example/primitives/literals.html) ### Expected Functions diff --git a/subjects/string_permutation/README.md b/subjects/string_permutation/README.md index b2cdd82d..6e60b0b9 100644 --- a/subjects/string_permutation/README.md +++ b/subjects/string_permutation/README.md @@ -9,7 +9,7 @@ Define the **function** `is_permutation` that returns true if: ### Notions -[hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) +- [hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html) ### Expected Function