From 50386e1bb85d141639c1c3409e8531e2b25d612e Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 3 Feb 2022 19:47:06 +0100 Subject: [PATCH] Add improve change things --- components/compat-next.tsx | 13 ++ components/{compat1.tsx => compat-old.tsx} | 7 +- components/warnings.tsx | 21 ++- package.json | 3 +- pages/{year2/oggetti.tsx => 404.tsx} | 12 +- pages/500.tsx | 27 +++ pages/_app.tsx | 4 +- pages/_base.tsx | 2 +- pages/index.tsx | 22 +-- pages/year1/algebra.tsx | 136 -------------- pages/year1/algebra/index.tsx | 141 ++++++++++++++ pages/year1/algoritmi.tsx | 167 ----------------- pages/year1/algoritmi/index.tsx | 175 ++++++++++++++++++ pages/year1/analisi.tsx | 101 ---------- pages/year1/analisi/index.tsx | 107 +++++++++++ pages/year1/architettura.tsx | 103 ----------- pages/year1/architettura/architettura.tsx | 117 ++++++++++++ pages/year1/programmazione1/index.tsx | 61 ++++++ .../mingw.tsx} | 71 +++---- .../index.tsx} | 10 +- pages/year2/apprendimento/index.tsx | 46 +++++ .../teoria.tsx} | 31 +--- pages/year2/calcolo.tsx | 2 +- pages/year2/database.tsx | 2 +- pages/year2/fisica/index.tsx | 43 +++++ pages/year2/{fisica.tsx => fisica/teoria.tsx} | 34 ++-- pages/year2/oggetti/index.tsx | 47 +++++ pages/year2/ottimizzazione.tsx | 2 +- pages/year2/statistica.tsx | 3 +- yarn.lock | 12 ++ 30 files changed, 880 insertions(+), 642 deletions(-) create mode 100644 components/compat-next.tsx rename components/{compat1.tsx => compat-old.tsx} (93%) rename pages/{year2/oggetti.tsx => 404.tsx} (53%) create mode 100644 pages/500.tsx delete mode 100644 pages/year1/algebra.tsx create mode 100644 pages/year1/algebra/index.tsx delete mode 100644 pages/year1/algoritmi.tsx create mode 100644 pages/year1/algoritmi/index.tsx delete mode 100644 pages/year1/analisi.tsx create mode 100644 pages/year1/analisi/index.tsx delete mode 100644 pages/year1/architettura.tsx create mode 100644 pages/year1/architettura/architettura.tsx create mode 100644 pages/year1/programmazione1/index.tsx rename pages/year1/{programmazione1.tsx => programmazione1/mingw.tsx} (60%) rename pages/year1/{programmazione2.tsx => programmazione2/index.tsx} (52%) create mode 100644 pages/year2/apprendimento/index.tsx rename pages/year2/{apprendimento.tsx => apprendimento/teoria.tsx} (96%) create mode 100644 pages/year2/fisica/index.tsx rename pages/year2/{fisica.tsx => fisica/teoria.tsx} (98%) create mode 100644 pages/year2/oggetti/index.tsx diff --git a/components/compat-next.tsx b/components/compat-next.tsx new file mode 100644 index 0000000..d60c6db --- /dev/null +++ b/components/compat-next.tsx @@ -0,0 +1,13 @@ +import NextLink from "next/link" +import { Anchor as BluelibLink } from "@steffo/bluelib-react" + +// passHref by default +export const Link = ({children, href, nextProps = {}, bluelibProps = {}}) => { + return ( + + + {children} + + + ) +} diff --git a/components/compat1.tsx b/components/compat-old.tsx similarity index 93% rename from components/compat1.tsx rename to components/compat-old.tsx index 645e697..060455a 100644 --- a/components/compat1.tsx +++ b/components/compat-old.tsx @@ -1,5 +1,6 @@ import * as Bluelib from "@steffo/bluelib-react" import TeX from "@matejmazur/react-katex" +import stripIndent from "strip-indent" export const Split = ({title = undefined, children}) => { @@ -105,10 +106,12 @@ export const TablePanel = ({children, ...props}) => { ) } -export const Code = (props) => { +export const Code = ({children, ...props}) => { return (
-            
+            
+                {stripIndent(children)}
+            
         
) } diff --git a/components/warnings.tsx b/components/warnings.tsx index 5e7a302..802d54b 100644 --- a/components/warnings.tsx +++ b/components/warnings.tsx @@ -1,34 +1,39 @@ import { Panel, BringAttention as B, Anchor as A } from "@steffo/bluelib-react" -export const WarningUnchecked = () => { +export const Unchecked = () => { return ( ⚠️ Attenzione: questi materiali non sono stati ricontrollati da quando sono stati scritti, e potrebbero contenere errori!
- Usali a tuo rischio e pericolo!
) } -export const WarningIncomplete = () => { +export const Incomplete = () => { return ( ⚠️ Attenzione: questi materiali non coprono tutto il programma, e non sono quindi sufficienti per dare l'esame!
- Usali per ripassare quello che hai studiato.
) } -export const WarningBlocked = () => { +export const Reordered = () => { + return ( + + ⚠️ Attenzione: questi materiali sono stati raccolti e ordinati successivamente alla scrittura, e potrebbero essere in ordine sbagliato!
+
+ ) +} + +export const Blocked = () => { return ( - 🚫 Blocco: questi materiali sono stati resi bloccati per via di fattori esterni a questo sito, e non possono essere ri-aggiunti.
- Lamentati con chi li ha bloccati, non con me, io non posso farci niente... + 🚫 Blocco: alcuni materiali esterni al sito non sono più disponibili.
) } -export const WarningPorted = () => { +export const Ported = () => { return ( 🗒️ Nota: questi materiali sono stati importati da una versione vecchia di Bluelib, e potrebbero non essere visualizzati correttamente.
diff --git a/package.json b/package.json index 9ab7e6d..4ca5a92 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "katex": "^0.15.2", "next": "12.0.10", "react": "17.0.2", - "react-dom": "17.0.2" + "react-dom": "17.0.2", + "strip-indent": "^4.0.0" }, "devDependencies": { "@types/node": "17.0.14", diff --git a/pages/year2/oggetti.tsx b/pages/404.tsx similarity index 53% rename from pages/year2/oggetti.tsx rename to pages/404.tsx index 01e9d64..b079457 100644 --- a/pages/year2/oggetti.tsx +++ b/pages/404.tsx @@ -1,21 +1,23 @@ import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react' import type { NextPage } from 'next' +import { Link } from "../components/compat-next" + const Page: NextPage = () => { return <> - Programmazione ad oggetti + Errore 404 - + - Introduzione + Not found

- Programmazione ad oggetti è stato un corso molto pratico, con laboratori e tanta scrittura di codice. + La pagina che hai richiesto non è stata trovata.

- Non ho alcun appunto di teoria; ho però reso disponibile su GitHub l'intero codice sorgente documentato del mio progetto di esame. + Forse l'URL che hai inserito è sbagliato, o la pagina che cerchi è stata spostata a un altro URL...

diff --git a/pages/500.tsx b/pages/500.tsx new file mode 100644 index 0000000..a00e309 --- /dev/null +++ b/pages/500.tsx @@ -0,0 +1,27 @@ +import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Link } from "../components/compat-next" + + +const Page: NextPage = () => { + return <> + + Errore 500 + + + + + Internal server error + +

+ Il server non è riuscito a preparare la pagina che hai richiesto. +

+

+ Molto probabilmente si tratta di un bug: informa Steffo di come si è verificato, in modo che possa risolverlo! +

+
+
+ +} + +export default Page diff --git a/pages/_app.tsx b/pages/_app.tsx index 1bbaedc..79b6317 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,6 +1,6 @@ import "../styles/global.css" import type { AppProps } from 'next/app' -import Link from "next/link" +import { Link } from "../components/compat-next" import {Bluelib, Heading, LayoutThreeCol, Anchor as A, Footer} from "@steffo/bluelib-react" function MyApp({ Component, pageProps }: AppProps) { @@ -10,7 +10,7 @@ function MyApp({ Component, pageProps }: AppProps) { - Unisteffo + Unisteffo diff --git a/pages/_base.tsx b/pages/_base.tsx index 1d56258..349eec7 100644 --- a/pages/_base.tsx +++ b/pages/_base.tsx @@ -1,4 +1,4 @@ -import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react' +import { Heading, Chapter, Box, Idiomatic as I, Anchor as A } from '@steffo/bluelib-react' import type { NextPage } from 'next' const Page: NextPage = () => { diff --git a/pages/index.tsx b/pages/index.tsx index 96b15a7..ecdf78a 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,6 +1,6 @@ import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react' import type { NextPage } from 'next' -import Link from 'next/link' +import { Link } from "../components/compat-next" const Home: NextPage = () => { @@ -29,34 +29,34 @@ const Home: NextPage = () => { - Analisi matematica + Analisi matematica - Algebra lineare + Algebra lineare - Programmazione 1 + Programmazione 1 - Architettura dei calcolatori + Architettura dei calcolatori - Algoritmi e strutture dati + Algoritmi e strutture dati - Programmazione 2 + Programmazione 2 @@ -68,22 +68,22 @@ const Home: NextPage = () => { - Fisica + Fisica - Programmazione a oggetti + Programmazione a oggetti - Statistica ed elementi di probabilità + Statistica ed elementi di probabilità - Apprendimento ed evoluzione in sistemi artificiali + Apprendimento ed evoluzione in sistemi artificiali diff --git a/pages/year1/algebra.tsx b/pages/year1/algebra.tsx deleted file mode 100644 index 1af3022..0000000 --- a/pages/year1/algebra.tsx +++ /dev/null @@ -1,136 +0,0 @@ -import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Dialog, BringAttention as B, ListOrdered, ListUnordered} from '@steffo/bluelib-react' -import type { NextPage } from 'next' -import { WarningBlocked, WarningUnchecked } from '../../components/warnings' - -const Page: NextPage = () => { - return <> - - Analisi matematica - - - - - Introduzione - -

- Ammetto di non aver seguito particolarmente il corso di Algebra Lineare. -

-

- Facevo molta fatica a seguire le lezioni del prof., quindi spesso facevo finta di seguire e mi mettevo a giocare a Hearthstone... -

-

- Tuttavia, a casa ho sfruttato delle ottime videolezioni caricate dall'Unimore su YouTube per imparare quello che non avevo fatto in aula, con ottimi risultati: sono riuscito a passare l'esame al primo tentativo! -

-
-
- - - - Videolezioni usate - - - - - Definizione di Spazio Vettoriale (1:17:29) - - - Sottospazi vettoriali I (37:15) - - - Sottospazi vettoriali II (43:26) - - - Sottospazi vettoriali III (40:29) - - - Lineare dipendenza e indipendenza (56:12) - - - Basi di uno spazio vettoriale I (25:52) - - - Basi di uno spazio vettoriale II (48:24) - - - Teorema di Grassmann (32:36) - - - Basi e Matrici (27:06) - - - Definizione di Applicazioni Lineari (16:23) - - - Proprietà delle Applicazioni Lineari (31:58) - - - Definizione di determinante (36:43) - - - Proprietà e metodo di triangolazione (22:36) - - - Teorema di Laplace (29:03) - - - 4 applicazioni del Teorema di Laplace (47:53) - - - Spazi vettoriali euclidei reali - Parte 1 (28:46) - - - Spazi vettoriali euclidei reali - Parte 2 (27:17) - - - Autovalori e autovettori (33:00) - - - Polinomio caratteristico (31:31) - - - Teorema diagonalizzabilità (18:49) - - - Spazi affini (20:46) - - - Sottospazi affini (21:32) - - - Parallelismo e Riferimenti Affini (16:57) - - - Rappresentazione di Sottospazi Affini (31:17) - - - Spazi Euclidei (35:57) - - - Teoria dei ranghi (9:44) - - - Teoria dei ranghi 2 (14:44) - - - - - - - - Cheatsheet - - -

- Visto che all'esame era possibile utilizzare i propri appunti, ho realizzato un piccolo cheatsheet stampabile con tutti gli esercizi più comuni. -

- - - Cheatsheet (.tex, .pdf) - - -
-
- -} - -export default Page diff --git a/pages/year1/algebra/index.tsx b/pages/year1/algebra/index.tsx new file mode 100644 index 0000000..bae2119 --- /dev/null +++ b/pages/year1/algebra/index.tsx @@ -0,0 +1,141 @@ +import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, ListOrdered, ListUnordered, Panel} from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Link } from '../../../components/compat-next' +import * as Warnings from "../../../components/warnings" + +const Page: NextPage = () => { + return <> + + Analisi matematica + + + + + Premessa + +

+ Ammetto di non aver seguito particolarmente le lezioni del corso di Algebra Lineare. +

+

+ Facevo molta fatica a stare attento, in quanto il prof. era parecchio ripetitivo, quindi spesso facevo finta di seguire e mi mettevo a giocare con il mio smartphone... +

+
+
+ + + + Materiale raccolto + +

+ Per recuperare tutto quello che mi ero perso in aula ho sfruttato alcune videolezioni pubblicate su YouTube da Unimore, con ottimi risultati: sono riuscito a passare l'esame al primo tentativo! +

+

+ Inoltre, visto che all'esame era possibile utilizzare i propri appunti, ho realizzato un piccolo cheatsheet stampabile con tutti gli esercizi più comuni. +

+ + + + Videolezioni dell'Unimore + + + + + Definizione di Spazio Vettoriale (1:17:29) + + + Sottospazi vettoriali I (37:15) + + + Sottospazi vettoriali II (43:26) + + + Sottospazi vettoriali III (40:29) + + + Lineare dipendenza e indipendenza (56:12) + + + Basi di uno spazio vettoriale I (25:52) + + + Basi di uno spazio vettoriale II (48:24) + + + Teorema di Grassmann (32:36) + + + Basi e Matrici (27:06) + + + Definizione di Applicazioni Lineari (16:23) + + + Proprietà delle Applicazioni Lineari (31:58) + + + Definizione di determinante (36:43) + + + Proprietà e metodo di triangolazione (22:36) + + + Teorema di Laplace (29:03) + + + 4 applicazioni del Teorema di Laplace (47:53) + + + Spazi vettoriali euclidei reali - Parte 1 (28:46) + + + Spazi vettoriali euclidei reali - Parte 2 (27:17) + + + Autovalori e autovettori (33:00) + + + Polinomio caratteristico (31:31) + + + Teorema diagonalizzabilità (18:49) + + + Spazi affini (20:46) + + + Sottospazi affini (21:32) + + + Parallelismo e Riferimenti Affini (16:57) + + + Rappresentazione di Sottospazi Affini (31:17) + + + Spazi Euclidei (35:57) + + + Teoria dei ranghi (9:44) + + + Teoria dei ranghi 2 (14:44) + + + + + + Appunti per l'esame + + + + Cheatsheet (.tex, .pdf) + + + + +
+
+ +} + +export default Page diff --git a/pages/year1/algoritmi.tsx b/pages/year1/algoritmi.tsx deleted file mode 100644 index 9c3c0ed..0000000 --- a/pages/year1/algoritmi.tsx +++ /dev/null @@ -1,167 +0,0 @@ -import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Dialog, BringAttention as B, ListOrdered, ListUnordered } from "@steffo/bluelib-react" -import type { NextPage } from "next" -import { WarningUnchecked } from "../../components/warnings" - - -const MaterialLi = ({children, file}) => { - return - {children} (.md) - -} - - -const Page: NextPage = () => { - return <> - - Algoritmi e strutture dati - - - - - Introduzione - -

- Il corso di Algoritmi e strutture dati è stato piuttosto impegnativo ma al tempo stesso interessante: quasi tutto il materiale era composto da concetti a me nuovi, e di conseguenza ho preso appunti dettagliati su tutto. -

-
-
- - - - Materiale realizzato - - - - - Il nome del corso - - - Efficienza degli algoritmi - - - Modelli algoritmici - - - Notazione asintotica - - - Problemi algoritmici - - - Ricerca binaria - - - Divide et impera - - - Master theorem - - - Master theorem subset - - - Ordinamento - - - Insertion sort - - - Merge sort - - - Quick sort - - - Counting sort - - - Introduzione alle strutture dati - - - Array - - - Lista - - - Coda - - - Pila - - - Albero radicato - - - Breadth-first search - - - Depth-first search - - - Albero binario di ricerca - - - Heap binario - - - Coda con priorità - - - Heap sort - - - Grafo - - - Visitare un grafo - - - Algoritmi greedy - - - Percorso più breve - - - Algoritmo di Dijkstra - - - Algoritmo di Bellman-Ford - - - Disjoint set - - - Trovare il minimum spanning tree - - - Algoritmo di Kruskal - - - Algoritmo di Prim - - - Compressione - - - Algoritmo di Huffman - - - Dizionari - - - Programmazione dinamica - - - Problema dello zaino - - - Problemi intrattabili - - - - - -} - -export default Page diff --git a/pages/year1/algoritmi/index.tsx b/pages/year1/algoritmi/index.tsx new file mode 100644 index 0000000..62af921 --- /dev/null +++ b/pages/year1/algoritmi/index.tsx @@ -0,0 +1,175 @@ +import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Panel, BringAttention as B, ListOrdered, ListUnordered } from "@steffo/bluelib-react" +import type { NextPage } from "next" + + +const MaterialLi = ({children, file}) => { + return + {children} (.md) + +} + + +const Page: NextPage = () => { + return <> + + Algoritmi e strutture dati + + + + + Premessa + +

+ Il corso di Algoritmi e strutture dati è stato piuttosto impegnativo ma al tempo stesso interessante: quasi tutti i concetti mi erano nuovi, e di conseguenza ho imparato un sacco! +

+
+
+ + + + Materiale raccolto + +

+ Tutto il materiale che ho realizzato per il corso è in formato Markdown esteso con espressioni matematiche TeX. +

+ + + + Appunti di teoria + + + + Il nome del corso + + + Efficienza degli algoritmi + + + Modelli algoritmici + + + Notazione asintotica + + + Problemi algoritmici + + + Ricerca binaria + + + Divide et impera + + + Master theorem + + + Master theorem subset + + + Ordinamento + + + Insertion sort + + + Merge sort + + + Quick sort + + + Counting sort + + + Introduzione alle strutture dati + + + Array + + + Lista + + + Coda + + + Pila + + + Albero radicato + + + Breadth-first search + + + Depth-first search + + + Albero binario di ricerca + + + Heap binario + + + Coda con priorità + + + Heap sort + + + Grafo + + + Visitare un grafo + + + Algoritmi greedy + + + Percorso più breve + + + Algoritmo di Dijkstra + + + Algoritmo di Bellman-Ford + + + Disjoint set + + + Trovare il minimum spanning tree + + + Algoritmo di Kruskal + + + Algoritmo di Prim + + + Compressione + + + Algoritmo di Huffman + + + Dizionari + + + Programmazione dinamica + + + Problema dello zaino + + + Problemi intrattabili + + + + +
+
+ +} + +export default Page diff --git a/pages/year1/analisi.tsx b/pages/year1/analisi.tsx deleted file mode 100644 index 744551c..0000000 --- a/pages/year1/analisi.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Dialog, BringAttention as B, ListOrdered, ListUnordered} from '@steffo/bluelib-react' -import type { NextPage } from 'next' -import { WarningIncomplete, WarningUnchecked } from "../../components/warnings" - -const MaterialLi = ({children, file}) => { - return - {children} (.tex, .pdf) - -} - -const Page: NextPage = () => { - return <> - - Analisi matematica - - - - - Introduzione - -

- Ho adorato il corso di Analisi matematica.
- La prof. Eleuteri è stata un'introduzione fantastica al mondo dell'università: chiara, disponibile e giusta.
- Avrei voluto che tutti i corsi fossero stati così... -

-

- Durante il corso, mi sono interessato al LaTeX, e per impararlo mi sono messo ad utilizzarlo per prendere appunti in aula. -

-

- Di conseguenza, tutte le dispense che ho realizzato sono in formato .tex, o in versione compilata in formato .pdf. -

-
-
- - - - Materiale realizzato - - - -

- Ho cercato di riordinare gli appunti in base a come ricordo fosse ordinato il programma. Spero di non essermi sbagliato! -

- - - Sottosuccessioni - - - Successioni per ricorrenza - - - Intorni e asintoti - - - Limiti - - - Derivate - - - Punti di estremo - - - Studio di funzione - - - Serie - - - Numeri complessi - - - Equazioni di numeri complessi - - - Integrali e primitive - - - Integrazione - - -

- Questi sono materiali extra utili per preparare l'orale. -

- - - Teorema di Weierstrass - - - I 10 teoremi principali - - - Successioni (.md) - - -
-
- -} - -export default Page diff --git a/pages/year1/analisi/index.tsx b/pages/year1/analisi/index.tsx new file mode 100644 index 0000000..200b2c0 --- /dev/null +++ b/pages/year1/analisi/index.tsx @@ -0,0 +1,107 @@ +import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, ListOrdered, ListUnordered, Panel} from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Link } from '../../../components/compat-old' + +const MaterialLi = ({children, file}) => { + return + {children} (.tex, .pdf) + +} + +const Page: NextPage = () => { + return <> + + Analisi matematica + + + + + Premessa + +

+ Ho adorato il corso di Analisi matematica. +

+

+ La prof. Eleuteri è stata un''inizio fantastico alla mia carriera universitaria!
+ Tutti i corsi dovrebbero avere docenti altrettanto disponibili... +

+
+
+ + + + Materiale raccolto + +

+ Durante il corso, mi sono interessato al LaTeX, e per impararlo l'ho utilizzato per prendere appunti in aula. +

+

+ Di conseguenza, tutte le dispense che ho realizzato per questo corso sono in formato .tex e .pdf. +

+ + + + Appunti di teoria + + + + Sottosuccessioni + + + Successioni per ricorrenza + + + Intorni e asintoti + + + Limiti + + + Derivate + + + Punti di estremo + + + Studio di funzione + + + Serie + + + Numeri complessi + + + Equazioni di numeri complessi + + + Integrali e primitive + + + Integrazione + + + + + + Appunti extra per l'orale + + + + Teorema di Weierstrass + + + I 10 teoremi principali + + + Successioni (.md) + + + + +
+
+ +} + +export default Page diff --git a/pages/year1/architettura.tsx b/pages/year1/architettura.tsx deleted file mode 100644 index 1cc9b46..0000000 --- a/pages/year1/architettura.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, UAnnotation as U, ListUnordered, BringAttention as B, ListOrdered, Definition, Code } from '@steffo/bluelib-react' -import type { NextPage } from 'next' -import Head from 'next/head' -import { WarningIncomplete, WarningUnchecked } from '../../components/warnings' - - -const MaterialLi = ({children, file}) => { - return - {children} (.md) - -} - - -const Page: NextPage = () => { - return <> - - Architettura dei calcolatori - - - - - Introduzione - -

- Quando ho dato Architettura dei Calcolatori, a malapena si sentiva parlare di RISC-V, e non aveva tutta la popolarità che ha ora. -

-

- Penso si trovino risorse molto più utili per studiare il RISC-V adesso rispetto al passato! -

-
-
- - - - Materiale realizzato - - - -

- Ho glissato molto sulla parte teorica, in quanto le dispense forniteci dal prof. erano ottime. -

- - - Principi dell'architettura dei calcolatori - - - Dentro il processore - - - Assembly - - -

- Quando ho studiato per questo esame non si trovava quasi nulla di RISC-V su Internet o libri di testo. -

-

- Questo è quello che ero riuscito a capire dopo vari tentativi e approfondite ricerche. -

- - - Hello World in RISC-V - - - Primo programma RISC-V - - - Stack in RISC-V - - - Prodotto scalare in RISC-V - - -

- Infine, un altro po' di appunti e teoria relativi all'ultima parte del corso. -

- - - Appunti e deduzioni - - - Memorie - - - Meltdown - - -
- - - Estensione per Visual Studio Code - -

- Durante il corso ho anche realizzato un'estensione per Visual Studio Code che fa syntax highlighting dell'Assembly RISC-V. -

-

- È possibile scaricarla sul Visual Studio Marketplace, e il suo codice sorgente è disponibile su GitHub. -

-
-
- -} - -export default Page diff --git a/pages/year1/architettura/architettura.tsx b/pages/year1/architettura/architettura.tsx new file mode 100644 index 0000000..e26b51d --- /dev/null +++ b/pages/year1/architettura/architettura.tsx @@ -0,0 +1,117 @@ +import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, BringAttention as B, ListOrdered, Panel, Code, ListUnordered } from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Link } from '../../../components/compat-old' + + +const MaterialLi = ({children, file}) => { + return + {children} (.md) + +} + + +const Page: NextPage = () => { + return <> + + Architettura dei calcolatori + + + + + Premessa + +

+ Quando ho dato Architettura dei Calcolatori, a malapena si sentiva parlare di RISC-V, e non aveva tutta la popolarità che ha ora. +

+

+ Penso che adesso si trovino su Internet molte più risorse per studiare RISC-V rispetto al passato! +

+
+
+ + + + Materiale raccolto + +

+ Ho preso appunti solo sulle parti del corso che non avevamo già fatto in Sistemi e Reti alle superiori. +

+

+ Ho glissato molto sulla parte teorica, in quanto le dispense forniteci dal prof. erano ottime. +

+ + + + Appunti di teoria + + + + Principi dell'architettura dei calcolatori + + + Dentro il processore + + + Assembly + + + + + + Esercizi svolti + + + + Hello World in RISC-V + + + Primo programma RISC-V + + + Stack in RISC-V + + + Prodotto scalare in RISC-V + + + + + + Appunti di pratica + + + + Appunti e deduzioni + + + Memorie + + + Meltdown + + + + +

+ Durante il corso, ho anche realizzato un'estensione per Visual Studio Code per il syntax highlighting dell'Assembly RISC-V. +

+ + + + Estensioni sviluppate + + + + + RISC-V Assembly + + + + + +
+
+ +} + +export default Page diff --git a/pages/year1/programmazione1/index.tsx b/pages/year1/programmazione1/index.tsx new file mode 100644 index 0000000..3bcc887 --- /dev/null +++ b/pages/year1/programmazione1/index.tsx @@ -0,0 +1,61 @@ +import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Dialog, BringAttention as B, ListOrdered, ListUnordered, Panel } from "@steffo/bluelib-react" +import type { NextPage } from "next" +import { Link } from "../../../components/compat-old" + +const Page: NextPage = () => { + return <> + + Programmazione 1 + + + + + Premessa + +

+ Avendo già programmato in C / C++ alle scuole superiori, non ho avuto bisogno di studiare per l'esame di Programmazione 1, e pertanto non ho preso appunti. +

+
+
+ + + + Materiale raccolto + +

+ Il massimo che posso fare è consigliare qualche risorsa online per il C++, e allegare al sito la guida che avevo scritto al tempo per installare su Windows il compilatore C / C++ MinGW. +

+ + + + Collegamenti utili + + + + cppreference.com + + + cplusplus.com + + + stackoverflow.com + + + + + + Guide realizzate + + + + Come installare correttamente MinGW su Windows + + + + +
+
+ +} + +export default Page diff --git a/pages/year1/programmazione1.tsx b/pages/year1/programmazione1/mingw.tsx similarity index 60% rename from pages/year1/programmazione1.tsx rename to pages/year1/programmazione1/mingw.tsx index 9724329..854b353 100644 --- a/pages/year1/programmazione1.tsx +++ b/pages/year1/programmazione1/mingw.tsx @@ -1,62 +1,33 @@ -import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Dialog, BringAttention as B, ListOrdered, ListUnordered } from "@steffo/bluelib-react" -import type { NextPage } from "next" -import { WarningUnchecked } from "../../components/warnings" +import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, Code } from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Link } from '../../../components/compat-old' import Image from "next/image" -import imgmDZSqjV from "../../public/images/year1/programmazione1/mDZSqjV.png" -import imgbrdw8Xy from "../../public/images/year1/programmazione1/brdw8Xy.png" -import imgaPTwrxz from "../../public/images/year1/programmazione1/aPTwrxz.png" -import img5QLSkFN from "../../public/images/year1/programmazione1/5QLSkFN.png" -import imgzP74nks from "../../public/images/year1/programmazione1/zP74nks.png" -import imgjp4uz5B from "../../public/images/year1/programmazione1/jp4uz5B.png" -import imgLq9IepY from "../../public/images/year1/programmazione1/Lq9IepY.png" -import imgdy3b5Ub from "../../public/images/year1/programmazione1/dy3b5Ub.png" -import imgFjYpT1n from "../../public/images/year1/programmazione1/FjYpT1n.png" -import imgklZQ9So from "../../public/images/year1/programmazione1/klZQ9So.png" -import imgF6lBCqS from "../../public/images/year1/programmazione1/F6lBCqS.png" +import imgmDZSqjV from "../../../public/images/year1/programmazione1/mDZSqjV.png" +import imgbrdw8Xy from "../../../public/images/year1/programmazione1/brdw8Xy.png" +import imgaPTwrxz from "../../../public/images/year1/programmazione1/aPTwrxz.png" +import img5QLSkFN from "../../../public/images/year1/programmazione1/5QLSkFN.png" +import imgzP74nks from "../../../public/images/year1/programmazione1/zP74nks.png" +import imgjp4uz5B from "../../../public/images/year1/programmazione1/jp4uz5B.png" +import imgLq9IepY from "../../../public/images/year1/programmazione1/Lq9IepY.png" +import imgdy3b5Ub from "../../../public/images/year1/programmazione1/dy3b5Ub.png" +import imgFjYpT1n from "../../../public/images/year1/programmazione1/FjYpT1n.png" +import imgklZQ9So from "../../../public/images/year1/programmazione1/klZQ9So.png" +import imgF6lBCqS from "../../../public/images/year1/programmazione1/F6lBCqS.png" + const Page: NextPage = () => { return <> - Programmazione 1 + + Programmazione 1 + + + Come installare correttamente MinGW su Windows + - - Introduzione - -

- Avendo già programmato in C / C++ alle scuole superiori, non ho avuto il minimo bisogno di studiare per l'esame di Programmazione 1, e pertanto non ho preso appunti. -

-

- Il massimo che posso fare è consigliare qualche risorsa online per il C++, e allegare al sito la guida che avevo scritto al tempo per installare su Windows il compilatore C / C++ MinGW. -

-
-
- - - - Collegamenti utili - - - - cppreference.com - - - cplusplus.com - - - stackoverflow.com - - - - - - - - Come installare correttamente MinGW su Windows - -

Scaricate l'installer ufficiale, ed eseguitelo.

diff --git a/pages/year1/programmazione2.tsx b/pages/year1/programmazione2/index.tsx similarity index 52% rename from pages/year1/programmazione2.tsx rename to pages/year1/programmazione2/index.tsx index 7de9d7d..32578f6 100644 --- a/pages/year1/programmazione2.tsx +++ b/pages/year1/programmazione2/index.tsx @@ -1,4 +1,4 @@ -import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered, BringAttention as B } from '@steffo/bluelib-react' +import { Heading, Chapter, Box, Idiomatic as I, Emphasis } from '@steffo/bluelib-react' import type { NextPage } from 'next' const Page: NextPage = () => { @@ -9,19 +9,19 @@ const Page: NextPage = () => { - Introduzione + Commento

Programmazione 2... è stato terrificante.

- Il programma non aveva il minimo senso: insegnava praticamente come NON PROGRAMMARE in C++; le worst practices, se vogliamo. + Il programma non aveva il minimo senso: insegnava praticamente come NON PROGRAMMARE in C++; le worst practices, se vogliamo.

- Se non è cambiato da allora, e dovete darlo... Vi consiglio di trovare un bel libro di C++ di base, studiarvelo da soli, e solo dopo che avete capito più o meno tutti i concetti principali tuffarvi nel mare di assurdità che sono le slides del corso. + Se non è cambiato da allora, e dovete darlo...

- Purtroppo non conosco buoni libri di C++, quindi dovete trovarvelo da soli, ma sono sicuro che ne esistano centinaia! + Vi consiglio di trovare un bel libro di C++ di base, studiarvelo da soli, e di rituffarvi nel mare di assurdità che sono le slides del corso solo dopo che avete capito le basi della programmazione a oggetti.

diff --git a/pages/year2/apprendimento/index.tsx b/pages/year2/apprendimento/index.tsx new file mode 100644 index 0000000..d39103b --- /dev/null +++ b/pages/year2/apprendimento/index.tsx @@ -0,0 +1,46 @@ +import { ListUnordered } from "@steffo/bluelib-react" +import {Heading, Chapter, Box, Panel, Idiomatic as I} from "@steffo/bluelib-react" +import { Link } from "../../../components/compat-next" + + +export default function Fisica() { + return <> + + Apprendimento ed evoluzione in sistemi artificiali + + + + + Premessa + +

+ Apprendimento ed evoluzione in sistemi artificiali è stato un corso molto discorsivo (un po' come il suo stesso nome). +

+

+ Penso sia quasi controproduttivo studiare dai miei appunti, in quanto essi sono una sintesi, mentre al fine di passare l'esame è utile saper parlare bene di tutti i concetti. +

+
+
+ + + + Materiale raccolto + + + + + Appuntiweb + + + + + Appunti di teoria + + + + + + + + +} diff --git a/pages/year2/apprendimento.tsx b/pages/year2/apprendimento/teoria.tsx similarity index 96% rename from pages/year2/apprendimento.tsx rename to pages/year2/apprendimento/teoria.tsx index 4f7e94f..56963d4 100644 --- a/pages/year2/apprendimento.tsx +++ b/pages/year2/apprendimento/teoria.tsx @@ -1,8 +1,6 @@ -import * as Bluelib from "@steffo/bluelib-react" -import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Split, Box, Color, Plus, Minus, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../components/compat1" -import 'katex/dist/katex.min.css'; -import { WarningPorted, WarningUnchecked } from "../../components/warnings"; +import { Heading } from "@steffo/bluelib-react" +import { Split, Box, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../../components/compat-old" +import { Link } from "../../../components/compat-next" const Tick = (props) => {props.children ?? "tick"} @@ -10,24 +8,11 @@ const Tick = (props) => {props.ch export default function Apprendimento() { return <> - - Apprendimento ed evoluzione in sistemi artificiali - - - - - Introduzione - -

- Come Fisica, Statistica ed elementi di probabilità è stato un altro esame in cui il modello "a carte mnemoniche" mi ha aiutato un sacco a ricordare i concetti per l'orale. -

-

- Spero che questi contenuti possano essere altrettanto utili a voi! -

- - -
-
+ + + Apprendimento ed evoluzione in sistemi artificiali + +

diff --git a/pages/year2/calcolo.tsx b/pages/year2/calcolo.tsx index 8048280..54319b4 100644 --- a/pages/year2/calcolo.tsx +++ b/pages/year2/calcolo.tsx @@ -1,6 +1,6 @@ import * as Bluelib from "@steffo/bluelib-react" import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, Link } from "../../components/compat1" +import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, Link } from "../../components/compat-old" import 'katex/dist/katex.min.css'; import { WarningIncomplete, WarningPorted, WarningUnchecked } from "../../components/warnings"; diff --git a/pages/year2/database.tsx b/pages/year2/database.tsx index bf233c4..6ddd75a 100644 --- a/pages/year2/database.tsx +++ b/pages/year2/database.tsx @@ -1,6 +1,6 @@ import * as Bluelib from "@steffo/bluelib-react" import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../components/compat1" +import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../components/compat-old" import 'katex/dist/katex.min.css'; import { WarningIncomplete, WarningPorted, WarningUnchecked } from "../../components/warnings"; diff --git a/pages/year2/fisica/index.tsx b/pages/year2/fisica/index.tsx new file mode 100644 index 0000000..3850ac1 --- /dev/null +++ b/pages/year2/fisica/index.tsx @@ -0,0 +1,43 @@ +import { ListUnordered } from "@steffo/bluelib-react" +import {Heading, Chapter, Box, Panel, Idiomatic as I} from "@steffo/bluelib-react" +import { Link } from "../../../components/compat-next" + + +export default function Fisica() { + return <> + + Fisica + + + + + Premessa + +

+ Fisica è stato il corso che mi ha spinto a sviluppare il progetto Appuntiweb: avendo tante definizioni e formule, avere una visualizzazione "a carte mnemoniche" mi ha aiutato molto a studiare per l'esame. +

+
+
+ + + + Materiale raccolto + + + + + Appuntiweb + + + + + Appunti di teoria + + + + + + + + +} diff --git a/pages/year2/fisica.tsx b/pages/year2/fisica/teoria.tsx similarity index 98% rename from pages/year2/fisica.tsx rename to pages/year2/fisica/teoria.tsx index 18ad8ce..25e35fc 100644 --- a/pages/year2/fisica.tsx +++ b/pages/year2/fisica/teoria.tsx @@ -1,27 +1,15 @@ -import * as Bluelib from "@steffo/bluelib-react" -import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Split, Box, Color, Plus, Minus, r, LatexMath, P, Anchor, B, Todo } from "../../components/compat1" -import 'katex/dist/katex.min.css'; -import { WarningPorted, WarningUnchecked } from "../../components/warnings"; +import { Heading } from '@steffo/bluelib-react' +import type { NextPage } from 'next' +import { Split, P, LatexMath, r, Plus, Minus, Anchor, Box, Todo, B } from '../../../components/compat-old' +import { Link } from '../../../components/compat-next' - -export default function Fisica() { +const Page: NextPage = () => { return <> - - Fisica - - - - - Introduzione - -

- Fisica è stato il corso che mi ha spinto a sviluppare il progetto Unisteffo: avendo tante definizioni e formule, avere una visualizzazione "a carte mnemoniche" mi ha aiutato molto a studiare per l'esame, e quindi ho deciso di rendere il materiale che ho creato disponibile per tutti. -

- - -
-
+ + + Fisica + +

@@ -1311,3 +1299,5 @@ export default function Fisica() { } + +export default Page diff --git a/pages/year2/oggetti/index.tsx b/pages/year2/oggetti/index.tsx new file mode 100644 index 0000000..0360396 --- /dev/null +++ b/pages/year2/oggetti/index.tsx @@ -0,0 +1,47 @@ +import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, Panel } from '@steffo/bluelib-react' +import type { NextPage } from 'next' + +const Page: NextPage = () => { + return <> + + Programmazione ad oggetti + + + + + Premessa + +

+ Programmazione ad oggetti è stato un corso molto pratico, con laboratori e tanta scrittura di codice. +

+

+ Di conseguenza, non ho alcun appunto di teoria; ho però reso disponibile l'intero codice sorgente documentato del mio progetto di esame. +

+

+ Suggerisco a tutti di pubblicare online da qualche parte i propri progetti. Sono utili sia per sè stessi sia per i compagni di corso che potrebbero usarli per prendere ispirazione! +

+
+ + + + + Materiale raccolto + + + + + Progetto d'esame + + + + Cleaver + + + + + + + +} + +export default Page diff --git a/pages/year2/ottimizzazione.tsx b/pages/year2/ottimizzazione.tsx index 6c84503..c51ec7d 100644 --- a/pages/year2/ottimizzazione.tsx +++ b/pages/year2/ottimizzazione.tsx @@ -1,6 +1,6 @@ import * as Bluelib from "@steffo/bluelib-react" import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Section, Box, Split, Panel, r, ILatex, BLatex, PLatex, Latex, Help, Example, Color, TablePanel, Code, Plus, Minus, BaseLink, Todo, Image } from "../../components/compat1" +import { Section, Box, Split, Panel, r, ILatex, BLatex, PLatex, Latex, Help, Example, Color, TablePanel, Code, Plus, Minus, BaseLink, Todo, Image } from "../../components/compat-old" import type { NextPage } from 'next' import { WarningPorted, WarningUnchecked } from "../../components/warnings"; diff --git a/pages/year2/statistica.tsx b/pages/year2/statistica.tsx index 387767b..1c3d419 100644 --- a/pages/year2/statistica.tsx +++ b/pages/year2/statistica.tsx @@ -1,8 +1,7 @@ import * as Bluelib from "@steffo/bluelib-react" import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement" -import { Split, Box, Color, Plus, Minus, r, LatexMath, P, Anchor, I, B, Todo, Section, Latex, Example } from "../../components/compat1" +import { Split, Box, Color, Plus, Minus, r, LatexMath, P, Anchor, I, B, Todo, Section, Latex, Example } from "../../components/compat-old" import 'katex/dist/katex.min.css'; -import { WarningPorted, WarningUnchecked } from "../../components/warnings"; export default function Statistica() { diff --git a/yarn.lock b/yarn.lock index b900c32..33c43fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1176,6 +1176,11 @@ micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" +min-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -1590,6 +1595,13 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853" + integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== + dependencies: + min-indent "^1.0.1" + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"