vault backup: 2023-09-26 15:32:01
This commit is contained in:
parent
b4bbe1ae12
commit
66ce1bb648
10 changed files with 150 additions and 106 deletions
4
.obsidian/app.json
vendored
4
.obsidian/app.json
vendored
|
@ -1 +1,3 @@
|
|||
{}
|
||||
{
|
||||
"alwaysUpdateLinks": true
|
||||
}
|
26
.obsidian/workspace.json
vendored
26
.obsidian/workspace.json
vendored
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
||||
### 3. Monitoring + Benchmarking
|
||||
- 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
|
||||
- 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]]
|
||||
[[ASCN/T - Aula 2|Next class: T - Aula 2]]
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
## 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:
|
||||
|
|
|
@ -1,55 +1,64 @@
|
|||
21 Setembro 2023 - #DAA
|
||||
|
||||
- ## Types of Data
|
||||
## Types of Data
|
||||
|
||||
-Numerical
|
||||
-Numerical
|
||||
- Discrete Data ({1,2,3,...})
|
||||
- Continuous Data (\[1, +$\infty$])
|
||||
- *Categorical* (binary, languages, ...)
|
||||
- **Ordinal** (ratings of 1 to 5)
|
||||
|
||||
*not-scaled
|
||||
**scaled
|
||||
*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 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 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
|
||||
>[!example]- Qual o tipo de dado que representa a idade?
|
||||
>Numérico: discreto
|
||||
|
||||
There are 3 important percentiles:
|
||||
|
||||
## 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
|
||||
|
||||
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
|
||||
>[!note]+
|
||||
>These 3 percentiles allow the creation of box plot graphs. These specific graphs allow the discovery and presentation of outliers.
|
||||
|
||||
>[!hint]+
|
||||
>**Covariance** measures the direction of a relationship between two variables, while **correlation** measures the strength of that relationship.
|
||||
## Covariance & Correlation
|
||||
|
||||
Covariance is hard to interpret, thus correlation is used instead.
|
||||
In a dataset, correlations >0.5 are considerable.
|
||||
>[!hint]+
|
||||
>**Covariance** measures the direction of a relationship between two variables, while **correlation** measures the strength of that relationship.
|
||||
|
||||
>[!caution] Correlation does not mean causation!
|
||||
- ## Practical session of the class: miniconda
|
||||
IDEs: PyCharm, VS Code, (Jupyter - not recommended)
|
||||
Covariance is hard to interpret, thus correlation is used instead.
|
||||
In a dataset, correlations >0.5 are considerable.
|
||||
|
||||
Depois de instalar o miniconda, correr os seguintes comandos:
|
||||
>[!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)
|
||||
|
|
|
@ -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.
|
|
@ -98,4 +98,3 @@
|
|||
>>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.
|
||||
>
|
||||
|
||||
|
|
|
@ -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]]
|
||||
|
|
|
@ -3,6 +3,8 @@ dg-publish: true
|
|||
dg-home: true
|
||||
---
|
||||
|
||||
|
||||
|
||||
This is just my digital garden :)
|
||||
|
||||
- Uni notes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue