ποΈ23.10.06
ποΈ BackEnd
0οΈβ£ μΈν°λ·
μΈν°λ·μ μ΄λ»κ² λμνλ?
- κ±°λν λ€νΈ + μν¬
- λΌμ°ν°: μ»΄ν¨ν° μ 1λ1 κ²°ν©
- λΌμ°ν° λΌλ¦¬ μ°κ²° κ°λ₯
- λͺ¨λ
- ISP
DNS
- Domain Name System(IPμ£Όλ‘λ₯Ό μ½κ² λ¬Έμλ‘ λ°κΏλμ κ²)
- IP μ£Όμ -> λλ©μΈ μ£Όμ
μΉ μμΌ
- http μμμ ꡬμΆν νλ‘ν μ½
- http(ν΄λΌμ΄μΈνΈκ° μλ²μ μμ²μ ν΄μΌλ§ μλ΅ν μ μμ)
- HTTPλ‘ νΈλμμ΄ν¬
- μΉμμΌμΌλ‘ μλ°©ν₯ ν΅μ
- μ μ λκΈ°
1οΈβ£ Git
work space
stage area
local repo
π½π½π½π½π½
remote repo
2οΈβ£ λ°μ΄ν° ννλ²
JSON
https://www.json.org/json-ko.html
YAML
https://learnxinyminutes.com/docs/yaml/
3οΈβ£ 리λ
μ€ λͺ
λ Ήμ΄
- pwd: μμ
λλ ν 리
- ls
- cd
- mkdir
- cp
- cat
- touch: λΉ νμΌ
- echo: νμΌ λ΄μ© νμ
- alias ll="ls -al"
- .profile μ aliasμ€μ μ΄ λ€μ΄κ° μμ
4οΈβ£ μΉμλ²
- 리λ²μ€ νλ‘μλΌκ³ λ ν¨
- μμ§ μμ€, IIS, Apache
5οΈβ£ μΈμ¦κ³Ό μΈκ°
Authentication μΈμ¦
- λ‘κ·ΈμΈ
- λꡬμΈμ§ νμΈ
Authorization μΈκ°
- 무μμ ν μ μλμ§ κΆν λΆμ¬
6οΈβ£ νλ μμν¬
spring
- κΈ°μ
μ© μ΄ν리μΌμ΄μ
7οΈβ£ λ°μ΄ν°λ² μ΄μ€
RDB - MySQL, oracle
NoSQL - MongoDB, redis
ORM
- Object Reration Mapping
- μ€λΈμ νΈμ ν
μ΄λΈμ κ΄κ³λ₯Ό ν΄λμ€λ‘ κ°μ Έμ¬ μ μλλ‘ ν΄μ£Όλ νλ‘κ·Έλ¨
- 쿼리μμ± μμ΄ DB μ‘°μ κ°λ₯
ACID
- μμμ± : λͺ¨λ μ±κ³΅ λͺ¨λ μ€ν¨
- μΌκ΄μ± : νΈλμ μ
μμ μ¬μ©λ λ³κ²½μ¬νμ΄ λ°μ΄ν°λ² μ΄μ€μ λ¬΄κ²°μ± μ‘°κ±΄μ λ§μ‘±ν μ μλλ‘ νλ κ²
- κ²©λ¦¬μ± : λκ°μ νΈλμ μ
μ΄ μλ‘μκ² μν₯μ λΌμΉ μ μμ
- μμμ± : νΈλμ μ
μ΄ μ±κ³΅μ μΌλ‘ λλλ©΄ λ°μ΄ν°λ² μ΄μ€μ κ³μ μ μ§ λ¨
νΈλμ μ
N + 1
- λ°μ΄ν° κ°―μ λ§νΌ μΏΌλ¦¬κ° λ°μνλ λ¬Έμ
8οΈβ£ API
REST
- Representational State Transfer
- ννμ μν μ λ¬μ
- μμμ ννμ μν μν μ λ¬
- POST, GET, PUT, DELETE (μν)
- μν, μμ
- μλ²κ° 쿼리λ₯Ό λλΉμ λ λ €μ λ°μ΄ν°λ₯Ό κ°μ Έμ¨λ€
GraphQL
- 쿼리μΈμ΄ μ€ν
- ν΄λΌμ΄μΈνΈκ° μλ²μ 쿼리λ₯Ό λ 리λ κ°λ
- endpointκ° νλλ§ μλ€
9οΈβ£ λ°°μΉμ²λ¦¬
- μΌμ κΈ°κ°λμ λ°μ΄ν°λ₯Ό λͺ¨μλμλ€κ° λλμ λ°μ΄ν°μμ
μ νλ²μ νλ κ²μ λ§ν¨
- μΌμ μκ°λ§λ€ μ£ΌκΈ°μ μΌλ‘ ν΄μΌνλ μμ
- μ€μΌμ€λ§ κΈ°λ²
crontab
* * * * * echo "hello" > /dev/pts/0
λΆ (0 - 59) μ (0 - 23) μΌ (1 - 31) μ (1 - 12) μμΌ (0 - 6)
Jenkins
μ€νλ§ λ°°μΉ
AWS lambda
- ν΄λΌμ°λ νκ²½ λ°°μΉμ²λ¦¬
π λ°°ν¬νκΈ°
CI
- μ§μμ μΌλ‘ ν΅ν© λ°°ν¬
CD
- μ§μμ μΌλ‘ ν΅ν© λ°°ν¬
π’ λ μμ보기
λ컀
OAuth
ν΄λΌμ°λ
보μ
https://owasp.org/www-project-top-ten/