Completamento e rifiniture minori

This commit is contained in:
loviuz 2023-08-05 13:10:17 +02:00
parent 258f47ebb2
commit cac8bb3603
8 changed files with 178 additions and 12 deletions

View File

@ -0,0 +1 @@
.revealjs-drawer{width:100%;height:100%;z-index:100;position:absolute;top:0;margin:0;}.revealjs-drawer.disabled{z-index:0;}.revealjs-drawer_canvas{width:100%;height:100%;margin:0;}.revealjs-drawer-menu{position:absolute;left:100px;bottom:20px;height:50px;z-index:2;display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top:6px;background-color:rgba(255,255,255,0.4);border-radius:12px;}.revealjs-drawer-color_container{display:flex;flex-direction:row;}.revealjs-drawer-color_picker{background-color:red;border-radius:50%;height:1.5rem;width:1.5rem;margin-right:1rem;border:2px beige solid;cursor:pointer;}.revealjs-drawer-pen_icon{width:8px;height:24px;margin-left:18px;margin-right:calc(32px - 8px);background:dimgray;transform:rotate(30deg);}.disabled .revealjs-drawer-pen_icon{background:dimgray!important;}.revealjs-drawer-pen_icon::before{content:"";position:absolute;width:8px;height:8px;background:inherit;top:-12px;}.revealjs-drawer-pen_icon::after{content:"";position:absolute;width:6px;height:6px;background:inherit;left:1px;bottom:-3px;transform:rotate(45deg);}

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

File diff suppressed because one or more lines are too long

View File

@ -13,6 +13,7 @@
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="reveal.js/plugin/highlight/monokai.css">
<link rel="stylesheet" href="assets/css/drawer.css" />
<link rel="stylesheet" href="assets/css/custom.css">
</head>
<body>
@ -50,7 +51,7 @@
<li class="fragment">🏊 siamo sempre più <strong>immersi nel digitale</strong> e non si può facilmente tornare indietro</li>
<li class="fragment">🔮 ciò che avviene nei nostri dispositivi deve essere <strong class="si">verificabile</strong> e <strong class="si">trasparente</strong></li>
<li class="fragment">🔐 non abbiamo un serio controllo su cosa avviene ai nostri dati e alla nostra riservatezza (<strong>privacy</strong>)</li>
<li class="fragment">👿 <strong class="no">troppo potere</strong> nelle mani di aziende tecnologiche (Google, Meta, ecc)</li>
<li class="fragment">👿 <strong class="no">troppo potere</strong> nelle mani di aziende tecnologiche (Google, Meta, Microsoft, ecc)</li>
<li class="fragment">🕸️ il potere non va <strong class="no">centralizzato</strong> ma <strong class="si">distribuito</strong></li>
<li class="fragment">🪁 l'arte, la conoscenza, l'informazione, il software, dovrebbero essere libere</li>
</ul>
@ -82,17 +83,17 @@
<section data-auto-animate>
<h3>📣 Divulgazione</h3>
<p class="fragment">🤷 E' il metodo più semplice: condividere un software o una app ad amici e aiutarli a usarle è un ottimo punto di partenza.</p>
<p class="fragment">🤷 E' il metodo più semplice: condividere un software o un'app ad amici e amiche, e aiutare a usarle, è un ottimo punto di partenza.</p>
</section>
<section data-auto-animate>
<h3>⚠️ Test e segnalazione problemi o errori</h3>
<p class="fragment">
🔎 Trova gli errori di funzionamento di un software, oppure un problema di scrittura o un problema di sicurezza.
🔎 Trova errori di funzionamento di un software o app, oppure un problema di scrittura o un problema di sicurezza.
</p>
<p class="fragment">
Cercando su un motore di ricerca puoi trovare facilmente il sito web di riferimento del software, dove solitamente ci sono dei facili strumenti di segnalazione problemi.
Cercando su un motore di ricerca puoi trovare facilmente il sito web di riferimento del software o dell'app, dove solitamente ci sono dei facili strumenti di segnalazione problemi.
</p>
</section>
@ -114,7 +115,7 @@
<section data-auto-animate>
<h3>Github</h3>
<img src="assets/images/issues-github.jpg" style="h">
<img src="assets/images/issues-github.jpg">
</section>
<section data-auto-animate>
<h3>Gitlab</h3>
@ -133,10 +134,10 @@
<h3>🗣️ Traduzioni</h3>
<p class="fragment">
Se gli sviluppatori di un software hanno predisposto un sistema di traduzioni, è possibile contribuire a tradurlo nella propria lingua o in un'altra.
Se chi ha sviluppato un software ha predisposto un sistema di traduzioni, è possibile contribuire a tradurlo nella propria lingua o in un'altra.
</p>
<p class="fragment">
Nel sito web di riferimento di ciascun software libero trovi facilmente strumenti di traduzione.
Nel sito web di riferimento di ciascun software libero puoi trovare come contribuire nella traduzione.
</p>
</section>
@ -181,7 +182,7 @@
<section data-auto-animate>
<h3>🗣️ Traduzione avanzata</h3>
<p class="fragment">
<p>
La modalità più semplice e diretta è aggiornare i file delle traduzioni direttamente :-)
</p>
@ -204,7 +205,7 @@
<section data-auto-animate>
<h3>🗣️ Traduzione avanzata</h3>
<p class="fragment">
<p>
Ma come fare ad aggiornare i file di un altro progetto??
</p>
@ -218,15 +219,169 @@
<h3>👨‍💻 Programmazione</h3>
<p class="fragment">
Ultimo passo??
E ora...
</p>
<p class="fragment">
Impariamo a programmare e a contribuire direttamente nel cuore del <strong>sistema</strong>!
...impariamo a contribuire attivamente entrando nel cuore del <strong>sistema</strong>!<br>
<img src="assets/images/hacker.gif">
</p>
</section>
<section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Lo strumento più usato per pubblicare codice e collaborare è
</p>
<p class="fragment">
<strong>GIT</strong>
</p>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Prima di GIT si usavano <strong>SVN</strong> o <strong>CVS</strong>, i quali non erano prestanti e non gestivano determinati flussi come i software di versionamento proprietari di quegli anni. Ogni progetto viene archiviato in un cosiddetto <strong>repository</strong>.
</p>
<p class="fragment">
<strong>Sourceforge.net</strong> era famoso negli anni 2000 per offrire spazi gratuiti per i progetti open source e si poteva caricare il codice tramite CVS o SVN.
</p>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Principali peculiarità di GIT:
</p>
<p>
sviluppo non lineare: supporta la diramazione (<strong>branch</strong>) e la fusione (<strong>merge</strong>), e strumenti per navigarci all'interno. Significa che si possono creare più rami (branch) di un progetto per sviluppare nuove funzionalità e, al termine, si esegue una fusione (merge) con il codice di un altro ramo, ad esempio il principale.
</p>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Principali peculiarità di GIT:
</p>
<p>
sviluppo distribuito: invece di un brach, un programmatore che non fa parte del progetto può eseguire una biforcazione (<strong>fork</strong>). Viene creata una <strong>copia locale</strong> dell'intero archivio. Al termine delle modifiche si esegue una richiesta di caricare il codice (<strong>pull request</strong>) nell'archivio principale. Chi amministra il progetto può approvare o meno la richiesta di caricamento, e può commentarla o modificarla prima di importarla.
</p>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Principali peculiarità di GIT:
</p>
<p>
sviluppo distribuito: invece di un brach, un programmatore che non fa parte del progetto può eseguire una biforcazione (<strong>fork</strong>). Viene creata una <strong>copia locale</strong> dell'intero archivio. Al termine delle modifiche si esegue una richiesta di caricare il codice (<strong>pull request</strong>) nell'archivio principale. Chi amministra il progetto può approvare o meno la richiesta di caricamento, e può commentarla o modificarla prima di importarla.
</p>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Principali peculiarità di GIT:
</p>
<p>
gestione dei conflitti: può capitare che si sviluppino nuove funzionalità del software in un ramo (branch) piuttosto che in una copia locale (fork). Quando si andranno a caricare queste modifiche non è detto che il ramo principale non abbia subito modifiche da quando lo si è scaricato, magari negli stessi punti modificati, generando quindi dei <strong>conflitti</strong>. Git, insieme agli strumenti di sviluppo, tenta di fare una <strong>fusione (merge) automatica</strong> e, dove non riesce, propone una <strong>fusione manuale</strong>.
</p>
</section>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<h4>
Quali sono le principali operazioni di GIT?
</h4>
<ul>
<li class="fragment">
<strong>CLONE</strong> <em>(clona)</em>: crea una copia locale dell'archivio di un progetto
</li>
<li class="fragment">
<strong>ADD</strong> <em>(aggiungi)</em>: aggiunge i file modificati
</li>
<li class="fragment">
<strong>COMMIT</strong> <em>("commetti"/esegui)</em>: scrive le modifiche applicate in un albero interno
</li>
<li class="fragment">
<strong>PUSH</strong> <em>(spingi)</em>: invia le modifiche nell'archivio remoto
</li>
<li class="fragment">
<strong>PULL</strong> <em>(tira)</em>: scarica le modifiche remote nella copia locale
</li>
</ul>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<h4>Come funziona git?</h4>
<img src="assets/images/flusso-git.webp" class="r-stretch">
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<h4>Quali ambienti di sviluppo usare?</h4>
<p>Dipende dal linguaggio:</p>
<ul>
<li class="fragment"><strong>PyCharm:</strong> dedicato a sviluppatori Python</li>
<li class="fragment"><strong>Eclipse:</strong> nato per sviluppatori Java ma supporta anche C/C++, PHP e altri</li>
<li class="fragment"><strong>Atom:</strong> generico, per novizi</li>
<li class="fragment"><strong>Codium:</strong> è la versione libera di <strong>VisualStudio Code</strong> di <em>Microsoft</em> ma senza traccianti, più flessibile e con molte estensioni installabili</li>
</ul>
</section>
<section data-auto-animate>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<p>
Si può anche contribuire direttamente via web dalla piattaforma che ospita il progetto:
</p>
<p class="fragment">
<img src="assets/images/modifica-via-web.jpg" class="r-stretch">
</p>
</section>
<section data-auto-animate>
<img src="assets/images/modifica-via-web-1.jpg" class="r-stretch">
</section>
<section data-auto-animate>
<img src="assets/images/modifica-via-web-2.jpg" class="r-stretch">
</section>
</section>
<section data-auto-animate>
<h3>👨‍💻 Programmazione</h3>
<h4>Da dove iniziare?</h4>
<p>Navighiamo qualche progetto e poi creiamo un nuovo progetto su <strong>codeberg.org</strong> e facciamo qualche esperimento insieme!</p>
<img src="assets/images/iniziamo.gif">
</section>
</div>
</div>
@ -234,6 +389,7 @@
<script src="reveal.js/plugin/notes/notes.js"></script>
<script src="reveal.js/plugin/markdown/markdown.js"></script>
<script src="reveal.js/plugin/highlight/highlight.js"></script>
<script src="assets/js/drawer.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
@ -243,7 +399,15 @@
slideNumber: 'c/t',
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes, RevealDrawer ],
drawer: {
toggleDrawKey: "d",
toggleBoardKey: "t",
colors: ["#fa1e0e", "#8ac926", "#1982c4", "#ffca3a"],
color: "#FF0000",
pathSize: 4,
}
});
</script>
</body>