web_AI-5/presentation/presentation.org

154 lines
3.3 KiB
Org Mode
Raw Normal View History

2018-03-04 12:44:37 +01:00
#+TITLE: Case-Study
#+AUTHOR: Ivan Hörler und Andreas Zweili
#+OPTIONS: toc:1 num:nil
#+REVEAL_TRANS: linear
#+REVEAL_THEME: solarized
#+REVEAL_ROOT: https://cdn.jsdelivr.net/reveal.js/3.0.0/
#+LANGUAGE: de
2018-03-04 18:48:30 +01:00
* Ausgangslage
2018-03-14 15:39:34 +01:00
- Webshop erstellen
- Währungsumrechnung CHF zu ...
2018-03-14 14:51:17 +01:00
- Freie Software in Bezug auf Open-Source Code.
2018-03-04 18:48:30 +01:00
** Vision
Die Vision wurde anhand eines Mindmaps erstmals grob umfasst:
2018-03-04 12:44:37 +01:00
#+ATTR_HTML: :width 70%
2018-03-04 12:44:37 +01:00
[[file:pictures/webshop.png]]
2018-03-07 21:35:49 +01:00
** Vision - Artikel
#+ATTR_HTML: :width 80%
[[file:pictures/Vision-Artikel.png]]
** Vision - Warenkorb
#+ATTR_HTML: :width 80%
[[file:pictures/Vision-Warenkorb.png]]
* Varianten
2018-03-15 20:15:58 +01:00
** ASP.NET (C#) und SQL Server
[[file:pictures/csharp.png]]
2018-03-15 20:15:58 +01:00
** Laravel (PHP) und MySQL
[[file:pictures/laravel.png]]
** Django und MariaDB
[[file:pictures/django.png]]
2018-03-04 18:48:30 +01:00
** Kriterien
- Freie Software
- Cross Plattform nutzbar
- Lesbarkeit des Codes
- Einfachheit des Setups
- Ohne spezielle Tools nutzbar
2018-03-14 15:39:34 +01:00
- Vorkenntnisse und Lernfaktor
2018-03-04 18:48:30 +01:00
** Vergleich
2018-03-14 15:39:34 +01:00
|------------------------+-------------------------------|
| *Variante* | *Erreichte Punktzahl von 235* |
|------------------------+-------------------------------|
| ASP.NET und SQL Server | 141 |
2018-03-15 20:15:58 +01:00
| Laravel und MySQL | 161 |
2018-03-14 15:39:34 +01:00
| Django und MariaDB | 196 |
|------------------------+-------------------------------|
2018-03-04 18:48:30 +01:00
* Kosten
2018-03-15 20:15:58 +01:00
** Tools
- Ausgaben während der Case-Study: 0.00 CHF
- 100% freie Software
- "Let's Encrypt" für SSL
- "freenom.com" für Domain
** Laravel Webshop
| Sprache | Codezeilen |
|---------+------------|
| PHP | 8679 |
|---------+------------|
| *Total* | *8679* |
|---------+------------|
#+TBLFM: @>$2=vsum(@2..@-1);%.0f
** Django Webshop
| Sprache | Codezeilen |
|---------+------------|
| Python | 1460 |
| SQL | 4639 |
|---------+------------|
| *Total* | *6099* |
|---------+------------|
#+TBLFM: @>$2=vsum(@2..@-1);%.0f
2018-03-04 18:48:30 +01:00
* Vorgehen
** Currencies - App
2018-03-14 15:39:34 +01:00
- Wurde in Django als eigenen App entwickelt und sollte daher problemlos in andere Applikationen eingebunden werden können.
2018-03-09 11:12:23 +01:00
- Die Quelle der Währungen ist die Schweizerische Nationalbank mit der URL:
2018-03-14 15:39:34 +01:00
https://www.snb.ch
https://www.snb.ch/selector/de/mmr/exfeed/rss
#+ATTR_HTML: :width 80%
[[file:pictures/currencies-rss-reader.png]]
** Currencies - Quelle
[[file:pictures/currencies-rss-xml.png]]
** Currencies - Parsing
- Das Konvertieren des XML's wurde mit Python eigener Module gemacht.
- für das Herunterladen des XML's wurde das Modul 'urllib' verwendet (1)
- für das Parsen über die einzelnen items/nodes das Modul xml.etree.ElementTree. (2)
2018-03-15 20:15:58 +01:00
(1) https://docs.python.org/2/library/urllib.html
(2) https://docs.python.org/2/library/xml.etree.elementtree.html
** Currencies - Ablauf
#+ATTR_HTML: :width 55%
[[file:pictures/currencies.png]]
2018-03-04 18:48:30 +01:00
** Infrastruktur
2018-03-14 14:51:17 +01:00
#+BEGIN_NOTES
2018-03-04 18:48:30 +01:00
Andreas erzählt wie die infrastruktur aufgebaut ist.
2018-03-14 14:51:17 +01:00
#+END_NOTES
2018-03-14 15:58:02 +01:00
#+ATTR_HTML: :width 90%
[[file:pictures/Server-Architecture.png]]
2018-03-04 18:48:30 +01:00
** Programmierung
2018-03-09 11:12:23 +01:00
2018-03-14 15:58:02 +01:00
#+ATTR_HTML: :width 60%
[[file:pictures/form.png]]
2018-03-09 11:12:23 +01:00
2018-03-14 15:58:02 +01:00
#+BEGIN_SRC python
2018-03-09 11:12:23 +01:00
amount_form = CartForm(
initial={'amount_form': cart_position.amount}
)
2018-03-14 15:58:02 +01:00
#+END_SRC
2018-03-09 11:12:23 +01:00
2018-03-04 18:48:30 +01:00
* Fazit
2018-03-09 11:15:46 +01:00
2018-03-15 08:09:09 +01:00
- Trotz Model View Controll, SQL unerlässlich.
- Vagrant (up, suspend, provision, destroy)
2018-03-16 11:55:49 +01:00
- Git
- Python/Django, JS brauchts trotzdem.
2018-03-15 08:09:09 +01:00
2018-03-16 11:18:37 +01:00
** Besten Dank für die Aufmerksahmkeit.
2018-03-15 08:09:09 +01:00
Ivan & Andreas