Browse Source

Merge pull request #987 from 01-edu/content-update

Content update my-ls-1
content-update
Ihab 2 years ago committed by GitHub
parent
commit
0f3c2450ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      README.md
  2. 2
      subjects/arrays/README.md
  3. 6
      subjects/bigger/README.md
  4. 2
      subjects/borrow/README.md
  5. 4
      subjects/borrow_me_the_reference/README.md
  6. 4
      subjects/card_deck/README.md
  7. 4
      subjects/changes/README.md
  8. 2
      subjects/hashing/README.md
  9. 57
      subjects/my-ls-1/README.md
  10. 121
      subjects/my-ls-1/audit/README.md
  11. 2
      subjects/simple_hash/README.md
  12. 4
      subjects/string_literals/README.md
  13. 2
      subjects/string_permutation/README.md

2
README.md

@ -3,7 +3,7 @@
Our courses are meticulously studied in order to provide you with quality projects. Our courses are meticulously studied in order to provide you with quality projects.
Please take into account our approach before making **Issues** 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**. Do not hesitate to contribute by making a PR in the **content-update branch**.

2
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 ### Notions
[arrays](https://doc.rust-lang.org/std/primitive.array.html) - [arrays](https://doc.rust-lang.org/std/primitive.array.html)
### Expected functions ### Expected functions

6
subjects/bigger/README.md

@ -6,11 +6,7 @@ Create the function `bigger` that gets the biggest positive number in the `HashM
### Notions ### 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)
### Dependencies
rand = "0.7"
### Expected Function ### Expected Function

2
subjects/borrow/README.md

@ -13,7 +13,7 @@ pub fn str_len(s: ) -> usize {
### Notions ### 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 ### Usage

4
subjects/borrow_me_the_reference/README.md

@ -28,8 +28,8 @@ pub fn is_correct(v: &mut Vec<&str>) -> usize {
### Notions ### Notions
- https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html - [ownership](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html)
- https://docs.rs/meval/0.2.0/meval/ - [meval](https://docs.rs/meval/0.2.0/meval/)
### Usage ### Usage

4
subjects/card_deck/README.md

@ -25,8 +25,8 @@ Define:
### Notions ### Notions
[Crate rand](https://docs.rs/rand/0.3.14/rand/) - [Crate rand](https://docs.rs/rand/0.3.14/rand/)
[Enums](https://doc.rust-lang.org/book/ch06-00-enums.html) - [Enums](https://doc.rust-lang.org/book/ch06-00-enums.html)
### Dependencies ### Dependencies

4
subjects/changes/README.md

@ -10,8 +10,8 @@ Define the **function** `change_brightness` that receives a `Vec` of lights, an
### Notions ### Notions
[Example of Structs](https://doc.rust-lang.org/book/ch05-02-example-structs.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) - [Keyword Self](https://doc.rust-lang.org/std/keyword.Self.html)
### Expected Functions and Structure ### Expected Functions and Structure

2
subjects/hashing/README.md

@ -13,7 +13,7 @@ that appears more often).
### Notions ### 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 ### Expected Functions

57
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.

121
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: `"<file name>"`.
###### Does it display the same file?
##### Run both my-ls and the system command `ls` with the arguments: `"<directory name>"`.
###### 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 <file name>"`.
###### Does it display the same file with the same display?
##### Run both my-ls and the system command `ls` with the arguments: `"-l <directory name>"`.
###### 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 <directory name>"`.
###### 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 <directory name>"`, 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 <directory name> -a <file name>"`
###### Is the output displayed the same way?
##### Run both my-ls and the system command ls with the arguments: `"-lR <directory name>///<sub directory name>/// <directory name>/<sub directory name>/"`
###### 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 <directory name>"`, 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 <symlink file>/"`
###### 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 <symlink file>"`
###### 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 <symlink dir>/"`
###### 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 <symlink dir>"`
###### 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?

2
subjects/simple_hash/README.md

@ -10,7 +10,7 @@ Create a **function** `remove` that removes a given key from the `HashMap`.
### Notions ### 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 ### Expected functions

4
subjects/string_literals/README.md

@ -15,8 +15,8 @@ Create the following functions:
### Notions ### Notions
- https://doc.rust-lang.org/1.22.0/book/first-edition/the-stack-and-the-heap.html - [stack and heap](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 - [Literals](https://doc.rust-lang.org/rust-by-example/primitives/literals.html)
### Expected Functions ### Expected Functions

2
subjects/string_permutation/README.md

@ -9,7 +9,7 @@ Define the **function** `is_permutation` that returns true if:
### Notions ### 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 ### Expected Function

Loading…
Cancel
Save