vault backup: 2023-09-25 23:59:20

This commit is contained in:
Alice 2023-09-25 23:59:20 +01:00
parent c8551e05ff
commit a5cba9b794
7 changed files with 6904 additions and 122 deletions

View file

@ -1,29 +1,24 @@
🌫 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
- Finding anomalies (performance, failures, ...) in complex applications and infrastructures
## Agile Development
**Quick reaction to frequent small changes!**
- ### 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!**
- 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:
@ -31,26 +26,20 @@
- 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
@ -61,11 +50,7 @@
- Monitoring and evaluation
- Monitoring frameworks and metrics
- Benchmarking
## Evaluation
- ## Evaluation
- **50%** - project
- min: 10 values
- checkpoint 1: 17/11/2023
@ -75,13 +60,11 @@
- **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]]

View file

@ -1,80 +1,70 @@
🌫 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
- ## 2. Distributed systems
id:: 65120d55-6bed-47db-bd53-cc4f627c33dc
- 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.
@ -82,7 +72,7 @@
- “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:
@ -90,4 +80,4 @@
- Transient / cached state in middle tiers:
- Application server
- Persistent state at lower tiers:
- Database
- Database

View file

@ -1,64 +1,58 @@
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
There are 3 important percentiles:
*not-scaled
**scaled
#+BEGIN_EXAMPLE - Qual o tipo de dado que representa a quantidade de gasóleo?
Numérico: continuous data
#+END_EXAMPLE
>[!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
- 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
@ -70,8 +64,7 @@ Depois de instalar o miniconda, correr os seguintes comandos:
- 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)
@ -80,4 +73,4 @@ Depois de instalar o miniconda, correr os seguintes comandos:
- 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

414
content/logseq/config.edn Normal file
View file

@ -0,0 +1,414 @@
{:meta/version 1
;; Set the preferred format.
;; Available options:
;; - Markdown (default)
;; - Org
;; :preferred-format "Markdown"
;; Set the preferred workflow style.
;; Available options:
;; - :now for NOW/LATER style (default)
;; - :todo for TODO/DOING style
:preferred-workflow :now
;; Exclude directories/files.
;; Example usage:
;; :hidden ["/archived" "/test.md" "../assets/archived"]
:hidden []
;; Define the default journal page template.
;; Enter the template name between the quotes.
:default-templates
{:journals ""}
;; Set a custom date format for the journal page title.
;; Default value: "MMM do, yyyy"
;; e.g., "Jan 19th, 2038"
;; Example usage e.g., "Tue 19th, Jan 2038"
;; :journal/page-title-format "EEE do, MMM yyyy"
;; Specify the journal filename format using a valid date format string.
;; !Warning:
;; This configuration is not retroactive and affects only new journals.
;; To show old journal files in the app, manually rename the files in the
;; journal directory to match the new format.
;; Default value: "yyyy_MM_dd"
;; :journal/file-name-format "yyyy_MM_dd"
;; Enable tooltip preview on hover.
;; Default value: true
:ui/enable-tooltip? true
;; Display brackets [[]] around page references.
;; Default value: true
;; :ui/show-brackets? true
;; Display all lines of a block when referencing ((block)).
;; Default value: false
:ui/show-full-blocks? false
;; Automatically expand block references when zooming in.
;; Default value: true
:ui/auto-expand-block-refs? true
;; Enable Block timestamps.
;; Default value: false
:feature/enable-block-timestamps? false
;; Disable accent marks when searching.
;; After changing this setting, rebuild the search index by pressing (^C ^S).
;; Default value: true
:feature/enable-search-remove-accents? true
;; Enable journals.
;; Default value: true
;; :feature/enable-journals? true
;; Enable flashcards.
;; Default value: true
;; :feature/enable-flashcards? true
;; Enable whiteboards.
;; Default value: true
;; :feature/enable-whiteboards? true
;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
;; Default value: false
;; :feature/disable-scheduled-and-deadline-query? false
;; Specify the number of days displayed in the future for
;; the 'scheduled tasks and deadlines' query.
;; Example usage:
;; Display all scheduled and deadline blocks for the next 14 days:
;; :scheduled/future-days 14
;; Default value: 7
;; :scheduled/future-days 7
;; Specify the first day of the week.
;; Available options:
;; - integer from 0 to 6 (Monday to Sunday)
;; Default value: 6 (Sunday)
:start-of-week 6
;; Specify a custom CSS import.
;; This option takes precedence over the local `logseq/custom.css` file.
;; Example usage:
;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
;; Specify a custom JS import.
;; This option takes precedence over the local `logseq/custom.js` file.
;; Example usage:
;; :custom-js-url "https://cdn.logseq.com/custom.js"
;; Set a custom Arweave gateway
;; Default gateway: https://arweave.net
;; :arweave/gateway "https://arweave.net"
;; Set bullet indentation when exporting
;; Available options:
;; - `:eight-spaces` as eight spaces
;; - `:four-spaces` as four spaces
;; - `:two-spaces` as two spaces
;; - `:tab` as a tab character (default)
;; :export/bullet-indentation :tab
;; Publish all pages within the Graph
;; Regardless of whether individual pages have been marked as public.
;; Default value: false
;; :publishing/all-pages-public? false
;; Define the default home page and sidebar status.
;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
;; The `:page` value represents the name of the page displayed at startup.
;; Available options for `:sidebar` are:
;; - "Contents" to display the Contents page in the right sidebar.
;; - A specific page name to display in the right sidebar.
;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
;; If `:sidebar` remains unset, the right sidebar will stay hidden.
;; Examples:
;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
;; :default-home {:page "Changelog", :sidebar "Contents"}
;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
;; :default-home {:page "Jun 3rd, 2021"}
;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
;; Set the default location for storing notes.
;; Default value: "pages"
;; :pages-directory "pages"
;; Set the default location for storing journals.
;; Default value: "journals"
;; :journals-directory "journals"
;; Set the default location for storing whiteboards.
;; Default value: "whiteboards"
;; :whiteboards-directory "whiteboards"
;; Enabling this option converts
;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
;; For more information, visit https://github.com/logseq/logseq/issues/672
;; :org-mode/insert-file-link? false
;; Configure custom shortcuts.
;; Syntax:
;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
;; 2. A space between keys represents key chords, e.g., `t s` means
;; pressing `t` followed by `s`.
;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
;; 4. Use false to disable a specific shortcut.
;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
;; The full list of configurable shortcuts is available at:
;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
;; Example:
;; :shortcuts
;; {:editor/new-block "enter"
;; :editor/new-line "shift+enter"
;; :editor/insert-link "mod+shift+k"
;; :editor/highlight false
;; :ui/toggle-settings "t s"
;; :editor/up ["ctrl+k" "up"]
;; :editor/down ["ctrl+j" "down"]
;; :editor/left ["ctrl+h" "left"]
;; :editor/right ["ctrl+l" "right"]}
:shortcuts {}
;; Configure the behavior of pressing Enter in document mode.
;; if set to true, pressing Enter will create a new block.
;; Default value: false
:shortcut/doc-mode-enter-for-new-block? false
;; Block content larger than `block/content-max-length` will not be searchable
;; or editable for performance.
;; Default value: 10000
:block/content-max-length 10000
;; Display command documentation on hover.
;; Default value: true
:ui/show-command-doc? true
;; Display empty bullet points.
;; Default value: false
:ui/show-empty-bullets? false
;; Pre-defined :view function to use with advanced queries.
:query/views
{:pprint
(fn [r] [:pre.code (pprint r)])}
;; Advanced queries `:result-transform` function.
;; Transform the query result before displaying it.
:query/result-transforms
{:sort-by-priority
(fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
;; The following queries will be displayed at the bottom of today's journal page.
;; The "NOW" query returns tasks with "NOW" or "DOING" status.
;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
:default-queries
{:journals
[{:title "🔨 NOW"
:query [:find (pull ?h [*])
:in $ ?start ?today
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "DOING"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(>= ?d ?start)]
[(<= ?d ?today)]]
:inputs [:14d :today]
:result-transform (fn [result]
(sort-by (fn [h]
(get h :block/priority "Z")) result))
:group-by-page? false
:collapsed? false}
{:title "📅 NEXT"
:query [:find (pull ?h [*])
:in $ ?start ?next
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "LATER" "TODO"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(> ?d ?start)]
[(< ?d ?next)]]
:inputs [:today :7d-after]
:group-by-page? false
:collapsed? false}]}
;; Add custom commands to the command palette
;; Example usage:
;; :commands
;; [
;; ["js" "Javascript"]
;; ["md" "Markdown"]
;; ]
:commands []
;; Enable collapsing blocks with titles but no children.
;; By default, only blocks with children can be collapsed.
;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
;; blocks with titles (multiple lines) and content. For example:
;; - block title
;; block content
;; Default value: false
:outliner/block-title-collapse-enabled? false
;; Macros replace texts and will make you more productive.
;; Example usage:
;; Change the :macros value below to:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{poem red,blue}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {}
;; Configure the default expansion level for linked references.
;; For example, consider the following block hierarchy:
;; - a [[page]] (level 1)
;; - b (level 2)
;; - c (level 3)
;; - d (level 4)
;;
;; With the default value of level 2, block b will be collapsed.
;; If the level's value is set to 3, block c will be collapsed.
;; Default value: 2
:ref/default-open-blocks-level 2
;; Configure the threshold for linked references before collapsing.
;; Default value: 100
:ref/linked-references-collapsed-threshold 50
;; Graph view configuration.
;; Example usage:
;; :graph/settings
;; {:orphan-pages? true ; Default value: true
;; :builtin-pages? false ; Default value: false
;; :excluded-pages? false ; Default value: false
;; :journal? false} ; Default value: false
;; Favorites to list on the left sidebar
:favorites []
;; Set flashcards interval.
;; Expected value:
;; - Float between 0 and 1
;; higher values result in faster changes to the next review interval.
;; Default value: 0.5
;; :srs/learning-fraction 0.5
;; Set the initial interval after the first successful review of a card.
;; Default value: 4
;; :srs/initial-interval 4
;; Hide specific block properties.
;; Example usage:
;; :block-hidden-properties #{:public :icon}
;; Create a page for all properties.
;; Default value: true
:property-pages/enabled? true
;; Properties to exclude from having property pages
;; Example usage:
;; :property-pages/excludelist #{:duration :author}
;; By default, property value separated by commas will not be treated as
;; page references. You can add properties to enable it.
;; Example usage:
;; :property/separated-by-commas #{:alias :tags}
;; Properties that are ignored when parsing property values for references
;; Example usage:
;; :ignored-page-references-keywords #{:author :website}
;; logbook configuration.
;; :logbook/settings
;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
;; :enabled-in-timestamped-blocks false ;don't display logbook at all
;; }
;; Mobile photo upload configuration.
;; :mobile/photo
;; {:allow-editing? true
;; :quality 80}
;; Mobile features options
;; Gestures
;; Example usage:
;; :mobile
;; {:gestures/disabled-in-block-with-tags ["kanban"]}
;; Extra CodeMirror options
;; See https://codemirror.net/5/doc/manual.html#config for possible options
;; Example usage:
;; :editor/extra-codemirror-options
;; {:lineWrapping false ; Default value: false
;; :lineNumbers true ; Default value: true
;; :readOnly false} ; Default value: false
;; Enable logical outdenting
;; Default value: false
;; :editor/logical-outdenting? false
;; Prefer pasting the file when text and a file are in the clipboard.
;; Default value: false
;; :editor/preferred-pasting-file? false
;; Quick capture templates for receiving content from other apps.
;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
;; by receiving content from other apps. Note: the {} cannot be omitted.
;; - {time}: capture time
;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
;; - {text}: text that users selected before sharing.
;; - {url}: URL or assets path for media files stored in Logseq.
;; You can also reorder them or use only one or two of them in the template.
;; You can also insert or format any text in the template, as shown in the following examples.
;; :quick-capture-templates
;; {:text "[[quick capture]] **{time}**: {text} from {url}"
;; :media "[[quick capture]] **{time}**: {url}"}
;; Quick capture options.
;; - insert-today? Insert the capture at the end of today's journal page (boolean).
;; - redirect-page? Redirect to the quick capture page after capturing (boolean).
;; - default-page The default page to capture to if insert-today? is false (string).
;; :quick-capture-options
;; {:insert-today? false ;; Default value: true
;; :redirect-page? false ;; Default value: false
;; :default-page "quick capture"} ;; Default page: "quick capture"
;; File sync options
;; Ignore these files when syncing, regexp is supported.
;; :file-sync/ignore-files []
;; Configure the Enter key behavior for
;; context-aware editing with DWIM (Do What I Mean).
;; context-aware Enter key behavior implies that pressing Enter will
;; have different outcomes based on the context.
;; For instance, pressing Enter within a list generates a new list item,
;; whereas pressing Enter in a block reference opens the referenced block.
;; :dwim/settings
;; {:admonition&src? true ;; Default value: true
;; :markup? false ;; Default value: false
;; :block-ref? true ;; Default value: true
;; :page-ref? true ;; Default value: true
;; :properties? true ;; Default value: true
;; :list? false} ;; Default value: false
;; Configure the escaping method for special characters in page titles.
;; Warning:
;; This is a dangerous operation. To modify the setting,
;; access the 'Filename format' setting and follow the instructions.
;; Otherwise, You may need to manually rename all affected files and
;; re-index them on all clients after synchronization.
;; Incorrect handling may result in messy page titles.
;; Available options:
;; - :triple-lowbar (default)
;; ;use triple underscore `___` for slash `/` in page title
;; ;use Percent-encoding for other invalid characters
:file/name-format :triple-lowbar}

View file

View file

@ -0,0 +1 @@
-

File diff suppressed because one or more lines are too long