Browse Source

Merge branch 'master' into adding_questions

content-update
OGordoo 5 years ago committed by GitHub
parent
commit
4f137fe852
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      scripts/go.sh
  2. 5
      scripts/vscode.sh
  3. 2
      subjects/ascii-art-web/ascii-art-web-dockerize.audit.en.md
  4. 4
      subjects/ascii-art-web/ascii-art-web-dockerize.en.md
  5. 2
      subjects/ascii-art-web/ascii-art-web-export-file.audit.en.md
  6. 6
      subjects/ascii-art-web/ascii-art-web-export-file.en.md
  7. 2
      subjects/ascii-art-web/ascii-art-web-stylize.audit.en.md
  8. 4
      subjects/ascii-art-web/ascii-art-web-stylize.en.md
  9. 2
      subjects/ascii-art-web/ascii-art-web.audit.en.md
  10. 4
      subjects/ascii-art-web/ascii-art-web.en.md
  11. 4
      subjects/ascii-art/ascii-art-color.en.md
  12. 18
      subjects/ascii-art/ascii-art-fs.audit.en.md
  13. 10
      subjects/ascii-art/ascii-art-fs.en.md
  14. 29
      subjects/ascii-art/ascii-art-justify.audit.en.md
  15. 4
      subjects/ascii-art/ascii-art-justify.en.md
  16. 6
      subjects/ascii-art/ascii-art-output.audit.en.md
  17. 4
      subjects/ascii-art/ascii-art-output.en.md
  18. 58
      subjects/ascii-art/ascii-art-reverse-example.md
  19. 18
      subjects/ascii-art/ascii-art-reverse.audit.en.md
  20. 4
      subjects/ascii-art/ascii-art-reverse.en.md
  21. 85
      subjects/ascii-art/ascii-art.audit.en.md
  22. 2
      subjects/ascii-art/ascii-art.en.md
  23. 32
      subjects/ascii-art/shadow.txt
  24. 80
      subjects/ascii-art/standard.txt
  25. 10
      subjects/atoibase.en.md
  26. 2
      subjects/groupie-trackers/groupie-trackers-filters.audit.en.md
  27. 4
      subjects/groupie-trackers/groupie-trackers-filters.en.md
  28. 20
      subjects/groupie-trackers/groupie-trackers-geolocation.audit.en.md
  29. 8
      subjects/groupie-trackers/groupie-trackers-geolocation.en.md
  30. 2
      subjects/groupie-trackers/groupie-trackers-search-bar.audit.en.md
  31. 4
      subjects/groupie-trackers/groupie-trackers-search-bar.en.md
  32. 4
      subjects/groupie-trackers/groupie-trackers.audit.en.md
  33. 2
      subjects/groupie-trackers/groupie-trackers.en.md
  34. 62
      subjects/my-ls-1/my-ls-1.audit.en.md
  35. 44
      subjects/my-ls-1/my-ls-1.en.md
  36. 55
      subjects/net-cat/net-cat.audit.en.md
  37. 121
      subjects/net-cat/net-cat.en.md
  38. 2
      subjects/push-swap/push-swap.audit.en.md
  39. 2
      subjects/push-swap/push-swap.en.md
  40. 24
      subjects/tetris-optimizer/tetris-optimizer.audit.en.md
  41. 14
      subjects/tetris-optimizer/tetris-optimizer.en.md

7
scripts/go.sh

@ -6,7 +6,10 @@ script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)"
cd $script_dir
. set.sh
apt-get -y install golang
wget https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.13.6.linux-amd64.tar.gz
rm go1.13.6.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
# Set-up all users
for dir in $(ls -1d /root /home/* 2>/dev/null ||:)
@ -15,7 +18,7 @@ do
cat <<-'EOF'>> $dir/.bashrc
GOPATH=$HOME/go
PATH=$PATH:$GOPATH/bin
alias gobuild='CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w"'
alias gobuild='CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w"'
EOF
echo 'GOPATH=$HOME/go' >> $dir/.profile

5
scripts/vscode.sh

@ -6,8 +6,9 @@ script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)"
cd $script_dir
. set.sh
wget https://github.com/VSCodium/vscodium/releases/download/1.40.2/codium_1.40.2-1574798581_amd64.deb
dpkg -i codium_1.40.2-1574798581_amd64.deb
wget https://github.com/VSCodium/vscodium/releases/download/1.41.1/codium_1.41.1-1576787344_amd64.deb
dpkg -i codium_1.41.1-1576787344_amd64.deb
rm codium_1.41.1-1576787344_amd64.deb
ln -s /usr/bin/codium /usr/local/bin/code

2
subjects/ascii-art-web/ascii-art-web-dockerize.audit.en.md

@ -42,7 +42,7 @@ student$
#### Basic
###### +Does the server run quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?

4
subjects/ascii-art-web/ascii-art-web-dockerize.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/ascii-art-web/ascii-art-web.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/ascii-art-web/ascii-art-web.en) as the first subject.
- For this project you must create at least :
- one Dockerfile
@ -32,7 +32,7 @@ This project will help you learn about :
### Instructions
- The web server must be created in **Go**.
- The code must respect the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices.en).
- You must use Docker.
- The project must have a **Dockerfile**.
- Your Dockerfile must respect the [Dockerfile good practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/).

2
subjects/ascii-art-web/ascii-art-web-export-file.audit.en.md

@ -16,7 +16,7 @@
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Are the instructions in the website clear?
###### +Does the project run using an API?
###### +Can you export in multiple formats?

6
subjects/ascii-art-web/ascii-art-web-export-file.en.md

@ -2,11 +2,11 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/ascii-art-web/ascii-art-web.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/ascii-art-web/ascii-art-web.en) as the first subject.
Ascii-art-web-export consists on making sure that it is possible to export the output of the web application, at least in one export format at your choice.
- You should be able to export the result of the [ascii-art](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) project implemented in the website.
- You should be able to export the result of the [ascii-art](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) project implemented in the website.
- The file must be exported with the right permissions (**read and write**) for the user.
This project will help you learn about :
@ -24,4 +24,4 @@ This project will help you learn about :
- The web server must export at least in one export format.
- The web server must be created in **Go**.
- You must handle website errors.
- The code must respect the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices.en).

2
subjects/ascii-art-web/ascii-art-web-stylize.audit.en.md

@ -16,7 +16,7 @@
###### +Is the output of the program well structured? Does any letter seems to be out of line?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
#### Social

4
subjects/ascii-art-web/ascii-art-web-stylize.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/ascii-art-web/ascii-art-web.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/ascii-art-web/ascii-art-web.en) as the first subject.
Ascii-art-stylize consists on making your site :
@ -19,7 +19,7 @@ This project will help you learn about:
### Instructions
- Your project must contain **CSS**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- We suggest you to search for the principles of a good website design.
- It must be possible to see the text properly despite the colors used.

2
subjects/ascii-art-web/ascii-art-web.audit.en.md

@ -84,7 +84,7 @@ o-o-o o--o o-o o o o o-o | | o o
#### Basic
###### +Does the server run quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?

4
subjects/ascii-art-web/ascii-art-web.en.md

@ -4,7 +4,7 @@
Ascii-art-web consists in creating and running a server, in which it will be possible to use a web **GUI** (graphical user interface) version of your last project, ascii-art.
- You must use your [ascii-art](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) application for this project.
- You must use your [ascii-art](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) application for this project.
- You can run your server **locally** (localhost) or using an **API**.
- You must use the different [banners](https://github.com/01-edu/public/tree/master/subjects/ascii-art) for the website.
- It should be available to choose between the banners.
@ -28,7 +28,7 @@ This project will help you learn about :
- You must handle website errors.
- The web server must be created in **Go**.
- The code must respect the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices.en).
- The project must have files written in **HTML**.
### Usage

4
subjects/ascii-art/ascii-art-color.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [instructions](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) as in the first subject but with colors.
You must follow the same [instructions](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) as in the first subject but with colors.
- The output should manipulate colors using the **flag** `--color=<color>`, in which `--color` is the flag and `<color>` is the color of choice.
- The colors must respect the [RGB](https://en.wikipedia.org/wiki/RGB_color_model) concept.
@ -23,5 +23,5 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.

18
subjects/ascii-art/ascii-art-fs.audit.en.md

@ -75,14 +75,14 @@ o \ /
###### Does it display the string in the right template as an ASCII art representation as above?
##### Try passing as arguments `ABCDEFGHIJKLMNOPQRSTUVWXYZ shadow`
```
_|_| _|_|_| _|_|_| _|_|_| _|_|_|_| _|_|_|_| _|_|_| _| _| _|_|_| _| _| _| _| _| _| _| _| _|_| _|_|_| _|_| _|_|_| _|_|_| _|_|_|_|_| _| _| _| _| _| _| _| _| _| _| _|_|_|_|_|
_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|_| _|_| _|_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|
_|_|_|_| _|_|_| _| _| _| _|_|_| _|_|_| _| _|_| _|_|_|_| _| _| _|_| _| _| _| _| _| _| _| _| _| _|_|_| _| _|_| _|_|_| _|_| _| _| _| _| _| _| _| _| _| _| _|
_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|
_| _| _|_|_| _|_|_| _|_|_| _|_|_|_| _| _|_|_| _| _| _|_|_| _|_| _| _| _|_|_|_| _| _| _| _| _|_| _| _|_| _| _| _| _|_|_| _| _|_| _| _| _| _| _| _| _|_|_|_|_|
_|_| _|_|_| _|_|_| _|_|_| _|_|_|_| _|_|_|_| _|_|_| _| _| _|_|_| _| _| _| _| _| _| _| _| _|_| _|_|_| _|_| _|_|_| _|_|_| _|_|_|_|_| _| _| _| _| _| _| _| _| _| _| _|_|_|_|_|
_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|_| _|_| _|_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|
_|_|_|_| _|_|_| _| _| _| _|_|_| _|_|_| _| _|_| _|_|_|_| _| _| _|_| _| _| _| _| _| _| _| _| _| _|_|_| _| _|_| _|_|_| _|_| _| _| _| _| _| _| _| _| _| _| _|
_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|
_| _| _|_|_| _|_|_| _|_|_| _|_|_|_| _| _|_|_| _| _| _|_|_| _|_| _| _| _|_|_|_| _| _| _| _| _|_| _| _|_| _| _| _| _|_|_| _| _|_| _| _| _| _| _| _| _|_|_|_|_|
```
###### Does it display the string in the right template as an ASCII art representation as above?
##### Try passing as arguments `\"#$%&/()*+,-./ thinkertoy`
@ -134,7 +134,7 @@ o-O-o o o-o o o o-o o o o | o o o--O
###### +Is the output of the program well structured? Does any letter seems to be out of line?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
#### Social

10
subjects/ascii-art/ascii-art-fs.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [instructions](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) as in the first subject but the second argument must be the name of the template.
You must follow the same [instructions](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) as in the first subject but the second argument must be the name of the template.
This project will help you learn about :
@ -16,9 +16,9 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
- You can see all about the **banners** [here](https://github.com/01-edu/public/tree/master/subjects/ascii-art/ascii-art.en.md).
- You can see all about the **banners** [here](https://github.com/01-edu/public/tree/master/subjects/ascii-art).
### Usage
@ -33,7 +33,7 @@ student@ubuntu:~/ascii-art$ ./ascii-art "hello" standard
|_| |_| \___| |_| |_| \___/
student@ubuntu:~/ascii-art$ ./ascii-art "Hello There" shadow
student@ubuntu:~/ascii-art$ ./ascii-art "Hello There!" shadow
_| _| _| _| _|_|_|_|_| _| _|
_| _| _|_| _| _| _|_| _| _|_|_| _|_| _| _|_| _|_| _|
@ -42,7 +42,7 @@ _| _| _| _| _| _| _| _| _| _| _| _| _|
_| _| _|_|_| _| _| _|_| _| _| _| _|_|_| _| _|_|_| _|
student@ubuntu:~/ascii-art$ ./ascii-art "Hello There" thinkertoy
student@ubuntu:~/ascii-art$ ./ascii-art "Hello There!" thinkertoy
o o o o o-O-o o
| | | | | | o

29
subjects/ascii-art/ascii-art-justify.audit.en.md

@ -1,41 +1,40 @@
#### Functional Project Questions
##### Try passing as arguments `left standard --align=right`
##### Try passing as arguments `"left standard --align=right"`
###### Does it displays the correct result at the right side?
##### Try passing as arguments `right standard --align=left`
##### Try passing as arguments `"right standard --align=left"`
###### Does it displays the correct result at the left side?
##### Try passing as arguments `hello shadow --align=center`
##### Try passing as arguments `"hello shadow --align=center"`
###### Does it displays the correct result at the center?
##### Try passing as arguments `"1 Two 4" shadow --align=justify`
##### Try passing as arguments `""1 Two 4" shadow --align=justify"`
###### Does it displays the correct result justified?
##### Try passing as arguments `23/32 standard --align=right`
##### Try passing as arguments `"23/32 standard --align=right"`
###### Does it displays the correct result at the right side?
##### Try passing as arguments `ABCabc123 thinkertoy--align=right`
##### Try passing as arguments `"ABCabc123 thinkertoy--align=right"`
###### Does it displays the correct result at the right side?
##### Try passing as arguments `!#$%&" thinkertoy --align=cente`
##### Try passing as arguments `"!#$%&" thinkertoy --align=cente"`
###### Does it displays the correct result at the center?
##### Try passing as arguments `"23Hello World!" standard --align=left`
##### Try passing as arguments `""23Hello World!" standard --align=left"`
###### Does it displays the correct result at the left side?
##### Try passing as arguments `"HELLO there HOW are YOU?!" thinkertoy --align=justify`
##### Try passing as arguments `""HELLO there HOW are YOU?!" thinkertoy --align=justify"`
###### Does it displays the correct result justified?
##### Try passing as arguments `"a -> A b -> B c -> C" shadow --align=right`
##### Try passing as arguments `""a -> A b -> B c -> C" shadow --align=right"`
###### Does it displays the correct result at the right side?
##### Try reducing the terminal window and run `abcd shadow --align=right`
###### Does the representation adapt to the terminal size displaying the right result in the right side?
##### Try reducing the terminal window and run `ola standard --align=center`
##### Try reducing the terminal window and run `"abcd shadow --align=right"`
###### Does the representation adapt to the terminal size displaying the right result in the right side?
##### Try reducing the terminal window and run `"ola standard --align=center"`
###### Does the representation adapt to the terminal size displaying the right result in the center?
##### Try passing as arguments a random string with lower and upper case letters, and the align flag ("--align=") followed by a random alignment (left, right, center or justify).
###### Does it display the expected result?
@ -55,7 +54,7 @@
###### +Is the output of the program well structured? Does any letter seems to be out of line?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
#### Social

4
subjects/ascii-art/ascii-art-justify.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [instructions](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) as in the first subject but the representation should be formatted using a **flag** `--align=<type>`, in which `type` can be :
You must follow the same [instructions](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) as in the first subject but the representation should be formatted using a **flag** `--align=<type>`, in which `type` can be :
- center
- left
@ -23,7 +23,7 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
### Usage

6
subjects/ascii-art/ascii-art-output.audit.en.md

@ -50,7 +50,7 @@ student$ cat test02.txt
```
###### Does it save the right output in the right file?
##### Try passing as arguments `"32 -> #$%&@" shadow --output=test03.txt`
##### Try passing as arguments `"432 -> #$%&@" shadow --output=test03.txt`
```
student$ cat test03.txt
@ -78,7 +78,7 @@ _|_|_|_|_| _|
```
###### Does it save the right output in the right file?
##### Try passing as arguments `"23 -> \"#$%@" thinkertoy --output=test05.txt`
##### Try passing as arguments `"123 -> \"#$%@" thinkertoy --output=test05.txt`
```
student$ cat test05.txt
o o | |
@ -141,7 +141,7 @@ student$ cat test07.txt
###### +Is the output of the program well structured? Does any letter seems to be out of line?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
#### Social

4
subjects/ascii-art/ascii-art-output.en.md

@ -2,7 +2,7 @@
### Objectives
- You must follow the same [instructions](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) as in the first subject but writing the result into a file.
- You must follow the same [instructions](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) as in the first subject but writing the result into a file.
- The file must be named by using the flag `--output=<fileName.txt>`, in which `--output` is the flag and `<fileName.txt>` is the file name.
@ -18,7 +18,7 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
### Usage

58
subjects/ascii-art/ascii-art-reverse-example.md

@ -5,14 +5,14 @@
### example00
```console
_ _ _ _ __ __ _ _
| | | | | | | | \ \ / / | | | |
| |__| | ___ | | | | ___ \ \ /\ / / ___ _ __ | | __| |
| __ | / _ \ | | | | / _ \ \ \/ \/ / / _ \ | '__| | | / _` |
| | | | | __/ | | | | | (_) | \ /\ / | (_) | | | | | | (_| |
|_| |_| \___| |_| |_| \___/ \/ \/ \___/ |_| |_| \__,_|
_ _ _ _ __ __ _ _
| | | | | | | | \ \ / / | | | |
| |__| | ___ | | | | ___ \ \ /\ / / ___ _ __ | | __| |
| __ | / _ \ | | | | / _ \ \ \/ \/ / / _ \ | '__| | | / _` |
| | | | | __/ | | | | | (_) | \ /\ / | (_) | | | | | | (_| |
|_| |_| \___| |_| |_| \___/ \/ \/ \___/ |_| |_| \__,_|
```
@ -33,13 +33,13 @@
### example02
```console
___
_ _ __ | _|
_| || |_ ______ \ \ | |
_ _ __ ___
_| || |_ ______ \ \ | _|
|_ __ _| |______| \ \ | |
_| || |_ ______ \ \ | |
|_ __ _| |______| \ \ | |_
|_||_| \_\ |___|
|_ __ _| |______| \ \ | |
|_||_| \_\ | |_
|___|
```
@ -47,14 +47,14 @@
### example03
```console
__ _ _ _ __
/ / | | | | (_) __ _ ___ ____ _____ _ _ \ \
| | ___ ___ _ __ ___ | |_ | |__ _ _ __ ___ / _` | ( _ ) |___ \ |___ / | || | | |
| | / __| / _ \ | '_ ` _ \ | __| | _ \ | | | '_ ` _ \ | (_| | / _ \/\ __) | |_ \ | || |_ | |
| | \__ \ | (_) | | | | | | | \ |_ | | | | | | | | | | | | \__, | | (_> < / __/ ___) | |__ _| | |
| | |___/ \___/ |_| |_| |_| \__| |_| |_| |_| |_| |_| |_| __/ | \___/\/ |_____| |____/ |_| | |
\_\ |___/ /_/
__ _ _ _ __
/ / | | | | (_) __ _ ___ ____ _____ _ _ \ \
| | ___ ___ _ __ ___ | |_ | |__ _ _ __ / _` | ( _ ) |___ \ |___ / | || | | |
| | / __| / _ \ | '_ ` _ \ | __| | _ \ | | | '_ \ | (_| | / _ \/\ __) | |_ \ | || |_ | |
| | \__ \ | (_) | | | | | | | \ |_ | | | | | | | | | | \__, | | (_> < / __/ ___) | |__ _| | |
| | |___/ \___/ |_| |_| |_| \__| |_| |_| |_| |_| |_| __/ | \___/\/ |_____| |____/ |_| | |
\_\ |___/ /_/
```
@ -89,14 +89,14 @@ __ _ _ _ _ _ _ _ __ _ __ __ _
### example06
```console
__ __ ___
_ _ / / ______ \ \ |__ \ ____
(_) (_) / / |______| \ \ ) | / __ \
< < ______ > > / / / / _` |
_ _ \ \ |______| / / |_| | | (_| |
(_) ( ) \_\ /_/ (_) \ \__,_|
|/ \____/
__ __ ___
_ _ / / ______ \ \ |__ \ ____
(_) (_) / / |______| \ \ ) | / __ \
< < ______ > > / / / / _` |
_ _ \ \ |______| / / |_| | | (_| |
(_) ( ) \_\ /_/ (_) \ \__,_|
|/ \____/
```

18
subjects/ascii-art/ascii-art-reverse.audit.en.md

@ -1,27 +1,27 @@
#### Functional Project Questions
##### Try passing to the reverse flag `"--reverse=example00.txt"` the [example 00](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example00.txt"` the [example 00](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`Hello World`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example01.txt"` the [example 01](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example01.txt"` the [example 01](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`123`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example02.txt"` the [example 02](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example02.txt"` the [example 02](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`#=\[`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example03.txt"` the [example 03](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example03.txt"` the [example 03](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`(somthing&234)`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example04.txt"` the [example 04](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example04.txt"` the [example 04](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`abcdefghijklmnopqrstuvwxyz`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example05.txt"` the [example 05](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example05.txt"` the [example 05](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`\!" #$%&'()*+,-./`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example06.txt"` the [example 06](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example06.txt"` the [example 06](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`:;<=>?@`
###### Does it display the value above?
##### Try passing to the reverse flag `"--reverse=example07.txt"` the [example 07](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art-reverse-example.md).
##### Try passing to the reverse flag `"--reverse=example07.txt"` the [example 07](https://public.01-edu.org/subjects/ascii-art/ascii-art-reverse-example).
`ABCDEFGHIJKLMNOPQRSTUVWXYZ`
###### Does it display the value above?
@ -40,7 +40,7 @@
#### Basic
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?

4
subjects/ascii-art/ascii-art-reverse.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [instructions](https://github.com/01-edu/public/blob/master/subjects/ascii-art/ascii-art.en.md) as in the first subject.
You must follow the same [instructions](https://public.01-edu.org/subjects/ascii-art/ascii-art.en) as in the first subject.
- Ascii-reverse consists on reversing the process, converting the graphic representation into a text.
- You will have to create a text file containing a graphic representation of a random `string`.
@ -21,7 +21,7 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
### Usage

85
subjects/ascii-art/ascii-art.audit.en.md

@ -106,38 +106,38 @@
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"1a\"#FdwHywR&/()="` as argument.
```
_ _ _ _ ______ _ _ _ _____ __ __ __
_ ( | ) _| || |_ | ____| | | | | | | | __ \ ___ / / / / \ \ ______
/ | __ _ V V |_ __ _| | |__ __| | __ __ | |__| | _ _ __ __ | |__) | ( _ ) / / | | | | |______|
| | / _` | _| || |_ | __| / _` | \ \ /\ / / | __ | | | | | \ \ /\ / / | _ / / _ \/\ / / | | | | ______
| | | (_| | |_ __ _| | | | (_| | \ V V / | | | | | |_| | \ V V / | | \ \ | (_> < / / | | | | |______|
|_| \__,_| |_||_| |_| \__,_| \_/\_/ |_| |_| \__, | \_/\_/ |_| \_\ \___/\/ /_/ | | | |
__/ / \_\ /_/
|___/
_ _ _ _ ______ _ _ _ _____ __ __ __
_ ( | ) _| || |_ | ____| | | | | | | | __ \ ___ / / / / \ \ ______
/ | __ _ V V |_ __ _| | |__ __| | __ __ | |__| | _ _ __ __ | |__) | ( _ ) / / | | | | |______|
| | / _` | _| || |_ | __| / _` | \ \ /\ / / | __ | | | | | \ \ /\ / / | _ / / _ \/\ / / | | | | ______
| | | (_| | |_ __ _| | | | (_| | \ V V / | | | | | |_| | \ V V / | | \ \ | (_> < / / | | | | |______|
|_| \__,_| |_||_| |_| \__,_| \_/\_/ |_| |_| \__, | \_/\_/ |_| \_\ \___/\/ /_/ | | | |
__/ / \_\ /_/
|___/
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"{|}~"` as argument.
```
__ _ __ /\/|
/ / | | \ \ |/\/
| | | | | |
/ / | | \ \
\ \ | | / /
| | | | | |
\_\ | | /_/
|_|
__ _ __ /\/|
/ / | | \ \ |/\/
| | | | | |
/ / | | \ \
\ \ | | / /
| | | | | |
\_\ | | /_/
|_|
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"[\]^_ 'a"` as argument.
```
___ __ ___ /\ _
| _| \ \ |_ | |/\| ( )
| | \ \ | | \| __ _
| | \ \ | | / _` |
| | \ \ | | | (_| |
| |_ \_\ _| | \__,_|
|___| |___| ______
|______|
___ __ ___ /\ _
| _| \ \ |_ | |/\| ( )
| | \ \ | | |/ __ _
| | \ \ | | / _` |
| | \ \ | | | (_| |
| |_ \_\ _| | \__,_|
|___| |___| ______
|______|
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"RGB"` as argument.
@ -154,29 +154,29 @@
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `":;<=>?@"` as argument.
```
__ __ ___
_ _ / / ______ \ \ |__ \ ____
(_) (_) / / |______| \ \ ) | / __ \
< < ______ > > / / / / _` |
_ _ \ \ |______| / / |_| | | (_| |
(_) ( ) \_\ /_/ (_) \ \__,_|
|/ \____/
__ __ ___
_ _ / / ______ \ \ |__ \ ____
(_) (_) / / |______| \ \ ) | / __ \
< < ______ > > / / / / _` |
_ _ \ \ |______| / / |_| | | (_| |
(_) ( ) \_\ /_/ (_) \ \__,_|
|/ \____/
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"\!\" #$%&'()*+,-./"` as argument.
```
__ _ _ _ _ _ _ _ __ _ __ __ _ __
\ \ | | ( | ) _| || |_ | | (_) / / ___ ( ) / / \ \ /\| |/\ _ / /
\ \ | | V V |_ __ _| / __) / / ( _ ) |/ | | | | \ ` ' / _| |_ ______ / /
\ \ | | _| || |_ \__ \ / / / _ \/\ | | | | |_ _| |_ _| |______| / /
\ \ |_| |_ __ _| ( / / / _ | (_> < | | | | / , . \ |_| _ _ / /
\_\ (_) |_||_| |_| /_/ (_) \___/\/ | | | | \/|_|\/ ( ) (_) /_/
\_\ /_/ |/
__ _ _ _ _ _ _ _ __ _ __ __ _ __
\ \ | | ( | ) _| || |_ | | (_) / / ___ ( ) / / \ \ /\| |/\ _ / /
\ \ | | V V |_ __ _| / __) / / ( _ ) |/ | | | | \ ` ' / _| |_ ______ / /
\ \ | | _| || |_ \__ \ / / / _ \/\ | | | | |_ _| |_ _| |______| / /
\ \ |_| |_ __ _| ( / / / _ | (_> < | | | | / , . \ |_| _ _ / /
\_\ (_) |_||_| |_| /_/ (_) \___/\/ | | | | \/|_|\/ ( ) (_) /_/
\_\ /_/ |/
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"ABCDEFGHIJKLMNOQPRSTUVWXYZ"` as argument.
##### Try passing `"ABCDEFGHIJKLMNOPQRSTUVWXYZ"` as argument.
```
____ _____ _____ ______ ______ _____ _ _ _____ _ _ __ _ __ __ _ _ ____ _____ ____ _____ _____ _______ _ _ __ __ __ __ __ __ __ __ ______
/\ | _ \ / ____| | __ \ | ____| | ____| / ____| | | | | |_ _| | | | |/ / | | | \/ | | \ | | / __ \ | __ \ / __ \ | __ \ / ____| |__ __| | | | | \ \ / / \ \ / / \ \ / / \ \ / / |___ /
@ -186,7 +186,6 @@ __ _ _ _ _ _ _ _ __ _ __ __ _
/_/ \_\ |____/ \_____| |_____/ |______| |_| \_____| |_| |_| |_____| \____/ |_|\_\ |______| |_| |_| |_| \_| \____/ |_| \___\_\ |_| \_\ |_____/ |_| \____/ \/ \/ \/ /_/ \_\ |_| /_____|
```
###### Does it display the right graphical representation in ASCII as above?
##### Try passing `"abcdefghijklmnopqrstuvwxyz"` as argument.
@ -217,7 +216,7 @@ __ _ _ _ _ _ _ _ __ _ __ __ _
#### Basic
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?

2
subjects/ascii-art/ascii-art.en.md

@ -19,7 +19,7 @@ This project will help you learn about :
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
- It will be given some [**banner**](https://github.com/01-edu/public/blob/master/subjects/ascii-art) files with a specific graphical template representation of ASCII. The files are formatted in a way that it is not necessary to change them.

32
subjects/ascii-art/shadow.txt

@ -521,14 +521,14 @@ _| _|
_|_|_|_|_|
_|
_|
_|
_|_|_|_|_|
_|_|_|_|_|
_|
_|
_|
_|_|_|_|_|
_|_|
_|
@ -809,14 +809,14 @@ _| _|
_|
_|_|
_|_|_|_|
_|
_|
_|_|_|_|
_|_|_|_|
_|
_|
_|_|_|_|
_|
_|

80
subjects/ascii-art/standard.txt

@ -44,14 +44,14 @@
_ __
(_) / /
/ /
/ /
/ / _
/_/ (_)
_ __
(_) / /
/ /
/ /
/ / _
/_/ (_)
___
@ -134,14 +134,14 @@ __
__
/ /
/ /
/ /
/ /
/_/
__
/ /
/ /
/ /
/ /
/_/
___
@ -287,14 +287,14 @@ __
____
/ __ \
/ / _` |
| | (_| |
\ \__,_|
\____/
____
/ __ \
/ / _` |
| | (_| |
\ \__,_|
\____/
/\
@ -575,14 +575,14 @@ __
______
|______|
_
( )
\|
_
( )
\|
@ -845,11 +845,11 @@ __
/_/
/\/|
|/\/
/\/|
|/\/

10
subjects/atoibase.en.md

@ -4,13 +4,15 @@
Write a function that takes a `string` number and its `string` base in parameters and returns its conversion as an `int`.
If the base or the `string` number is not valid it returns `0`:
If the base is not valid it returns `0`.
Validity rules for a base :
- A base must contain at least 2 characters.
- Each character of a base must be unique.
- A base should not contain `+` or `-` characters.
- A base must contain at least 2 characters.
- Each character of a base must be unique.
- A base should not contain `+` or `-` characters.
String number must contain only elements that are in base.
Only valid `string` numbers will be tested.

2
subjects/groupie-trackers/groupie-trackers-filters.audit.en.md

@ -36,7 +36,7 @@
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Are the instructions in the website clear?
#### Social

4
subjects/groupie-trackers/groupie-trackers-filters.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/groupie-trackers/groupie-trackers.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/groupie-trackers/groupie-trackers.en) as the first subject.
- Groupie Trackers Filters consists on letting the user filter the artists/bands that will be shown.
@ -31,5 +31,5 @@ This project will help you learn about:
- The backend must be written in **Go**.
- You must handle website errors.
- The code must respect the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices.en)
- It is recommended that the code should present a **test file**.

20
subjects/groupie-trackers/groupie-trackers-geolocation.audit.en.md

@ -6,7 +6,7 @@
```
los angeles usa,
nagoya japan,
osaka japon,
osaka japan,
penrose new zealand,
saitama japan,
dunedin new zealand,
@ -18,7 +18,7 @@ georgia usa
```
dusseldorf germany,
manchester uk,
new yourk usa,
new york usa,
aarhus denmark
```
###### Are the markers displayed in the locations above?
@ -29,10 +29,10 @@ napoca germany,
quebec canada,
del mar usa,
mexico city mexico,
las vagas usa,
las vegas usa,
lisbon portugal,
monterrey mexico,
new yourk usa,
new york usa,
rio de janeiro brazil,
riyadh saudi arabia,
california usa,
@ -59,14 +59,14 @@ philadelphia usa,
uniondale usa,
columbia usa,
hershey usa,
pittburgh usa,
pittsburgh usa,
rosemont usa,
washigdon usa,
washington usa,
toronto usa,
grand rapids usa,
indianapolis usa,
kansas city usa,
montreals usa,
montreal usa,
omaha usa,
st louis usa,
newark usa
@ -78,7 +78,7 @@ newark usa
landgraaf netherlands,
los angeles california usa,
rio de janeiro brazil,
athens grece,
athens greece,
boston massachusetts,
dana point california usa,
florence italia,
@ -88,11 +88,11 @@ gulf shores alabama usa
#### General
###### +Does the markers connect in an historical order, using lines to see the path?
###### +Does the markers connect in a historical order, using lines to see the path?
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Are the instructions in the website clear?
###### +Does the project run using an API?

8
subjects/groupie-trackers/groupie-trackers-geolocation.en.md

@ -2,13 +2,13 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/groupie-trackers/groupie-trackers.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/groupie-trackers/groupie-trackers.en) as the first subject.
- Groupie Trackers Geolocation consists on mapping the different concerts locations of a certain artist/band given by the Client.
- You must use a process of converting addresses (ex: Germany Mainz) into geographic coordinates (ex: 49,59380 8,15052) which you must use to place markers for the concerts locations of a certain artist/band on a map
- You must use a process of converting addresses (ex: Germany Mainz) into geographic coordinates (ex: 49,59380 8,15052) which you must use to place markers for the concerts locations of a certain artist/band on a map.
- You are free to use the [Map API](https://rapidapi.com/blog/top-map-apis/) you found more appropriate
- You are free to use the [Map API](https://rapidapi.com/blog/top-map-apis/) you found more appropriate.
This project will help you learn about :
@ -23,7 +23,7 @@ This project will help you learn about :
- The backend must be written in **Go**
- You must handle website errors
- The code must respect the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices.en)
- It is recommended that the code should present a **test file**
### Usage

2
subjects/groupie-trackers/groupie-trackers-search-bar.audit.en.md

@ -32,7 +32,7 @@
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Are the instructions in the website clear?
###### +Does the project run using an API?

4
subjects/groupie-trackers/groupie-trackers-search-bar.en.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://github.com/01-edu/public/blob/master/subjects/groupie-trackers/groupie-trackers.en.md) as the first subject.
You must follow the same [principles](https://public.01-edu.org/subjects/groupie-trackers/groupie-trackers.en) as the first subject.
Groupie-trackers-search-bar consists of creating a functional program that searches, inside your website, for a specific input text.
@ -27,4 +27,4 @@ This project will help you learn about :
### Instructions
- The program must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).

4
subjects/groupie-trackers/groupie-trackers.audit.en.md

@ -65,7 +65,9 @@
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
#### Social

2
subjects/groupie-trackers/groupie-trackers.en.md

@ -33,7 +33,7 @@ This project will help you learn about :
### Instructions
- The backend must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
### Usage

62
subjects/my-ls-1/my-ls-1.audit.en.md

@ -0,0 +1,62 @@
#### Functional
##### Run both my-ls-1 and the system command `ls` with no arguments.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the arguments: `<file name>`.
###### Does it displays the same file?
##### Run both my-ls-1 and the system command `ls` with the arguments: `<directory name>`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the flag: `-l`.
###### Does it displays the same files and/or folders with the same display?
##### Run both my-ls-1 and the system command `ls` with the arguments: `-l <file name>`.
###### Does it displays the same file with the same display?
##### Run both my-ls-1 and the system command `ls` with the arguments: `-l <directory name>`.
###### Does it displays the same files and/or folders with the same display?
##### Run both my-ls-1 and the system command `ls` with the flag: `-l /usr/bin`.
###### Does it displays the same files and/or folders with the same display? Be aware of symbolic links.
##### Run both my-ls-1 and the system command `ls` with the flag: `-R`, in a directory with folders in it.
###### Does it displays the same files and/or folders?
##### Run both my-ls-1 and the system command `ls` with the flag: `-a`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the flag: `-r`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the flag: `-t`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the flag: `-la`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the arguments: `-l -t <directory name>`.
###### Does it displays the same files and/or folders in the same order?
##### Run both my-ls-1 and the system command `ls` with the arguments: `-lRr <directory name>`, in which the directory chosen contains folders.
###### Does it displays the same files and/or folders in the same order?
#### 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](https://public.01-edu.org/subjects/good-practices.en)?
###### +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?

44
subjects/my-ls-1/my-ls-1.en.md

@ -0,0 +1,44 @@
## my-ls-1
### Objectives
- my-ls-1 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.
This project will help you learn about :
- Unix system
- Ways to receive data.
- Ways to output data.
- Manipulation of strings.
- Manipulation of structures.
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
### 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.

55
subjects/net-cat/net-cat.audit.en.md

@ -0,0 +1,55 @@
#### Functional
##### Try running `"./net-cat -p 8080"`.
###### Is the server listening for connections?
##### Try opening 3 terminals, run on the first terminal the command `"./net-cat -p <port>"` and on the second and third terminal run the command `"./net-cat <host ip> <port>"`.
###### Does both clients connect to the server with success?
##### Try opening 4 terminals, run on the first terminal the command `"./net-cat -u -p <port>"` and on the second, third and fourth terminal run the command `"./net-cat -u <host ip> <port>"`.
###### Does all clients connect to the server with [UDP](https://www.privateinternetaccess.com/blog/2018/12/tcp-vs-udp-understanding-the-difference/) connection?
##### Try creating a server and 2 Clients.
###### Do all Clients receive a message informing that the Client joined the chat?
##### Try creating a server and 2 Clients and send a message using the first Client.
###### Does the second Client receive the message?
##### Try creating a server and 1 Client and send some messages using this Client. Then create a new Client.
###### Can the new Client see all the messages?
##### Try creating a server and 3 Clients and send a message using the second Client.
###### Does all the Clients(first, second and third) received the same message?
##### Try creating a server and use 2 or 3 different computers and create for each computer one Client.
###### Did the server/Clients connected with success?
##### Try creating a server and 4 Clients and disconnect one of the Clients.
###### Does the rest of the Clients stay connected?
##### Try creating a server and 3 Clients and disconnect one of the Clients.
###### Does the rest of the Clients receive a message notifying that the Client left?
##### Try creating a server and 3 Clients. Then send messages between the Clients.
###### Are the messages identified by the name of each Client and the time that the messages was sent?
###### Is the connections between server and Clients well established?
#### General
###### +Can the Clients change their names?
###### +Is the chat group informed if a Client changes his name?
###### +Does the server produce logs about Clients activities?
###### +Is there more NetCat flags implemented?
#### Basic
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
#### Social
###### +Did you learn anything from this project?
###### +Can it be open-sourced / be used for other sources?
###### +Would you recommend/nominate this program as an example for the rest of the school?

121
subjects/net-cat/net-cat.en.md

@ -0,0 +1,121 @@
## net-cat
### Objectives
This project consists on recreating the **NetCat in a Server-Client Architecture** that can run in a server mode on a specified port listening for incoming connections, and it can be used in client mode, trying to connect on a specified port and transmitting information to the server.
- NetCat, `nc` the system command, is a computer network utility for reading from and writing to network connections using TCP or UDP. It is used for anything involving TCP, UDP, or UNIX-domain sockets, it is able to open TCP connections, send UDP packages, listen on arbitrary TCP and UDP ports...
- To see more information about NetCat inspect the manual `man nc`.
Here is a simple example of connection and transmission between Server-Client by creating a TCP socket between server and client.
- Open two terminals, one for the server and the other for Client.
- Use the following commands for the server side :
```console
stuednt$ mawk -W interactive '$0="\033[1;32mServer: \033[0m"$0' | nc -l -p <port>
Client: Hello it's the CLIENT talking
hello there
```
- Use the following commands for the client side :
```console
stuednt$ mawk -W interactive '$0="\033[1;32mClient: \033[0m"$0' | nc <host ip> <port>
Hello it's the CLIENT talking
Server: Hello there
```
- To see the host IP use the command `ifconfig` on the host machine.
Your project must work in a similar way that NetCat works, in other words you must create a group chat. The project must present :
- TCP or UDP connection between server and multiple clients (relation of 1 to many), the type of connection must be established by using a flag, just like `nc`, by default it uses TCP connection, if you want to use UDP connection present the flag `-u`.
- Each Client must have an user name.
- Clients must be able to send messages to the chat.
- Messages sent, must be identified by the time that was sent and the user name of who sent the message.
- If a Client joins the chat, all the messages sent to the chat must be uploaded to the new Client.
- If a Client connects to the server, the rest of the Clients must be informed by the server that the Client joined the group.
- If a Client exits the chat, the rest of the Clients must be informed by the server that the Client left.
- All Clients must receive the messages sent by other Clients.
- If a Client leaves the chat, the rest of the Clients must not disconnect.
This project will help you learn about :
- Manipulation of structures.
- [Net-Cat](https://linuxize.com/post/netcat-nc-command-with-examples/)
- [TCP/UDP](https://www.privateinternetaccess.com/blog/2018/12/tcp-vs-udp-understanding-the-difference/)
- TCP/UDP connection
- TCP/UDP socket
- [Channels](https://tour.golang.org/concurrency/2)
- [Goroutines](https://tour.golang.org/concurrency/1)
- IP and [ports](https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)
### Hints
- Try to find out more about the flags `-u`, `-p` and `-l`.
### Instructions
- Your project must be written in **Go**.
- Your project must use TCP or UDP.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file** for the server connection and the client connection.
- You have to be able to handle the errors from server side and client side.
### Usage
Here is a simple example of a group chat :
- Server side :
```console
student$ ./net-cat -p 8080
listening on port 8080....
```
- Two Clients running at the same time
- Client 2 :
```console
stuednt$ ./net-cat 192.168.1.123 8080
wellcome, you are connected
enter user name : client2
your name is client2
client2 joined the chat...
client1 joined the chat...
hello
client2 at 18:12- hello
client1 at 18:13- hello man
how are you?
client2 at 18:15- how are you?
client1 left the chat...
```
- Client 1 :
```console
stuednt$ ./net-cat 192.168.1.123 8080
wellcome, you are connected
enter user name : client1
your name is client1
client2 joined the chat...
client1 joined the chat...
client2 at 18:12- hello
hello man
client1 at 18:13- hello man
client2 at 18:15- how are you?
^C
```

2
subjects/push-swap/push-swap.audit.en.md

@ -62,7 +62,7 @@ OK
#### Basic
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?

2
subjects/push-swap/push-swap.en.md

@ -149,7 +149,7 @@ student$
### Instructions
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://github.com/01-edu/public/good-practices.en.md).
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
- The first executable file must be named **checker** and the second **push_swap**.
- You have to be able to handle the errors.

24
subjects/tetris-optimizer/tetris-optimizer.audit.en.md

@ -1,32 +1,32 @@
#### Functional
##### Try bad example 00 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badexample00.md).
##### Try bad example 00 (https://public.01-edu.org/subjects/tetris-optimizer/badexample00).
`ERROR`
###### Does the program prints the value above?
##### Try bad example 01 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badexample01.md).
##### Try bad example 01 (https://public.01-edu.org/subjects/tetris-optimizer/badexample01).
`ERROR`
###### Does the program prints the value above?
##### Try bad example 02 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badexample02.md).
##### Try bad example 02 (https://public.01-edu.org/subjects/tetris-optimizer/badexample02).
`ERROR`
###### Does the program prints the value above?
##### Try bad example 03 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badexample03.md).
##### Try bad example 03 (https://public.01-edu.org/subjects/tetris-optimizer/badexample03).
`ERROR`
###### Does the program prints the value above?
##### Try bad example 04 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badexample04.md).
##### Try bad example 04 (https://public.01-edu.org/subjects/tetris-optimizer/badexample04).
`ERROR`
###### Does the program prints the value above?
##### Try bad format (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/badformat.md).
##### Try bad format (https://public.01-edu.org/subjects/tetris-optimizer/badformat).
`ERROR`
###### Does the program prints the value above?
##### Try good example 00 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/goodexample00.md).
##### Try good example 00 (https://public.01-edu.org/subjects/tetris-optimizer/goodexample00).
###### Does the result contain 0 empty spaces (0 '.')?
##### Try good example 01 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/goodexample01.md).
##### Try good example 01 (https://public.01-edu.org/subjects/tetris-optimizer/goodexample01).
###### Does the result contain 9 empty spaces (9 '.')?
##### Try good example 02 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/goodexample02.md).
##### Try good example 02 (https://public.01-edu.org/subjects/tetris-optimizer/goodexample02).
###### Does the result contain 4 empty spaces (4 '.')?
##### Try good example 03 (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/goodexample03.md).
##### Try good example 03 (https://public.01-edu.org/subjects/tetris-optimizer/goodexample03).
###### Does the result contain 5 empty spaces (5 '.')?
##### Try hard example (https://github.com/01-edu/public/blob/master/subjects/tetris-optimizer/hardexam.md).
##### Try hard example (https://public.01-edu.org/subjects/tetris-optimizer/hardexam).
###### Does the result contain 1 empty spaces (1 '.')?
###### Are all of the Tetrominos contained in the test file, present in the output?
###### Different characters correspond to different Tetrominos?
@ -37,7 +37,7 @@
###### +Does the project runs quickly and effectively (Favoring of recursive, no unnecessary data requests, etc.)?
###### +Is there a test file for this code?
###### +Are the tests checking each possible case?
###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
#### Social

14
subjects/tetris-optimizer/tetris-optimizer.en.md

@ -8,12 +8,14 @@ Develop a program that receives only one argument, a path to a text file which w
The program must :
- Be written in Go
- Compile successfully
- Assemble all of the tetrominoes in order to create the smallest square possible
- Identify each tetromino in the solution by printing them with uppercase latin letters (`A` for the first one, `B` for the second, etc)
- Expect at least one tetromino in the text file
- In case of bad format on the tetrominoes or bad file format it should print `ERROR`
- Compile successfully
- Assemble all of the tetrominoes in order to create the smallest square possible
- Identify each tetromino in the solution by printing them with uppercase latin letters (`A` for the first one, `B` for the second, etc)
- Expect at least one tetromino in the text file
- In case of bad format on the tetrominoes or bad file format it should print `ERROR`
- The project must be written in **Go**.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- It is recommended that the code should present a **test file**.
#### Example of a text File

Loading…
Cancel
Save