master > master: README
This commit is contained in:
		
							parent
							
								
									e6be5a467c
								
							
						
					
					
						commit
						189755e69a
					
				
							
								
								
									
										73
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								README.md
									
									
									
									
									
								
							| @ -25,16 +25,49 @@ In diesem Repository findet man: | ||||
| 
 | ||||
| ## Code ## | ||||
| 
 | ||||
| Im Unterordner [`code`](./code) kann man ein Python-Projekt finden, | ||||
| in dem verschiedene Algorithmen implementiert werden | ||||
| (siehe insbes. [`code/algorithms`](./code/algorithms)). | ||||
| Im Unterordner [`code`](./code) kann man Codeprojekte in Python und Golang finden, in denen verschiedene Algorithmen implementiert werden | ||||
| (siehe insbes. [`code/python/src/algorithms`](./code/python//src/algorithms) | ||||
| und [`code/golang/pkg/algorithms`](./code/golang/pkg/algorithms)). | ||||
| Man kann gerne den Code benutzen, in einer eigenen Repository verändern, | ||||
| und mit den in dem Kurs präsentierten Algorithmen herumexperimentieren. | ||||
| 
 | ||||
| ### Systemvoraussetzungen ### | ||||
| 
 | ||||
| #### Bashscripts #### | ||||
| 
 | ||||
| Im Ordner [`scripts`](./scripts) sind mehrere Workflows als Bashscripts kodiert. (Man kann natürlich ohne sie arbeiten, insbesondere dann, wenn man einen guten IDE hat.) | ||||
| 
 | ||||
| Zunächst braucht man einen Bashterminal. Das kommt mit OSX (Terminal) und Linux. Für Windows-User braucht man [git-for-windows](https://gitforwindows.org) zu installieren, was auch bash mit installiert. (Und für diejenigen, die VSCode oder andere IDEs benutzen, lässt sich bash als integrierten Terminal im IDE selbst verwenden.) | ||||
| 
 | ||||
| Den Bashscripts benötigen Ausfuhrrechte. Hierfür führe man | ||||
| ```bash | ||||
| chmod +x scripts/*.sh; | ||||
| ``` | ||||
| aus. Das muss danach nie wiederholt werden. | ||||
| 
 | ||||
| Jetzt können wir von dem Hauptordner des Repositorys Befehle wie | ||||
| ```bash | ||||
| ./scripts/build.sh | ||||
| ./scripts/build.sh ---mode setup | ||||
| ``` | ||||
| usw. in der Bash-Console ausführen. | ||||
| 
 | ||||
| #### Für das Golang-Projekt #### | ||||
| 
 | ||||
| Man braucht [go](https://golang.org/dl/) Version **1.17.x**. (Man kann bestimmt bei späteren Releases höhere Versionen benutzen. Man muss lediglich dann in [`./code/golang/go.mod`](./code/golang/go.mod) die Version hochstellen und die Requirements nochmals installieren lassen.) Und einige Packages werden benötigen. Letztere lassen sich mittels | ||||
| ```bash | ||||
| ./scripts/build.sh --lang go --mode setup | ||||
| ``` | ||||
| installieren. | ||||
| 
 | ||||
| #### Für das Python-Projekt #### | ||||
| 
 | ||||
| Python version 3.x.x (idealerweise zumindest 3.9.5) plus einige Module (siehe [code/requirements](./code/requirements)). Letztere lassen sich mittels | ||||
| ```bash | ||||
| ./scripts/build.sh --lang python --mode setup | ||||
| ## mit virtuellem Env: | ||||
| ./scripts/build.sh --lang python --venv true --mode setup | ||||
| ## alternative: | ||||
| python3 -m pip install -r code/requirements; # linux, osx | ||||
| py -3   -m pip install -r code/requirements; # Windows | ||||
| ``` | ||||
| @ -42,17 +75,35 @@ installieren. | ||||
| 
 | ||||
| ### Ausführung ### | ||||
| 
 | ||||
| Um den Python Code auszuführen, bspw. im Bash: | ||||
| #### Für das Golang-Projekt #### | ||||
| 
 | ||||
| Zuerst den Artefakt kompilieren: | ||||
| ```bash | ||||
| ./scripts/build.sh --lang go --mode dist; | ||||
| ## oder: | ||||
| go build -o "dist/ads" "code/golang/main.go"; | ||||
| ``` | ||||
| und dann mit dem gebauten Artefakt arbeiten: | ||||
| ```bash | ||||
| ./dist/ads1 help; # zeigt Hilfsanleitung | ||||
| ./dist/ads1 version; # zeigt Version | ||||
| ./dist/ads1 run [--debug]; # führt code aus | ||||
| ``` | ||||
| 
 | ||||
| #### Für das Python-Projekt #### | ||||
| 
 | ||||
| ```bash | ||||
| pushd code/python/src; ## <- auf Pfad mit main.py wechseln | ||||
| 
 | ||||
| ## Anzeigen der Hilfsanleitung: | ||||
| python3 code/main.py -h; # linux, OSX | ||||
| py -3   code/main.py -h; # Windows | ||||
| python3 main.py -h; # linux, OSX | ||||
| py -3   main.py -h; # Windows | ||||
| ## Ausführung der Testfälle in code/config.yml: | ||||
| python3 code/main.py all; # linux, OSX | ||||
| py -3   code/main.py all; # Windows | ||||
| ## Mit Infos über Schritte: | ||||
| python3 code/main.py --debug all; # linux, OSX | ||||
| py -3   code/main.py --debug all; # Windows | ||||
| python3 main.py run [--debug]; # linux, OSX | ||||
| py -3   main.py run [--debug]; # Windows | ||||
| ## --debug Option benutzen, um Infos über Schritte zu zeigen. | ||||
| 
 | ||||
| popd; ## <- zum vorherigen Pfad zurückwechseln | ||||
| ``` | ||||
| Oder man erstelle einen bash Skript wie `run.sh`, trage die Befehle da ein und führe | ||||
| ```bash | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user