๐Ÿ—“๏ธ23.10.06

๐Ÿ—‚๏ธ BackEnd

0๏ธโƒฃ ์ธํ„ฐ๋„ท

์ธํ„ฐ๋„ท์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜?

  • ๊ฑฐ๋Œ€ํ•œ ๋„คํŠธ + ์›Œํฌ
  • ๋ผ์šฐํ„ฐ: ์ปดํ“จํ„ฐ ์™€ 1๋Œ€1 ๊ฒฐํ•ฉ
  • ๋ผ์šฐํ„ฐ ๋ผ๋ฆฌ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
  • ๋ชจ๋Ž€
  • ISP

DNS

  • Domain Name System(IP์ฃผ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”๋†“์€ ๊ฒƒ)
  • IP ์ฃผ์†Œ -> ๋„๋ฉ”์ธ ์ฃผ์†Œ

์›น ์†Œ์ผ“

  • http ์œ„์—์„œ ๊ตฌ์ถ•ํ•œ ํ”„๋กœํ† ์ฝœ
  • http(ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•ด์•ผ๋งŒ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ์Œ)
  1. HTTP๋กœ ํ•ธ๋“œ์‰์ดํฌ
  2. ์›น์†Œ์ผ“์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ 
  3. ์ ‘์† ๋Š๊ธฐ

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/

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด

Powered by GraphCDN, the GraphQL CDN