QueryVS belgeler
Bu repository alanım ile ilgili aldığım notlar ve çalışma notlarımı içeren repo'dur.
Bulabileceğiniz başlıca konular şunlardır ;
Distributed Systems Properties
Scalability
Availability
Reliability
Consistency
Partition Tolerance
Fault Tolerance
Performance
Latency
Throughput
Security
Privacy
Caching
Auditing
Load Balancing
Data Partitioning
Data Replication
Message Queuing
Request-Response Communication
Publish-Subscribe Communication
Leader Election
CAP theorem
BASE theorem
FLP theorem
Brewer and Nash theorem
Gilbert ve Lynch theorem
Brewer theorem
Gilbert and Lynch's PACELC theorem
Brewer's CAP theorem
FLP impossibility theorem
Leslie Lamport's Byzantine fault tolerance theorem
Eric Brewer's Gossip protocol theorem
Leader Election
Bully
Ring
Paxos
Raft
Zab
Load Balancing
Round Robin
Least Connection
IP Hash
Random
Weighted Round Robin
Weighted Least Connection
Consensus
Paxos
Raft
Zab
Gossip
MapReduce
Byzantine Fault Tolerance
PBFT
Tendermint
Algorand
Bitcoin Core
Virtual Machine
Virtlib
VMWare
VirtualBox
Container
Kubernetes
Mesos
Docker Swarm
Docker
containerd
podman
System VMs
Process VMs
Virtual Machine Language
nginx
IaC
Terraform
Ansible
Chef
Puppet
software engineering for infrastructure
system tools
controller
Deployment Scripts
Monitoring service
Popular Language
Python
Golang
C/C++
Software Architectural Patterns
Devops Engineer
System Engineer
Security
ISO 27001 and ISO 27002
OWASP Top 10
Users permission
Developer level
Database permissions
Monitoring permissions
Deployment Permissions
Document Permissions
System Manager level
Orchestration Management
Physical Server Management
Database Management
Users Management
VMs Management
Document Permissions
System checklists
troubleshooting
new change monitoring
Documentation
System design
Permissions lists
Services list
Evolution of Infrastructure
Public cloud
AWS
HuaweiCloud
Azure
Private Cloud
OpenStack
Compute
compute
containers
Hardware Lifecycle
ironic
cyborg
Storage
swift
cinder
manila
Networking
neutron
octavia
designate
Shared
keystone
placement
glance
barbican
Orchestration
heat
senlin
mistral
zaqar
blazar
aodh
Workload Provisioning
magnum
sahara
trove
Application Lifecycle
masakari
murano
solum
freezer
API proxies
EC2API
Web Frontend
horizon
skyline
OpenRC
Systemd
SysVinit
Syscalls
CPU Architecture
Driver
Firmware
Module
Command Language
Bash
ash
sh
csh
zsh
Netwoking
Wireless
Wired
Virtual Network
Route
tools
Developing
System
File
Storage
network
troubleshooting
Monitoring
Log analysis
Debian
Ubuntu
Devuan
Redhat
Fedora
CentOS
Gentoo
Arch
Artix
rpm
yum
dnf
apt
apt-get
aptitude
pacman
portage
wireless
wired
virtual network
VPN
Proxy
Router
DNS
Terminal Multiplexer
Screen
Tmux
Editor
vi
vim
nano
Merge Requests
CI/CD
Jenkins (CI/CD)
Tekton CI
Argo CD
Nexus
Jfrog Artifactory
Gitlab
JIRA
TaskCafe
Trello
Slack
Zulip
Web Applications
Kibana
Grafana
zabbix
ELKStack
kibana
elasticsearch
beats
logstash
Preface
Part I. Introductory Material
Part II. Designing Systems
Part III. Implementing Systems
Part IV. Maintaining Systems
Part V. Organization and Culture
Algorithm
Basic concepts
UML
Pseudo code
flow chart
O(büyük o) notation
Coding
OOP
clean code
Design Patterns
interpreted
Python
PHP
Perl
Ruby
compiled
Go
Rust
C
C++
Java
Languages
Compilable Languages
Interpretable Languages
Building Code
cmake
make
ninja
GNU autotools
Relational Database
PostgreSQL
Mysql
MariaDB
Non-Relational Database
MongoDB
Elasticsearch
Apache Kafka
RabbitMQ
Offensive (Red Team)
Defensive (Blue Team)
Functional Testing
Unit Testing
Integration testing
System Testing
Acceptance Testing
Non-Functonal testing
Performance Testing
Security Testing
Compliance Testing
QueryVS Belgeler Giriş
Bu döküman infrastructure engineering ile ilgili kapsamlı bir döküman olması amacı ile hazırlanıyor. Ayrıca kendi bilgimin üzerinden geçmem ve bunu açıklamam bana yararlı olabileceğinden hazırlamaya başladım. Bu dökümana herkes destek verebilir. Eğer bilgisayar bilimi altında burada olmayan bir kategoriyi eklemek ve katkı sunmak istiyorsanız, yapabilirsiniz. Sadece değişiklik yaptıktan sonra pull request atın.
Bu dökümanda yazan bölümlerin tamamı açık olarak dağıtılmasına ve okunmasına izin verilmektedir. Yazıların kopyalanması kullanılması serbesttir sadece açık bir şekilde kaynak belirtilmelidir.
Belgeler'de açıklanan ve Operating System ile ilgili olan bazı bilgiler çoğunlukla Linux Dağıtımlarını baz almaktadır. Ortak bilgiler zaten ortaktır.
Belgeye farklı kategorilerde katkı sağlayabilirsiniz. Örneğin Web3 veya AI kategorisinde katkı sağlamak isterseniz bu kategori için bir dizin oluşturun ve markdown dosyalarınızı oraya yazın README.md'de yazan içerik bilgisine göre ben anamenüyü güncellerim mümkünse README.md dosyasında değişiklik yapmayın conflict olmaması bakımından şuan tamamlanmamış bir dosya olduğundan bu dosya sürekli güncellenmektedir.
Belgeye katkı sağlarsanız. İsminiz ve katkı sağladığınız kategori Katkı sağlayanlar kısmına yazılır.
Belgelerde kategori için yazılan açıklama ve yazılar açık olmalıdır. Herhangi bir kaynaktan kopyaladığınız içerikler kabul edilmez bu konu hakkında yeterli düzeyde bilginiz olduktan sonra chatgpt veya başka kaynaktaki bilginin anlaşılmayan yerlerini açıklayarak tekrar yazınız.
Son olarak belge Türkçe ama Yazılım mühendisliğinde terim olarak kullandığım kelimeleri İngilizce yazdım sebebi bu şekilde google'da aradığınızda İngilizce hali ile bulabileceğiniz şeyler olması, yani katkı sağlayanlar yerine contributors yazdıysam bu sebebtendir.
Nasıl Kullanılır (Okuyucular)
Belgeler'in kategorisine göz gezdirdikten sonra gitmek istediğiniz alanın markdown'una kategorisi linkelenmiştir. Çift tıklayarak gidin.
Belgeler kategorilerinde sıfırdan o kategori hakkında tüm bilgiler yoktur. Kategori hakkında genel ve bazı spesifik bilgiler ve terminolojisi ve ilgili kategorileri hakkında bilgiler vardır. Bir kategori birden fazla alanda yer alabilir sebebi o kategorinin sadece o alanla ilgili kısmının orda açıklanacak olmasıdır.
Nasıl kullanılır (Contributors)
Giriş kısmında biraz açıkladığım gibi;
Belgeye katkı sağlarsanız. İsminiz ve katkı sağladığınız kategori Katkı sağlayanlar kısmına yazılır.
Belgelerde kategori için yazılan açıklama ve yazılar açık olmalıdır. Herhangi bir kaynaktan kopyaladığınız içerikler kabul edilmez bu konu hakkında yeterli düzeyde bilginiz olduktan sonra chatgpt veya başka kaynaktaki bilginin anlaşılmayan yerlerini açıklayarak tekrar yazınız.
Katkı sağlayanlar:
Ahmet Numan Coşkun (Distributed Systems)
Kaynaklar
Her kategorinin altında spesifik kaynaklar yazmakta buraya aklıma ilk gelen kaynakları yazdım.
Engineering pages
Scholar
Medium
Linux Documents
man pages
info documents
ChatGPT and other AI apps
Google SRE book
Ahmet Alp Balkan(youtube)
Last updated