web_AI-5/presentation/presentation.html

388 lines
9.5 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8"/>
<title>Case-Study</title>
<meta name="author" content="(Ivan Hörler und Andreas Zweili)"/>
<style type="text/css">
.underline { text-decoration: underline; }
</style>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/reveal.js/3.0.0/css/reveal.css"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/reveal.js/3.0.0/css/theme/solarized.css" id="theme"/>
<!-- If the query includes 'print-pdf', include the PDF print sheet -->
<script>
if( window.location.search.match( /print-pdf/gi ) ) {
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'https://cdn.jsdelivr.net/reveal.js/3.0.0/css/print/pdf.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
}
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section id="sec-title-slide"><h1 class="title">Case-Study</h1><h2 class="author">Ivan Hörler und Andreas Zweili</h2><p class="date">Created: 2018-03-09 Fri 11:05</p>
</section>
<section id="table-of-contents">
<div id="table-of-contents">
<h2>Inhaltsverzeichnis</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#/slide-org836fcf2">Ausgangslage</a></li>
<li><a href="#/slide-org5d9eb1a">Varianten</a></li>
<li><a href="#/slide-org48f9ba1">Kosten</a></li>
<li><a href="#/slide-orga0aec25">Vorgehen</a></li>
<li><a href="#/slide-org6e6c6ba">Fazit</a></li>
</ul>
</div>
</div>
</section>
<section>
<section id="slide-org836fcf2">
<h2 id="org836fcf2">Ausgangslage</h2>
<ul>
<li>Freie Software in bezug auf open sourcecode.</li>
</ul>
<p>
Um einen ersten Anhaltspunkt zu haben, haben wir ein Mindmap gezeichnet in
welchem wir unsere ersten Ideen erfassten.
</p>
</section>
<section id="slide-orgc270b59">
<h3 id="orgc270b59">Vision</h3>
<p>
Die Vision wurde anhand eines Mindmaps erstmals grob umfasst:
</p>
<div class="figure">
<p><img src="pictures/webshop.png" alt="webshop.png" width="70%" />
</p>
</div>
</section>
<section id="slide-orga4ef9e0">
<h3 id="orga4ef9e0">Vision - Artikel</h3>
<div class="figure">
<p><img src="pictures/Vision-Artikel.png" alt="Vision-Artikel.png" width="80%" />
</p>
</div>
</section>
<section id="slide-org7b33cc6">
<h3 id="org7b33cc6">Vision - Warenkorb</h3>
<div class="figure">
<p><img src="pictures/Vision-Warenkorb.png" alt="Vision-Warenkorb.png" width="80%" />
</p>
</div>
</section>
<section id="slide-orgda4fc0b">
<h3 id="orgda4fc0b">Vision - Abgaben</h3>
<div class="figure">
<p><img src="pictures/Vision-Abgaben.png" alt="Vision-Abgaben.png" width="80%" />
</p>
</div>
</section>
</section>
<section>
<section id="slide-org5d9eb1a">
<h2 id="org5d9eb1a">Varianten</h2>
<div class="outline-text-2" id="text-org5d9eb1a">
</div>
</section>
<section id="slide-org61f4b78">
<h3 id="org61f4b78">C# und SQL Server</h3>
<div class="figure">
<p><img src="pictures/csharp.png" alt="csharp.png" />
</p>
</div>
</section>
<section id="slide-orgb5d1542">
<h3 id="orgb5d1542">Laravel und MySQL</h3>
<div class="figure">
<p><img src="pictures/laravel.png" alt="laravel.png" />
</p>
</div>
</section>
<section id="slide-orgf6a7858">
<h3 id="orgf6a7858">Django und MariaDB</h3>
<div class="figure">
<p><img src="pictures/django.png" alt="django.png" />
</p>
</div>
</section>
<section id="slide-org90b1db5">
<h3 id="org90b1db5">Kriterien</h3>
<ul>
<li>Freie Software</li>
<li>Cross Plattform nutzbar</li>
<li>Lesbarkeit des Codes</li>
<li>Einfachheit des Setups</li>
<li>Ohne spezielle Tools nutzbar</li>
<li>Vorkenntnisse Lernfaktor</li>
</ul>
</section>
<section id="slide-org49e105c">
<h3 id="org49e105c">Vergleich</h3>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left"><b>Variante</b></th>
<th scope="col" class="org-right"><b>Erreichte Punktzahl</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">ASP.NET und SQL Server</td>
<td class="org-right">141</td>
</tr>
<tr>
<td class="org-left">PHP und MySQL</td>
<td class="org-right">161</td>
</tr>
<tr>
<td class="org-left">Django und MariaDB</td>
<td class="org-right">196</td>
</tr>
</tbody>
</table>
</section>
<section id="slide-orga63706c">
<h3 id="orga63706c">Auswahl</h3>
</section>
</section>
<section>
<section id="slide-org48f9ba1">
<h2 id="org48f9ba1">Kosten</h2>
<div class="outline-text-2" id="text-org48f9ba1">
</div>
</section>
<section id="slide-orge787793">
<h3 id="orge787793">Laravel Webshop</h3>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Sprache</th>
<th scope="col" class="org-left">Codezeilen</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">PHP</td>
<td class="org-left">8679</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left"><b>Total</b></td>
<td class="org-left"><b>8679</b></td>
</tr>
</tbody>
</table>
</section>
<section id="slide-org2ce530f">
<h3 id="org2ce530f">Django Webshop</h3>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Sprache</th>
<th scope="col" class="org-right">Codezeilen</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Python</td>
<td class="org-right">1460</td>
</tr>
<tr>
<td class="org-left">SQL</td>
<td class="org-right">4639</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left"><b>Total</b></td>
<td class="org-right"><b>6099</b></td>
</tr>
</tbody>
</table>
</section>
</section>
<section>
<section id="slide-orga0aec25">
<h2 id="orga0aec25">Vorgehen</h2>
<div class="outline-text-2" id="text-orga0aec25">
</div>
</section>
<section id="slide-orga1b1ec4">
<h3 id="orga1b1ec4">Currencies - App</h3>
<p>
Wurde in Django als eigenen App entwickelt und sollte daher problemloos in
andere Applikationen eingebunden werden können.
</p>
<p>
Die Quelle der Währungen ist die Schweizerische Nationalbank mit der URL:
</p>
<p>
<a href="https://www.snb.ch">https://www.snb.ch</a> | resp:
<a href="https://www.snb.ch/selector/de/mmr/exfeed/rss">https://www.snb.ch/selector/de/mmr/exfeed/rss</a>
</p>
<div class="figure">
<p><img src="pictures/currencies-rss-reader.png" alt="currencies-rss-reader.png" width="80%" />
</p>
</div>
</section>
<section id="slide-orgc98113f">
<h3 id="orgc98113f">Currencies - Quelle</h3>
<div class="figure">
<p><img src="pictures/currencies-rss-xml.png" alt="currencies-rss-xml.png" width="80%" />
</p>
</div>
</section>
<section id="slide-org5289316">
<h3 id="org5289316">Currencies - Parsing</h3>
<ul>
<li>Das Konvertieren des XML&rsquo;s wurde mit Python eigener Module gemacht.</li>
<li>für das Herunterladen des XML&rsquo;s wurde das Modul &rsquo;urllib&rsquo; verwendet (1)</li>
<li>für das Parsen über die einzelnen items/nodes das Modul xml.etree.ElementTree. (2)</li>
</ul>
<p>
(1) <a href="https://docs.python.org/2/library/urllib.html">https://docs.python.org/2/library/urllib.html</a>
(2) <a href="https://docs.python.org/2/library/xml.etree.elementtree.html">https://docs.python.org/2/library/xml.etree.elementtree.html</a>
</p>
</section>
<section id="slide-org6745982">
<h3 id="org6745982">Currencies - Ablauf</h3>
<div class="figure">
<p><img src="pictures/currencies.png" alt="currencies.png" width="55%" />
</p>
</div>
</section>
<section id="slide-orgbd0997e">
<h3 id="orgbd0997e">Infrastruktur</h3>
<p>
Andreas erzählt wie die infrastruktur aufgebaut ist.
</p>
<div class="figure">
<p><img src="pictures/Server-Architecture.png" alt="Server-Architecture.png" width="60%" />
</p>
</div>
</section>
<section id="slide-org19d0586">
<h3 id="org19d0586">Programmierung</h3>
<p>
vieleicht zwei Schwierigkeiten
</p>
</section>
</section>
<section>
<section id="slide-org6e6c6ba">
<h2 id="org6e6c6ba">Fazit</h2>
</section>
</section>
</div>
</div>
<script src="https://cdn.jsdelivr.net/reveal.js/3.0.0/lib/js/head.min.js"></script>
<script src="https://cdn.jsdelivr.net/reveal.js/3.0.0/js/reveal.js"></script>
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: false,
center: true,
slideNumber: 'c',
rollingLinks: false,
keyboard: true,
overview: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'linear', // default/cube/page/concave/zoom/linear/fade/none
transitionSpeed: 'default',
multiplex: {
secret: '', // null if client
id: '', // id, obtained from socket.io server
url: '' // Location of socket.io server
},
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: 'https://cdn.jsdelivr.net/reveal.js/3.0.0/lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'https://cdn.jsdelivr.net/reveal.js/3.0.0/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'https://cdn.jsdelivr.net/reveal.js/3.0.0/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'https://cdn.jsdelivr.net/reveal.js/3.0.0/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: 'https://cdn.jsdelivr.net/reveal.js/3.0.0/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }]
});
</script>
</body>
</html>