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

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

2
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

4
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

4
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

4
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

2
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

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

4
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

2
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

Loading…
Cancel
Save