Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
vortraege:bash:programmier_projekt_pebpp:start [2016-10-13 06:10] Frankevortraege:bash:programmier_projekt_pebpp:start [2018-11-14 20:41] (aktuell) – [Werkzeuge] Franke
Zeile 1: Zeile 1:
 +{{entry>Kurse/BASH Programmierung;-}}
 ====== Proaktive Einführung in BASH, PHP und Programmierung / programmier_projekt_PEBPP ====== ====== Proaktive Einführung in BASH, PHP und Programmierung / programmier_projekt_PEBPP ======
  
Zeile 9: Zeile 10:
 ===== Idee ===== ===== Idee =====
  
-Um einen Einstieg zu geben, dem möglichst alle Leute folgen können, werden hier die Vorgaben beschrieben damit Du in Eigenarbeit, Stück für Stück, ein lauffähiges Programm schreiben kannst. Gedacht ist dabei, im Wechsel selber zu programmieren und das jeweilige Ergebnis dann beim LUG-Treffen vorzustellen und weiter zu optimieren. Lösungen zu erarbeiten und sich so in die Basics der Programmierung vorzutasten. Hier werden die Schritte nach und nach veröffentlicht, und vielleicht auch das ein oder andere Programm vorgestellt, oder es gar in Entwicklung in einem [[http://pad.fkn-systems.de|Pad]] zu zeigen. Das Pad kann auch gut zum gemeinsamen arbeiten und/oder Austausch genutzt werden.+Um einen Einstieg zu geben, dem möglichst alle Leute folgen können, werden hier die Vorgaben beschrieben damit Du in Eigenarbeit, Stück für Stück, ein lauffähiges Programm schreiben kannst. Gedacht ist dabei, im Wechsel selber zu programmieren und das jeweilige Ergebnis dann beim LUG-Treffen vorzustellen und weiter zu optimieren. Lösungen zu erarbeiten und sich so in die Basics der Programmierung vorzutasten. Hier werden die Schritte nach und nach veröffentlicht, und vielleicht auch das ein oder andere Programm vorgestellt, oder es gar in Entwicklung in einem [[http://pad.fkn-systems.de|Pad]] zu zeigen. Das Pad kann auch gut zum gemeinsamen Arbeiten und/oder Austausch genutzt werden.
  
-Eine erste Version wird in BASH gebaut, wenn diese fertig ist werden wir sie nochmals in PHP bauen.+Eine erste Version wird in BASH gebaut, wenn diese fertig ist werden wir sie nochmals in PHP (Konsole only) bauen.
  
 Die Idee dahinter ist, das Du sowohl die grundsätzliche LINUX-System Programmierung, wie auch programmieren im allgemeinen und durch das Umsetzten des fertigen Programmes ebenfalls erste Schritte in Richtung Web-Programmierung kennen lernst. Die Idee dahinter ist, das Du sowohl die grundsätzliche LINUX-System Programmierung, wie auch programmieren im allgemeinen und durch das Umsetzten des fertigen Programmes ebenfalls erste Schritte in Richtung Web-Programmierung kennen lernst.
Zeile 18: Zeile 19:
   * [[http://pad.fkn-systems.de|Pad]] / Zum Austausch oder gemeinsamen Arbeiten.   * [[http://pad.fkn-systems.de|Pad]] / Zum Austausch oder gemeinsamen Arbeiten.
   * {{ :vortraege:bash:programmier_projekt_pebpp:advanced_bash-scripting_guide_2014-03-10_v.10_abs-guide.pdf |ABS.PDF (2.6MB)}} / Kompendium zu BASH, das Nachschlagewerk für alle Fälle   * {{ :vortraege:bash:programmier_projekt_pebpp:advanced_bash-scripting_guide_2014-03-10_v.10_abs-guide.pdf |ABS.PDF (2.6MB)}} / Kompendium zu BASH, das Nachschlagewerk für alle Fälle
 +    * http://searx.fkn-service.de/?q=bash%20anleitung%20deutsch&categories=general&language=de-DE
   * BASH / Die zu benutzende Shell   * BASH / Die zu benutzende Shell
   * PHP (5-7) / der PHP-Interpreter   * PHP (5-7) / der PHP-Interpreter
   * [[http://php.net]] / Die Informationsquelle zu PHP   * [[http://php.net]] / Die Informationsquelle zu PHP
 +  * Dateiverwaltung und Editor: https://www.midnight-commander.org/
 +  * Editoren: mcedit, joe, kwrite, kate
  
 +In eigener Sache: Wer mal [[https://wiki.fkn-systems.de/wiki/doku.php?id=vortraege:programmieren|hier]] reinlesen möchte, meldet sich bitte bei [[:user:franke|mir]] für Zugang.
 ===== Teil 1 / Vorgaben zum Adressbuch ===== ===== Teil 1 / Vorgaben zum Adressbuch =====
  
-Ein Programm in BASH habe ich schon in den neunzigern geschrieben es ist 5382 Zeichen (incl. Kommentaren) groß. Das sollte also zu schaffen sein. ;-)+Ein Adress-Programm in BASH habe ich schon in den Neunzigern geschrieben es ist 5382 Zeichen (incl. Kommentaren) groß. Das sollte also zu schaffen sein. ;-)  --- //[[:user:franke|Franke]] 2016-10-13 06:26//
  
 Das Programm soll folgendes können: Das Programm soll folgendes können:
Zeile 38: Zeile 43:
     * Hilfe     * Hilfe
     * ENDE     * ENDE
-  * Verarbeitet werden Adressdaten, b.B.: Vorname, Nachnahme, Strasse, Telefon, Email, ...+  * Verarbeitet werden Adress- oder Freiformdaten, b.B.: Vorname, Nachnahme, Strasse, Telefon, Email, Keywords, Variablen,...
   * Daten werden nur als Textonly (ASCII) verarbeitet und gespeichert.   * Daten werden nur als Textonly (ASCII) verarbeitet und gespeichert.
-  * Kommentare im Programm sind zu verwenden+  * Kommentare im Programm sind Pflicht
-  * Jede neue Version enthält einen Versionsschlüssel in der Form:+  * Jedes Programm enthält einen Versionsschlüssel in der Form:
     * $VER: PROGRAMMNAME 0.0.1.5 (2016-10-13) (2016-01-01) PROGRAMMIERER $     * $VER: PROGRAMMNAME 0.0.1.5 (2016-10-13) (2016-01-01) PROGRAMMIERER $
     * $_VERDESC: NAME major-release.minor-release.major-bugfix.minor-changes DT-STAMP-CHANGE DT-STAMP-CREATE CREATOR-STRING $     * $_VERDESC: NAME major-release.minor-release.major-bugfix.minor-changes DT-STAMP-CHANGE DT-STAMP-CREATE CREATOR-STRING $
Zeile 47: Zeile 52:
     * PROGRAMMNAME.0.0.1.5.PROGRAMMIERER.DT-STAMP-CHANGE.bash     * PROGRAMMNAME.0.0.1.5.PROGRAMMIERER.DT-STAMP-CHANGE.bash
     * fkn_adr.0.0.1.2.franke.20161012.bash     * fkn_adr.0.0.1.2.franke.20161012.bash
 +  * Speichert auch für euch jede Version, dann könnt Ihr nachvollziehen was Ihr gemacht habt.
 +  * Es ist sinnvoll zum jeweiligen Programm auch eine Demo Datei mit Dummy-Einträgen (also keine existierende Adressen etc.) zu haben, diese sollte dann auch dem Programm zuzuordnen sein, also besser ebenfalls nach dem Namensschema anlegen: fkn_adr.0.0.1.2.franke.20161012.db
 +  * Sendet mir nach jedem Treffen eure jeweilige Version damit ich die hier reinstellen kann, dann kann jeder vom anderen lernen.
  
 +Viel Erfolg!
  
 +===== Programm Versionen =====
 +Ein erstes Rumpfprogramm seht Ihr hier:
  
 +<file bash adressprogramm_in_bash.0.0.0.1.Franke.bash>
 +#!/bin/bash
 +###############################################
 +# $VER: adressprogramm_in_bash 0.0.0.1 (20020712/Franke) (19971001) FKN-Systems/Ng $##
 +# Adress-Demo in Bash-Script #######################
 +###############################################
  
 +# DECLARATIONS / VARIABLES / FUNCTIONS / ... ################################
  
  
 +# START ################################
  
 +clear
 +echo
 +echo "Willkommen zum ..."
 +echo
 +echo "dieses Programm ist ..."
 +echo
 +echo "Es dient dem Erfassen, suchen, loeschen von Datensaetzen aller Art"
 +echo "---------------------------------------------------------------------"
 +
 +# MAIN #################################
 +
 +# ...
 +
 +exit 1
 +</file>
 +
 +===== Etappen =====
 +  - Implementiert ein Auswahlmenu und seht die einzelnen Programmfunktionen vor.
 +    * Dazu ist z.B. eine case-Auswahl geeignet
 +  - Ausbau der einzelnen Programmfunktionen.
 +  - ...
 +
 +===== Schnipsel =====
 +
 +
 +
 +Testschnipsel für Teil: 1
 +
 +<file bash _preb_case.test>
 +#!/bin/bash
 +
 +
 +# Variablen Zuweisung:
 +
 +KEY='value'
 +Variablenname='Ein Text'
 +FOO='BAR'
 +
 +echo $FOO
 +echo ${FOO} # das sollte IMMER so geschrieben werden
 +
 +echo 'BAR ${FOO} FOO' # einfache Ticks entwerten
 +echo "BAR ${FOO} FOO" # doppelte Ticke entwerten NICHT
 +
 +
 +select VAR in AA BB CC
 +do
 +
 + case ${VAR} in
 +
 + AA) ####################
 + echo 'FOO'
 + ;;
 + BB) ####################
 + echo 'BAR'
 + ;;
 + *) ######################
 + echo 'DEFAULT'
 + ;;
 + esac
 +
 +done
 +
 +</file>
  
  • Zuletzt geändert: 2016-10-13 06:10