vault backup: 2023-09-26 15:32:01

This commit is contained in:
Alice 2023-09-26 15:32:01 +01:00
parent b4bbe1ae12
commit 66ce1bb648
10 changed files with 150 additions and 106 deletions

4
.obsidian/app.json vendored
View file

@ -1 +1,3 @@
{} {
"alwaysUpdateLinks": true
}

View file

@ -13,7 +13,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "4a1s/MFES/T - Aula 2.md", "file": "4a1s/RAS/T - Aula 1.md",
"mode": "source", "mode": "source",
"source": false "source": false
} }
@ -85,7 +85,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "4a1s/MFES/T - Aula 2.md", "file": "4a1s/RAS/T - Aula 1.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -102,7 +102,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "4a1s/MFES/T - Aula 2.md", "file": "4a1s/RAS/T - Aula 1.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} }
@ -125,7 +125,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "4a1s/MFES/T - Aula 2.md" "file": "4a1s/RAS/T - Aula 1.md"
} }
} }
} }
@ -150,15 +150,22 @@
}, },
"active": "4d5a457a9ab7159d", "active": "4d5a457a9ab7159d",
"lastOpenFiles": [ "lastOpenFiles": [
"4a1s/RAS/PL - Aula 1.md",
"4a1s/MFES/T - Aula 2.md",
"4a1s/MFES/PL - Aula 2.md", "4a1s/MFES/PL - Aula 2.md",
"4a1s/MFES/PL - Aula 1.md", "4a1s/MFES/PL - Aula 1.md",
"4a1s/MFES/MFES - UC Details.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 2.md",
"4a1s/ASCN/T - Aula 1.md", "4a1s/ASCN/T - Aula 1.md",
"4a1s/ASCN/Images.md", "4a1s/ASCN/Images.md",
"4a1s/index.md",
"My Digital Garden.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/client-server.excalidraw.md",
"4a1s/Excalidraw/ASCN/bus.excalidraw.md", "4a1s/Excalidraw/ASCN/bus.excalidraw.md",
"4a1s/Excalidraw/ASCN/proxy.excalidraw.md", "4a1s/Excalidraw/ASCN/proxy.excalidraw.md",
@ -166,13 +173,9 @@
"4a1s/Excalidraw/ASCN/SOA.excalidraw.md", "4a1s/Excalidraw/ASCN/SOA.excalidraw.md",
"4a1s/Excalidraw/ASCN/server-group.excalidraw.md", "4a1s/Excalidraw/ASCN/server-group.excalidraw.md",
"4a1s/Excalidraw/ASCN/Drawing 2023-09-26 15.05.39.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/Partitioning.excalidraw.md",
"4a1s/Excalidraw/ASCN/multi-tier.excalidraw.md", "4a1s/Excalidraw/ASCN/multi-tier.excalidraw.md",
"4a1s/Excalidraw/ASCN/Monolithic system.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", "-.32118",
"4a1s/ASCN/T", "4a1s/ASCN/T",
"4a1s/ASCN/T.32118", "4a1s/ASCN/T.32118",
@ -180,9 +183,6 @@
"script.sh", "script.sh",
"header", "header",
"script", "script",
"Excalidraw/ASCN/bus.excalidraw.md",
"4a1s/RAS/T - Aula 2.md",
"4a1s/RAS/T - Aula 1.md",
"4a1s/RAS", "4a1s/RAS",
"4a1s/MFES", "4a1s/MFES",
"4a1s/Excalidraw/MFES", "4a1s/Excalidraw/MFES",

View file

@ -1,27 +1,32 @@
--- ---
dg-publish: true dg-publish: true
--- ---
🌫11 Setembro 2023 - #ASCN 🌫 11 Setembro 2023 - #ASCN
- ## Complex Structures: Challenges ## Complex Structures: Challenges
- ### 1. Deployment ### 1. Deployment
- Multiple components with specific requirements - Multiple components with specific requirements
- Heterogeneous hardware, software and services (e.g., cloud computing services - Heterogeneous hardware, software and services (e.g., cloud computing services
- ### 2. Management + Configuration
### 2. Management + Configuration
- Specific to each software/hardware component - Specific to each software/hardware component
- Optimal configurations will change over time... - Optimal configurations will change over time...
- ### 3. Monitoring + Benchmarking
id:: 65120d55-d904-4ef5-bbbb-647bf02e05c9 ### 3. Monitoring + Benchmarking
- Finding anomalies (performance, failures, ...) in complex applications and infrastructures - Finding anomalies (performance, failures, ...) in complex applications and infrastructures
- ## Agile Development
**Quick reaction to frequent small changes!**
## Agile Development
**Quick reaction to frequent small changes!**
- Rests on formal (versioned) source, binary and documentation repositories - Rests on formal (versioned) source, binary and documentation repositories
- Unambiguous current state - Unambiguous current state
- Ability to back track - Ability to back track
- Automated build and test - Automated build and test
- Fast feedback - Fast feedback
- Fast iterations - Fast iterations
- ## Operations
## Operations
- Manual provisioning and configuration - Manual provisioning and configuration
- Informal communication between qualification and production stages - Informal communication between qualification and production stages
- Consequences: - Consequences:
@ -29,20 +34,26 @@ dg-publish: true
- Configuration drift - Configuration drift
- “Snowflake” servers (don't even look at it…) - “Snowflake” servers (don't even look at it…)
- Subjective monitoring - Subjective monitoring
- ## Infrastructure as Code
**Include infrastructure scripts in agile process!** ## Infrastructure as Code
**Include infrastructure scripts in agile process!**
- Hardware provisioning with scripts - Hardware provisioning with scripts
- In contrast to: physically unboxing and plugging - In contrast to: physically unboxing and plugging
- Software provisioning with scripts - Software provisioning with scripts
- In contrast to: clicking through setup wizards - In contrast to: clicking through setup wizards
- Configuration with scripts - Configuration with scripts
- In contrast to: clicking through control panels - 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 - Development and deployment are self-documenting and versioned
- Deployment is reproducible and repeatable - Deployment is reproducible and repeatable
- Servers are disposable and consistent - Servers are disposable and consistent
- ## Roadmap
## Roadmap
- Distributed systems architectures & deployment - Distributed systems architectures & deployment
- Common distribution patterns - Common distribution patterns
- Reliability and scalability - Reliability and scalability
@ -53,7 +64,11 @@ dg-publish: true
- Monitoring and evaluation - Monitoring and evaluation
- Monitoring frameworks and metrics - Monitoring frameworks and metrics
- Benchmarking - Benchmarking
- ## Evaluation
## Evaluation
- **50%** - project - **50%** - project
- min: 10 values - min: 10 values
- checkpoint 1: 17/11/2023 - checkpoint 1: 17/11/2023
@ -63,11 +78,13 @@ dg-publish: true
- **50%** - written exam - **50%** - written exam
- min: 8 values - min: 8 values
- 12/12/2023 - 12/12/2023
- ## Team
## Team
- João Paulo - jtpaulo@di.uminho.pt - João Paulo - jtpaulo@di.uminho.pt
- Francisco Maia - fmaia@di.uminho.pt - Francisco Maia - fmaia@di.uminho.pt
- Tânia Esteves - d12729@di.uminho.pt - Tânia Esteves - d12729@di.uminho.pt
- Cláudia Brito d13235@di.uminho.pt - Cláudia Brito d13235@di.uminho.pt
[[ASCN/T - Aula 2|Next class: T - Aula 2]] [[ASCN/T - Aula 2|Next class: T - Aula 2]]

View file

@ -3,71 +3,81 @@ dg-publish: true
--- ---
🌫 18 Setembro 2023 - #ASCN 🌫 18 Setembro 2023 - #ASCN
- ## Why distributed systems? ## Why distributed systems?
- Modularity, decoupling different concerns. - Modularity, decoupling different concerns.
- Performance. - Performance.
- Dependability - Dependability
- ## How to distribute?
- ### 1. Monolythic system
## How to distribute?
### 1. Monolythic system
- Architecture: [[Monolithic system.excalidraw]] - Architecture: [[Monolithic system.excalidraw]]
- Multiple services for multiple targets in the same server - Multiple services for multiple targets in the same server
- ## 2. Distributed systems ## 2. Distributed systems
id:: 65120d55-6bed-47db-bd53-cc4f627c33dc
- Main distribution concerns: - Main distribution concerns:
1. Replication 1. Replication
2. Partitioning 2. Partitioning
3. Service-orientation 3. Service-orientation
- All of these address scaling out a service/application. - All of these address scaling out a service/application.
- Not mutually exclusive, can be combined. - Not mutually exclusive, can be combined.
- ### 2.1 Replication
### 2.1 Replication
- Architecture: [[Replication.excalidraw]] - Architecture: [[Replication.excalidraw]]
- Multiple copies of the same data and functionality - Multiple copies of the same data and functionality
- Addresses resilience and scale-out - Addresses resilience and scale-out
- ### 2.2 Partitioning ### 2.2 Partitioning
- Architecture: [[Partitioning.excalidraw]] - Architecture: [[Partitioning.excalidraw]]
- A server is split horizontally (Sharding). - A server is split horizontally (Sharding).
- Addresses scale-out. - Addresses scale-out.
- Can be applied to computation, data, ... - Can be applied to computation, data, ...
- ### 2.3 SOA - Service-Oriented Architecture ### 2.3 SOA - Service-Oriented Architecture
- Architecture: [[SOA.excalidraw]] - Architecture: [[SOA.excalidraw]]
- Addresses scale-out and modularity. - Addresses scale-out and modularity.
- Example: micro-services. - Example: micro-services.
- #### 2.3.1 Microservices #### 2.3.1 Microservices
- Each service implements specific functionality. - Each service implements specific functionality.
- Services can scale independently. - Services can scale independently.
- Decomposition may be troublesome: how micro is micro? - Decomposition may be troublesome: how micro is micro?
- Consistency. - Consistency.
- Complex deployment and testing - Complex deployment and testing
- ## Distributed architectures
- ### 1. Client-server
## Distributed architectures
### 1. Client-server
- Architecture: [[client-server.excalidraw]] - Architecture: [[client-server.excalidraw]]
- Functionality and data are in the server. - Functionality and data are in the server.
- A stub runs embedded in the client. - A stub runs embedded in the client.
- The stub is part of the server software package - The stub is part of the server software package
- E.g., the Web (“protocol” is HTTP) - E.g., the Web (“protocol” is HTTP)
- ### 2. Proxy Server
### 2. Proxy Server
- Architecture: [[proxy.excalidraw]] - Architecture: [[proxy.excalidraw]]
- Multiple servers can be used transparently. - Multiple servers can be used transparently.
- The proxy is a performance and availability bottleneck. - The proxy is a performance and availability bottleneck.
- E.g. MongoDB - E.g. MongoDB
- ### 3. Master Server
### 3. Master Server
- Architecture: [[master.excalidraw]] - Architecture: [[master.excalidraw]]
- Scale out! - Scale out!
- E.g. HDFS - E.g. HDFS
- ### 4. Server Group
### 4. Server Group
- Architecture: [[server-group.excalidraw]] - Architecture: [[server-group.excalidraw]]
- All servers can process requests. - All servers can process requests.
- Coordination may be necessary. - Coordination may be necessary.
- Resiliency! - Resiliency!
- E.g. ZooKeeper - E.g. ZooKeeper
- ### 5. Bus
### 5. Bus
- Architecture: [[bus.excalidraw]] - Architecture: [[bus.excalidraw]]
- The bus routes messages. - The bus routes messages.
- Participants publish and consume messages to/from the bus. - Participants publish and consume messages to/from the bus.
- Decouples producers from consumers. - Decouples producers from consumers.
- **Flexibility!** - **Flexibility!**
- E.g. Kafka - E.g. Kafka
- ### 6. Multi-tier
### 6. Multi-tier
- Architecture: [[multi-tier.excalidraw]] - Architecture: [[multi-tier.excalidraw]]
- Each server acts as a client of the next tier. - Each server acts as a client of the next tier.
- Allows independent deployment and scaling of different functionality. - Allows independent deployment and scaling of different functionality.
@ -75,7 +85,7 @@ dg-publish: true
- “protocol A” == Web (e.g.) - “protocol A” == Web (e.g.)
- “Stub B” == Database Driver! - “Stub B” == Database Driver!
- “protocol B” uses SQL - “protocol B” uses SQL
- #### 6.1 State in multi-tier #### 6.1 State in multi-tier
- Persistent state is harder to replicate and shard. - Persistent state is harder to replicate and shard.
- Computation is easier to replicate and shard. - Computation is easier to replicate and shard.
- No state in upper tiers: - No state in upper tiers:

View file

@ -1,55 +1,64 @@
21 Setembro 2023 - #DAA 21 Setembro 2023 - #DAA
- ## Types of Data ## Types of Data
-Numerical -Numerical
- Discrete Data ({1,2,3,...}) - Discrete Data ({1,2,3,...})
- Continuous Data (\[1, +$\infty$]) - Continuous Data (\[1, +$\infty$])
- *Categorical* (binary, languages, ...) - *Categorical* (binary, languages, ...)
- **Ordinal** (ratings of 1 to 5) - **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 There are 3 important percentiles:
**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:
- 50% - median - 50% - median
- 25% - 1st percentile - 25% - 1st percentile
- 75% - 3rd percentile - 75% - 3rd percentile
>[!note]+ >[!note]+
>These 3 percentiles allow the creation of box plot graphs. These specific graphs allow the discovery and presentation of outliers. >These 3 percentiles allow the creation of box plot graphs. These specific graphs allow the discovery and presentation of outliers.
- ## Covariance & Correlation
## Covariance & Correlation
>[!hint]+
>**Covariance** measures the direction of a relationship between two variables, while **correlation** measures the strength of that relationship. >[!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. 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 >[!caution] Correlation does not mean causation!
IDEs: PyCharm, VS Code, (Jupyter - not recommended)
Depois de instalar o miniconda, correr os seguintes comandos: ## 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 create --name daaEnv python=3.10
- conda activate daaEnv - conda activate daaEnv
- python --version - python --version
@ -61,7 +70,8 @@
- conda install scikit-learn - conda install scikit-learn
- conda install jupyterlab - conda install jupyterlab
- conda list - conda list
- ## Resource links
## Resource links
- https://en.wikipedia.org/wiki/Average - https://en.wikipedia.org/wiki/Average
- https://en.wikipedia.org/wiki/Median - https://en.wikipedia.org/wiki/Median
- https://en.wikipedia.org/wiki/Mode_(statistics) - https://en.wikipedia.org/wiki/Mode_(statistics)
@ -70,4 +80,4 @@
- https://en.wikipedia.org/wiki/Probability_density_function - https://en.wikipedia.org/wiki/Probability_density_function
- https://en.wikipedia.org/wiki/Percentile - https://en.wikipedia.org/wiki/Percentile
- https://en.wikipedia.org/wiki/Covariance - https://en.wikipedia.org/wiki/Covariance
- https://en.wikipedia.org/wiki/Correlation - https://en.wikipedia.org/wiki/Correlation

View file

@ -1,7 +1,7 @@
--- ---
dg-publish: true dg-publish: true
--- ---
🌫 18 Setembro 2023 - #MFES 🌫 18 Setembro 2023 - #MFES
## Ficha 1 ## Ficha 1
@ -90,5 +90,9 @@ dg-publish: true
> >
> Escreve um conjunto de fórumlas proposicionais adequado à modelação destas regras. > Escreve um conjunto de fórumlas proposicionais adequado à modelação destas regras.
> >
> >[!tip]- Resolução > >[!tip]- Resolução (por passos)
> > [[Ficha1_ex2.excalidraw]] > >**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.

View file

@ -123,4 +123,4 @@ A formula $F$ is:
## 2.1 DPLL Framework ## 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. 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.

View file

@ -97,5 +97,4 @@
>> >>
>>In terms of verifiability: >>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. >>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.
> >

View file

@ -6,7 +6,7 @@ Basicamente, isto é uma sopa de letras com alguma lógica por detrás (mas não
## Conteúdo ## Conteúdo
### Ano 1 (Mestrado) ### Ano 1 (Mestrado)
1. [[MFES - UC Details| (MFES) Métodos Formais de Engenharia de Software]] 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]] 3. [[RAS/T - Aula 2|(RAS) Requisitos e Arquiteturas de Software]]
4. (CP) Computação Paralela 4. (CP) Computação Paralela
5. [[DAA/T - Aula 1|(DAA) Dados e Aprendizagem Automática]] 5. [[DAA/T - Aula 1|(DAA) Dados e Aprendizagem Automática]]

View file

@ -3,6 +3,8 @@ dg-publish: true
dg-home: true dg-home: true
--- ---
This is just my digital garden :) This is just my digital garden :)
- Uni notes - Uni notes