From 66ce1bb648b146d73a88eb47a46498739ae989d3 Mon Sep 17 00:00:00 2001 From: Alice Date: Tue, 26 Sep 2023 15:32:01 +0100 Subject: [PATCH] vault backup: 2023-09-26 15:32:01 --- .obsidian/app.json | 4 +- .obsidian/workspace.json | 26 +++++------ 4a1s/ASCN/T - Aula 1.md | 57 +++++++++++++++-------- 4a1s/ASCN/T - Aula 2.md | 52 ++++++++++++--------- 4a1s/DAA/PL - Aula 1.md | 98 ++++++++++++++++++++++------------------ 4a1s/MFES/PL - Aula 1.md | 10 ++-- 4a1s/MFES/T - Aula 2.md | 2 +- 4a1s/RAS/PL - Aula 1.md | 3 +- 4a1s/index.md | 2 +- My Digital Garden.md | 2 + 10 files changed, 150 insertions(+), 106 deletions(-) diff --git a/.obsidian/app.json b/.obsidian/app.json index 9e26dfe..6abe4c1 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "alwaysUpdateLinks": true +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index bc82828..8426aef 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,7 +13,7 @@ "state": { "type": "markdown", "state": { - "file": "4a1s/MFES/T - Aula 2.md", + "file": "4a1s/RAS/T - Aula 1.md", "mode": "source", "source": false } @@ -85,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "4a1s/MFES/T - Aula 2.md", + "file": "4a1s/RAS/T - Aula 1.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "4a1s/MFES/T - Aula 2.md", + "file": "4a1s/RAS/T - Aula 1.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "4a1s/MFES/T - Aula 2.md" + "file": "4a1s/RAS/T - Aula 1.md" } } } @@ -150,15 +150,22 @@ }, "active": "4d5a457a9ab7159d", "lastOpenFiles": [ + "4a1s/RAS/PL - Aula 1.md", + "4a1s/MFES/T - Aula 2.md", "4a1s/MFES/PL - Aula 2.md", "4a1s/MFES/PL - Aula 1.md", "4a1s/MFES/MFES - UC Details.md", - "4a1s/Excalidraw/MFES/Ficha1_ex2.excalidraw.md", + "4a1s/DAA/T - Aula 2.md", + "4a1s/DAA/T - Aula 1.md", + "4a1s/DAA/PL - Aula 1.md", + "4a1s/CP/T - Aula 2 - 19 Setembro.md", + "4a1s/CP/PL - Aula 2.md", "4a1s/ASCN/T - Aula 2.md", "4a1s/ASCN/T - Aula 1.md", "4a1s/ASCN/Images.md", - "4a1s/index.md", "My Digital Garden.md", + "4a1s/index.md", + "4a1s/Excalidraw/MFES/Ficha1_ex2.excalidraw.md", "4a1s/Excalidraw/ASCN/client-server.excalidraw.md", "4a1s/Excalidraw/ASCN/bus.excalidraw.md", "4a1s/Excalidraw/ASCN/proxy.excalidraw.md", @@ -166,13 +173,9 @@ "4a1s/Excalidraw/ASCN/SOA.excalidraw.md", "4a1s/Excalidraw/ASCN/server-group.excalidraw.md", "4a1s/Excalidraw/ASCN/Drawing 2023-09-26 15.05.39.excalidraw.md", - "4a1s/MFES/T - Aula 2.md", "4a1s/Excalidraw/ASCN/Partitioning.excalidraw.md", "4a1s/Excalidraw/ASCN/multi-tier.excalidraw.md", "4a1s/Excalidraw/ASCN/Monolithic system.excalidraw.md", - "4a1s/Excalidraw/ASCN/master.excalidraw.md", - "4a1s/CP/T - Aula 2 - 19 Setembro.md", - "4a1s/CP/PL - Aula 2.md", "-.32118", "4a1s/ASCN/T", "4a1s/ASCN/T.32118", @@ -180,9 +183,6 @@ "script.sh", "header", "script", - "Excalidraw/ASCN/bus.excalidraw.md", - "4a1s/RAS/T - Aula 2.md", - "4a1s/RAS/T - Aula 1.md", "4a1s/RAS", "4a1s/MFES", "4a1s/Excalidraw/MFES", diff --git a/4a1s/ASCN/T - Aula 1.md b/4a1s/ASCN/T - Aula 1.md index 1ce1ef0..6396ff6 100644 --- a/4a1s/ASCN/T - Aula 1.md +++ b/4a1s/ASCN/T - Aula 1.md @@ -1,27 +1,32 @@ --- dg-publish: true --- -🌫11 Setembro 2023 - #ASCN +🌫 11 Setembro 2023 - #ASCN -- ## Complex Structures: Challenges -- ### 1. Deployment +## Complex Structures: Challenges +### 1. Deployment - Multiple components with specific requirements - Heterogeneous hardware, software and services (e.g., cloud computing services -- ### 2. Management + Configuration + +### 2. Management + Configuration - Specific to each software/hardware component - Optimal configurations will change over time... -- ### 3. Monitoring + Benchmarking - id:: 65120d55-d904-4ef5-bbbb-647bf02e05c9 -- Finding anomalies (performance, failures, ...) in complex applications and infrastructures -- ## Agile Development - **Quick reaction to frequent small changes!** + +### 3. Monitoring + Benchmarking +- Finding anomalies (performance, failures, ...) in complex applications and infrastructures + + +## Agile Development +**Quick reaction to frequent small changes!** + - Rests on formal (versioned) source, binary and documentation repositories - Unambiguous current state - Ability to back track - Automated build and test - Fast feedback - Fast iterations -- ## Operations + +## Operations - Manual provisioning and configuration - Informal communication between qualification and production stages - Consequences: @@ -29,20 +34,26 @@ dg-publish: true - Configuration drift - “Snowflake” servers (don't even look at it…) - Subjective monitoring -- ## Infrastructure as Code - **Include infrastructure scripts in agile process!** + +## Infrastructure as Code +**Include infrastructure scripts in agile process!** + - Hardware provisioning with scripts - In contrast to: physically unboxing and plugging - Software provisioning with scripts - In contrast to: clicking through setup wizards - Configuration with scripts - In contrast to: clicking through control panels -- ## DevOps - **Supports fast, frequent, small changes!** + + +## DevOps +**Supports fast, frequent, small changes!** + - Development and deployment are self-documenting and versioned - Deployment is reproducible and repeatable - Servers are disposable and consistent -- ## Roadmap + +## Roadmap - Distributed systems architectures & deployment - Common distribution patterns - Reliability and scalability @@ -53,7 +64,11 @@ dg-publish: true - Monitoring and evaluation - Monitoring frameworks and metrics - Benchmarking -- ## Evaluation + + + + +## Evaluation - **50%** - project - min: 10 values - checkpoint 1: 17/11/2023 @@ -63,11 +78,13 @@ dg-publish: true - **50%** - written exam - min: 8 values - 12/12/2023 -- ## Team + + +## Team - João Paulo - jtpaulo@di.uminho.pt - Francisco Maia - fmaia@di.uminho.pt - Tânia Esteves - d12729@di.uminho.pt - Cláudia Brito – d13235@di.uminho.pt - - - [[ASCN/T - Aula 2|Next class: T - Aula 2]] \ No newline at end of file + + +[[ASCN/T - Aula 2|Next class: T - Aula 2]] \ No newline at end of file diff --git a/4a1s/ASCN/T - Aula 2.md b/4a1s/ASCN/T - Aula 2.md index d1c32b7..694f179 100644 --- a/4a1s/ASCN/T - Aula 2.md +++ b/4a1s/ASCN/T - Aula 2.md @@ -3,71 +3,81 @@ dg-publish: true --- 🌫 18 Setembro 2023 - #ASCN -- ## Why distributed systems? +## Why distributed systems? - Modularity, decoupling different concerns. - Performance. - Dependability -- ## How to distribute? -- ### 1. Monolythic system + + +## How to distribute? +### 1. Monolythic system - Architecture: [[Monolithic system.excalidraw]] - Multiple services for multiple targets in the same server -- ## 2. Distributed systems - id:: 65120d55-6bed-47db-bd53-cc4f627c33dc +## 2. Distributed systems - Main distribution concerns: - 1. Replication - 2. Partitioning - 3. Service-orientation + 1. Replication + 2. Partitioning + 3. Service-orientation - All of these address scaling out a service/application. - Not mutually exclusive, can be combined. -- ### 2.1 Replication + +### 2.1 Replication - Architecture: [[Replication.excalidraw]] - Multiple copies of the same data and functionality - Addresses resilience and scale-out -- ### 2.2 Partitioning +### 2.2 Partitioning - Architecture: [[Partitioning.excalidraw]] - A server is split horizontally (Sharding). - Addresses scale-out. - Can be applied to computation, data, ... -- ### 2.3 SOA - Service-Oriented Architecture +### 2.3 SOA - Service-Oriented Architecture - Architecture: [[SOA.excalidraw]] - Addresses scale-out and modularity. - Example: micro-services. -- #### 2.3.1 Microservices +#### 2.3.1 Microservices - Each service implements specific functionality. - Services can scale independently. - Decomposition may be troublesome: how micro is micro? - Consistency. -- Complex deployment and testing -- ## Distributed architectures -- ### 1. Client-server +- Complex deployment and testing + + + +## Distributed architectures +### 1. Client-server - Architecture: [[client-server.excalidraw]] - Functionality and data are in the server. - A stub runs embedded in the client. - The stub is part of the server software package - E.g., the Web (“protocol” is HTTP) -- ### 2. Proxy Server + +### 2. Proxy Server - Architecture: [[proxy.excalidraw]] - Multiple servers can be used transparently. - The proxy is a performance and availability bottleneck. - E.g. MongoDB -- ### 3. Master Server + +### 3. Master Server - Architecture: [[master.excalidraw]] - Scale out! - E.g. HDFS -- ### 4. Server Group + +### 4. Server Group - Architecture: [[server-group.excalidraw]] - All servers can process requests. - Coordination may be necessary. - Resiliency! - E.g. ZooKeeper -- ### 5. Bus + +### 5. Bus - Architecture: [[bus.excalidraw]] - The bus routes messages. - Participants publish and consume messages to/from the bus. - Decouples producers from consumers. - **Flexibility!** - E.g. Kafka -- ### 6. Multi-tier + +### 6. Multi-tier - Architecture: [[multi-tier.excalidraw]] - Each server acts as a client of the next tier. - Allows independent deployment and scaling of different functionality. @@ -75,7 +85,7 @@ dg-publish: true - “protocol A” == Web (e.g.) - “Stub B” == Database Driver! - “protocol B” uses SQL -- #### 6.1 State in multi-tier +#### 6.1 State in multi-tier - Persistent state is harder to replicate and shard. - Computation is easier to replicate and shard. - No state in upper tiers: diff --git a/4a1s/DAA/PL - Aula 1.md b/4a1s/DAA/PL - Aula 1.md index 486f413..73844a0 100644 --- a/4a1s/DAA/PL - Aula 1.md +++ b/4a1s/DAA/PL - Aula 1.md @@ -1,55 +1,64 @@ 21 Setembro 2023 - #DAA -- ## Types of Data - - -Numerical +## Types of Data + +-Numerical - Discrete Data ({1,2,3,...}) - Continuous Data (\[1, +$\infty$]) - *Categorical* (binary, languages, ...) - **Ordinal** (ratings of 1 to 5) + +*not-scaled +**scaled + + +>[!example]- Qual o tipo de dado que representa a quantidade de gasóleo? +>Numérico: continuous data + +>[!example]- Qual o tipo de dado que representa a nacionalidade? +>Categórico + +>[!example]- Qual o tipo de dado que representa a idade? +>Numérico: discreto + + +## Mean, Median & Mode + +>[!hint]+ +>A **mean** in math is the average of a data set, found by adding all numbers together and then dividing the sum of the numbers by the number of numbers. + +## Standard Deviation & Variance + + + +## Probability Density functions + + +## Percentiles - *not-scaled - **scaled - - - >[!example]- Qual o tipo de dado que representa a quantidade de gasóleo? - >Numérico: continuous data - - >[!example]- Qual o tipo de dado que representa a nacionalidade? - >Categórico - - >[!example]- Qual o tipo de dado que representa a idade? - >Numérico: discreto -- ## Mean, Median & Mode -- #+BEGIN_TIP - A mean in math is the average of a data set, found by adding all numbers together and then dividing the sum of the numbers by the number of numbers - #+END_TIP -- >[!hint]+ - >A **mean** in math is the average of a data set, found by adding all numbers together and then dividing the sum of the numbers by the number of numbers. -- ## Standard Deviation & Variance -- ## Probability Density functions -- ## Percentiles - - There are 3 important percentiles: +There are 3 important percentiles: - 50% - median - 25% - 1st percentile - 75% - 3rd percentile - - >[!note]+ - >These 3 percentiles allow the creation of box plot graphs. These specific graphs allow the discovery and presentation of outliers. -- ## Covariance & Correlation - - >[!hint]+ - >**Covariance** measures the direction of a relationship between two variables, while **correlation** measures the strength of that relationship. - - Covariance is hard to interpret, thus correlation is used instead. - In a dataset, correlations >0.5 are considerable. - - >[!caution] Correlation does not mean causation! -- ## Practical session of the class: miniconda - IDEs: PyCharm, VS Code, (Jupyter - not recommended) - - Depois de instalar o miniconda, correr os seguintes comandos: + +>[!note]+ +>These 3 percentiles allow the creation of box plot graphs. These specific graphs allow the discovery and presentation of outliers. + +## Covariance & Correlation + +>[!hint]+ +>**Covariance** measures the direction of a relationship between two variables, while **correlation** measures the strength of that relationship. + +Covariance is hard to interpret, thus correlation is used instead. +In a dataset, correlations >0.5 are considerable. + +>[!caution] Correlation does not mean causation! + + +## Practical session of the class: miniconda +IDEs: PyCharm, VS Code, (Jupyter - not recommended) + +Depois de instalar o miniconda, correr os seguintes comandos: - conda create --name daaEnv python=3.10 - conda activate daaEnv - python --version @@ -61,7 +70,8 @@ - conda install scikit-learn - conda install jupyterlab - conda list -- ## Resource links + +## Resource links - https://en.wikipedia.org/wiki/Average - https://en.wikipedia.org/wiki/Median - https://en.wikipedia.org/wiki/Mode_(statistics) @@ -70,4 +80,4 @@ - https://en.wikipedia.org/wiki/Probability_density_function - https://en.wikipedia.org/wiki/Percentile - https://en.wikipedia.org/wiki/Covariance -- https://en.wikipedia.org/wiki/Correlation +- https://en.wikipedia.org/wiki/Correlation \ No newline at end of file diff --git a/4a1s/MFES/PL - Aula 1.md b/4a1s/MFES/PL - Aula 1.md index ef5b546..328c4a7 100644 --- a/4a1s/MFES/PL - Aula 1.md +++ b/4a1s/MFES/PL - Aula 1.md @@ -1,7 +1,7 @@ --- dg-publish: true --- - 🌫 18 Setembro 2023 - #MFES +🌫 18 Setembro 2023 - #MFES ## Ficha 1 @@ -90,5 +90,9 @@ dg-publish: true > > Escreve um conjunto de fórumlas proposicionais adequado à modelação destas regras. > -> >[!tip]- Resolução -> > [[Ficha1_ex2.excalidraw]] +> >[!tip]- Resolução (por passos) +> >**Cada pessoa ocupa só um único gabinete.** +> > 1. para cada pessoa p = 1..4 +> > 2. pelo menos um gabinete: $x_{p1} \lor x_{p2} \lor x_{p3}$ +> > 3. no máximo 1 gabinete: $x_{p1} \implies \neg x_{p2} \land x_{p3} \equiv x_{p1} \implies \neg (x_{p2} \lor x_{p3} ) \equiv x_{p2} \implies \neg x_{p3}$ +> > 4. \ No newline at end of file diff --git a/4a1s/MFES/T - Aula 2.md b/4a1s/MFES/T - Aula 2.md index 4c9b0ec..6d18b42 100644 --- a/4a1s/MFES/T - Aula 2.md +++ b/4a1s/MFES/T - Aula 2.md @@ -123,4 +123,4 @@ A formula $F$ is: ## 2.1 DPLL Framework The idea is to **incrementally construct an assignment compatible with a CNF**, propagating the implications of the decisions made that are easy to detect and simplifying the clauses. -A CNF is satisfied by an assignment if all its clauses are satisfied. And a clause is satisfied if at least one of its literals is satisfied. +A CNF is satisfied by an assignment if all its clauses are satisfied. And a clause is satisfied if at least one of its literals is satisfied. \ No newline at end of file diff --git a/4a1s/RAS/PL - Aula 1.md b/4a1s/RAS/PL - Aula 1.md index e9003ef..3bab6e0 100644 --- a/4a1s/RAS/PL - Aula 1.md +++ b/4a1s/RAS/PL - Aula 1.md @@ -97,5 +97,4 @@ >> >>In terms of verifiability: >>What is a trained person? That is debatable. Is it a person with 1h of experience, 3h, 5h? This needs to be defined. Also, what is easy? Is it defined by the number of errors this person commits (commit less than 3 errors in this determined feature - this is considered "easy")? Use correctly 80% of the software and it's "easy" and intuitive for the tester? This also needs defining. -> - +> \ No newline at end of file diff --git a/4a1s/index.md b/4a1s/index.md index d126bab..5dd1765 100644 --- a/4a1s/index.md +++ b/4a1s/index.md @@ -6,7 +6,7 @@ Basicamente, isto é uma sopa de letras com alguma lógica por detrás (mas não ## Conteúdo ### Ano 1 (Mestrado) 1. [[MFES - UC Details| (MFES) Métodos Formais de Engenharia de Software]] -2. [[ASCN/T - Aula 1|(ASCN) Aplicações e Serviços de Computação em Nuvem]] +2. [[4a1s/ASCN/T - Aula 1|(ASCN) Aplicações e Serviços de Computação em Nuvem]] 3. [[RAS/T - Aula 2|(RAS) Requisitos e Arquiteturas de Software]] 4. (CP) Computação Paralela 5. [[DAA/T - Aula 1|(DAA) Dados e Aprendizagem Automática]] diff --git a/My Digital Garden.md b/My Digital Garden.md index bad2a33..e15cde7 100644 --- a/My Digital Garden.md +++ b/My Digital Garden.md @@ -3,6 +3,8 @@ dg-publish: true dg-home: true --- + + This is just my digital garden :) - Uni notes