Data Programming Course  Check-in [18be4e295f]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:iniziata la preparazione della terza lezione
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 18be4e295f8a9d1f3c8c65d51be538b55b7f46dc
User & Date: EnricoGiampieri 2017-03-01 18:13:44.149
Context
2017-03-01
19:56
espansa la terza lezione check-in: 1fe5915c7a user: EnricoGiampieri tags: trunk
18:13
iniziata la preparazione della terza lezione check-in: 18be4e295f user: EnricoGiampieri tags: trunk
2017-02-28
08:17
corretta la presentazione della prima lezione check-in: 6dc63e9d50 user: EnricoGiampieri tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to Lezione 1 - controllo di versione.html.
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="file-list">file list<a class="anchor-link" href="#file-list">&#182;</a></h3><p><img src="./immagini/interfaccia_fossil_2.png" alt="file list"></p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Potete creare file di documentazione stile wiki, sempre contenuti nel repository!</p>
<p>potete inoltre usare file del repository per la documentazione, basta usare gli indirizzi relativi all'indirizzo speciale</p>

<pre><code>./doc/tip/&lt;posizione del file nella directory del repository&gt;</code></pre>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[86]:</div>
<div class="inner_cell">







<
<
<
<
<
<
<
<
<
<
<
<
<







12619
12620
12621
12622
12623
12624
12625













12626
12627
12628
12629
12630
12631
12632
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="file-list">file list<a class="anchor-link" href="#file-list">&#182;</a></h3><p><img src="./immagini/interfaccia_fossil_2.png" alt="file list"></p>














</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[86]:</div>
<div class="inner_cell">
Changes to Lezione 1 - controllo di versione.ipynb.
352
353
354
355
356
357
358


359
360
361
362
363
364
365
    "\n",
    "E sono tutte abbastanza semplici perché usarle non sia uno sforzo immane!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {


    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "il concetto dietro questi esempi e questi strumenti è la corretta gestione dei metadata (dati a proposito dei dati).\n",
    "\n",







>
>







352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
    "\n",
    "E sono tutte abbastanza semplici perché usarle non sia uno sforzo immane!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true,
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "il concetto dietro questi esempi e questi strumenti è la corretta gestione dei metadata (dati a proposito dei dati).\n",
    "\n",
458
459
460
461
462
463
464


465
466
467
468
469
470
471
    "\n",
    "Ogni modifica che farete sarà automaticamente registrata sul server in automatico, e passata agli altri quando si collegheranno."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {


    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "source": [
    "cit:\n",
    "\n",







>
>







460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
    "\n",
    "Ogni modifica che farete sarà automaticamente registrata sul server in automatico, e passata agli altri quando si collegheranno."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "source": [
    "cit:\n",
    "\n",
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
    }
   },
   "source": [
    "### file list\n",
    "\n",
    "![file list](./immagini/interfaccia_fossil_2.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true,
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Potete creare file di documentazione stile wiki, sempre contenuti nel repository!\n",
    "\n",
    "potete inoltre usare file del repository per la documentazione, basta usare gli indirizzi relativi all'indirizzo speciale \n",
    "\n",
    "    ./doc/tip/<posizione del file nella directory del repository>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "collapsed": false,
    "deletable": true,







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







907
908
909
910
911
912
913

















914
915
916
917
918
919
920
    }
   },
   "source": [
    "### file list\n",
    "\n",
    "![file list](./immagini/interfaccia_fossil_2.png)"
   ]

















  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "collapsed": false,
    "deletable": true,
Changes to Lezione 1 - controllo di versione.slides.html.
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="file-list">file list<a class="anchor-link" href="#file-list">&#182;</a></h3><p><img src="./immagini/interfaccia_fossil_2.png" alt="file list"></p>

</div>
</div>
</div></section></section><section><section>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Potete creare file di documentazione stile wiki, sempre contenuti nel repository!</p>
<p>potete inoltre usare file del repository per la documentazione, basta usare gli indirizzi relativi all'indirizzo speciale</p>

<pre><code>./doc/tip/&lt;posizione del file nella directory del repository&gt;</code></pre>

</div>
</div>
</div></section></section><section><section>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[86]:</div>
<div class="inner_cell">







<
<
<
<
<
<
<
<
<
<
<
<
<







12658
12659
12660
12661
12662
12663
12664













12665
12666
12667
12668
12669
12670
12671
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="file-list">file list<a class="anchor-link" href="#file-list">&#182;</a></h3><p><img src="./immagini/interfaccia_fossil_2.png" alt="file list"></p>














</div>
</div>
</div></section></section><section><section>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[86]:</div>
<div class="inner_cell">
Added Lezione 3 - Testing.html.

more than 10,000 changes

Added Lezione 3 - Testing.ipynb.




















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Testing\n",
    "\n",
    "come scrivere del codice corretto e tornare a godersi la vita"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "<section data-background=\"#dddddd\">\n",
    "Ogni programma contiene errori.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Lo scopo del test è di trovarli ed evitare di ripeterli in futuro"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Consiglio numero 1:\n",
    "\n",
    "scrivete funzioni pure.\n",
    "\n",
    "Una funzione è chiamata pura se, a parità di input, ritorna lo stesso output"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
Added Lezione 3 - Testing.slides.html.

more than 10,000 changes

Added Note su Fossil.html.

more than 10,000 changes

Added Note su Fossil.ipynb.




























































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Potete creare file di documentazione stile wiki, sempre contenuti nel repository!\n",
    "potete inoltre usare file del repository per la documentazione, basta usare gli indirizzi relativi all'indirizzo speciale\n",
    "\n",
    "    ./doc/tip/<posizione del file nella directory del repository>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Se volessi inserire delle formule in latex nelle pagine, posso includere la libreria [Mathjax](https://www.mathjax.org/)\n",
    "\n",
    "    <script type=\"text/x-mathjax-config\">\n",
    "      MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], \n",
    "                                                 ['\\\\(','\\\\)']\n",
    "                                                ]}});\n",
    "    </script>\n",
    "    <script type=\"text/javascript\" async\n",
    "      src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML\">\n",
    "    </script>\n",
    "\n",
    "\n",
    "    When $a \\\\ne 0$, there are two solutions to \\\\(ax^2 + bx + c = 0\\\\) and they are\n",
    "    $$x = {-b \\\\pm \\\\sqrt{b^2-4ac} \\\\over 2a}.$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Se volessi usare i notebook ipython per fare delle presentazione, devo includere [Reveal.js](http://lab.hakim.se/reveal-js) nel repository (oppure trovare una fonte esterna della libreria), e poi compilare il notebook in maniera statica tramite l'uso di nbconvert.\n",
    "\n",
    "Assumendo di aver messo reveal.js in una cartella con lo stesso nome nel mio repository, posso compilare il notebook con:\n",
    "\n",
    "    jupyter nbconvert --to slides mynotebook.ipynb --reveal-prefix './reveal.js'\n",
    "    \n",
    "ed includere il file html risultante nel repository."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Posso includere dei feed RSS a delle risorse specifiche per mantenermi aggiornato sull'evoluzione di un repository senza doverlo andare a controllare manualmente.\n",
    "\n",
    "Il link per l'aggiornamento su tutto è \n",
    "\n",
    "    <baseulr>/timeline.rss\n",
    "    \n",
    "Se invece si vogliono soltanto aggiornamenti specifici, si può inserire una query.\n",
    "Ad esempio, aggiornamenti solo del repository è:\n",
    "\n",
    "    <baseurl>/timeline.rss?y=ci\n",
    "    \n",
    "si possono anche seguire singole pagine wiki, singoli ticket, branch del repository, etc..\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Posso collegare i ticket ed i checkin simplicemente includendo i loro rispettivi ID (10 caratteri alfanumerici) nel titolo di chi vi fa riferimento, racchiuso fra parentesi quadre.\n",
    "\n",
    "se ho un ticket con ID 0123456789, il commit che lo risolve può inserire questo codice nel messaggio:\n",
    "\n",
    "    commit -m \"risolve il ticket [0123456789]\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "la home page può essere una wiki, oppure una pagina presa dal repository. Questo può essere settato dalla pagina di admin nella sezione \"Config\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Per scaricare l'intero progetto come uno zip, posso collegarmi alla pagina:\n",
    "\n",
    "    <baseurl>/zip/<myfilename>.zip\n",
    "\n",
    "se voglio scaricare una versione specifica posso usare\n",
    "\n",
    "    <baseurl>/zip/<myfilename>.zip?uuid=<versionIwant>\n",
    "    \n",
    "scarica esclusivamente il contenuto del repository non della documentazione o di altro."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
Added Note su Fossil.slides.html.

more than 10,000 changes