0322 - 0328


# 0322 - 0328

# 0322 - git fetch

์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ํ™•์ธ๋งŒํ•˜๊ณ  ๋กœ์ปฌ ๋ฐ์ดํ„ฐ์™€ ๋ณ‘ํ•ฉ์€ ํ•˜๊ณ ์‹ถ์ง€ ์•Š์€ ๊ฒฝ์šฐ์— fetch ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ

  • fetch๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์ปค๋ฐ‹์ด๋ ฅ์ด ์ด๋ฆ„ ์—†๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋กœ์ปฌ์— ๊ฐ€์ ธ์˜ด
  • fetch ํ›„ merge ์ˆ˜ํ–‰์‹œ pull๊ณผ ๋™์ผ
    => pull = fetch + merge

# 0323 - OAuth

Open Authentification

์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž๋“ค์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ ์ƒ์˜ ์ž์‹ ๋“ค์˜ ์ •๋ณด์— ๋Œ€ํ•ด ์›น์‚ฌ์ดํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ๋ฐฉ๋ฒ•

์ด๋Ÿฌํ•œ ๋งค์ปค๋‹ˆ์ฆ˜์€ ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ, ํŠธ์œ„ํ„ฐ ๋“ฑ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํƒ€์‚ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์›น์‚ฌ์ดํŠธ์˜ ๊ณ„์ •์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ด์ค€๋‹ค.

# ์‚ฌ์šฉ์–ธ์–ด

  • ์‚ฌ์šฉ์ž : ๊ณ„์ •์„ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๊ฐœ์ธ
  • ์†Œ๋น„์ž : OAuth๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ ์ ‘๊ทผํ•˜๋Š” ์›น์‚ฌ์ดํŠธ or ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ์„œ๋น„์Šค ์ œ๊ณต์ž : OAuth๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ์„ ์ง€์›ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ์†Œ๋น„์ž ๋น„๋ฐ€๋ฒˆํ˜ธ : ์„œ๋น„์Šค ์ œ๊ณต์ž์—์„œ ์†Œ๋น„์ž๊ฐ€ ์ž์‹ ์ž„์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค
  • ์š”์ฒญ ํ† ํฐ : ์†Œ๋น„์ž๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ‘๊ทผ๊ถŒํ•œ์„ ์ธ์ฆ๋ฐ›๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ์Œ
  • ์ ‘๊ทผ ํ† ํฐ : ์ธ์ฆ ํ›„์— ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์•„๋‹Œ ์†Œ๋น„์ž๋ฅผ ํ†ตํ•ด ๋ณดํ˜ธ ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค ๊ฐ’

ํ† ํฐ ์ข…๋ฅ˜๋กœ๋Š” Access Token๊ณผ Refresh Token์ด ์žˆ๋‹ค.
Access Token์€ ๋งŒ๋ฃŒ์‹œ๊ฐ„์ด ์žˆ๊ณ  ๋๋‚˜๋ฉด ๋‹ค์‹œ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค. Refresh Token์€ ๋งŒ๋ฃŒ๋˜๋ฉด ์•„์˜ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

# ์ธ์ฆ๊ณผ์ •

์†Œ๋น„์ž <-> ์„œ๋น„์Šค ์ œ๊ณต์ž

  1. ์†Œ๋น„์ž๊ฐ€ ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ ์š”์ฒญํ† ํฐ์„ ์š”์ฒญํ•œ๋‹ค.
  2. ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์†Œ๋น„์ž์—๊ฒŒ ์š”์ฒญํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•œ๋‹ค.
  3. ์†Œ๋น„์ž๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ์„œ๋น„์Šค์ œ๊ณต์ž๋กœ ์ด๋™์‹œํ‚จ๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ์ˆ˜ํ–‰๋œ๋‹ค.
  4. ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ์†Œ๋น„์ž๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
  5. ์†Œ๋น„์ž๊ฐ€ ์ ‘๊ทผํ† ํฐ์„ ์š”์ฒญํ•œ๋‹ค.
  6. ์„œ๋น„์Šค์ œ๊ณต์ž๊ฐ€ ์ ‘๊ทผํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•œ๋‹ค.
  7. ๋ฐœ๊ธ‰๋œ ์ ‘๊ทผํ† ํฐ์„ ์ด์šฉํ•ด์„œ ์†Œ๋น„์ž์˜ ์‚ฌ์šฉ์ž ์ •๋ณด์— ์ ‘๊ทผํ•œ๋‹ค.

# 0324 - VO, DTO, Entity

# Entity

DB์˜ ํ…Œ์ด๋ธ”๋‚ด์— ์กด์žฌํ•˜๋Š” ์ปฌ๋Ÿผ๋งŒ์„ ์†์„ฑ(ํ•„๋“œ)์œผ๋กœ ๊ฐ€์ง€๋Š” ํด๋ž˜์Šค๋ฅผ ๋งํ•จ.

  • Id(PK)๋ฅผ ํ†ตํ•ด ๊ตฌ๋ถ„, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

# DTO(Data Transfer Object)

๋ ˆ์ด์–ด ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฐ์ฒด

  • Setter, Getter๋ฅผ ๊ฐ€์ง€๋ฉฐ ๋ณ„๋„์˜ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐ€์ง€์ง€๋Š” ์•Š์Œ.
  • ๋น„์Šทํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„ ๊ฐ’์„ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋กœ ๋ฌถ์–ด ๋ ˆ์ด์–ด๊ฐ„ ์ „๋‹ฌ์— ์œ ์šฉํ•˜๋„๋ก ๋งŒ๋“  ์ž๋ฃŒ ๊ตฌ์กฐ๋ผ๊ณ  ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

# VO

DTO์™€ ๋™์ผํ•˜๊ฒŒ ๋ ˆ์ด์–ด์™€ ๋ ˆ์ด์–ด๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฐ์ฒด

  • immutable(๋ถˆ๋ณ€์„ฑ)์„ ๊ฐ€์ง.
  • Object์˜ equals, hashcode๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ–ˆ์„๋•Œ ๋™์ผ ์—ฌ๋ณด๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋กœ์ง ํฌํ•จ ๊ฐ€๋Šฅ

# 0325 - Web Server์™€ WAS

# Web Server

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•˜๋Š” HTML ๋ฌธ์„œ๋‚˜ ๊ฐ์ข… ๋ฆฌ์†Œ์Šค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์œ„์—์„œ ๋งํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์™ธ์—๋„ ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ํ•˜๋“œ์›จ์–ด ๋˜ํ•œ ์›น ์„œ๋ฒ„๋ผ๊ณ  ํ• ํ•œ๋‹ค.
์•„ํŒŒ์น˜ HTTP ์„œ๋ฒ„, Nginx, WebtoB

# WAS (Web Application Server)

๋™์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ์จ ์›น ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.
Tomcat, Jeus, WebLogic, WebSphere

# ์›น ์„œ๋ฒ„์™€ WAS์˜ ์ฐจ์ด

  • ์›น์„œ๋ฒ„๋Š” ์ •์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ณ , WAS๋Š” ๋™์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•จ
  • WAS๋Š” ๋™์ ์ธ ์ปจํ…์ธ  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ •์ ์ธ ์ปจํ…์ธ ๋„ ์ œ๊ณต๊ฐ€๋Šฅ

# ์›น์„œ๋ฒ„์™€ WAS๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ 

  1. ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€
  2. ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”
  3. WEB์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๋Œ€์˜ WAS ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
  4. ์—ฌ๋Ÿฌ Web Application์„ ์„œ๋น„์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค

-> ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ


# 0326 - Express ๋ผ์šฐํŠธ ๊ฐ์ฒด

node.js express ๋ผ์šฐํŠธ ์š”์ฒญ, ์‘๋‹ต ๊ฐ์ฒด

# Request

  • Methods
    • req.params
    • req.query
    • req.body
    • req.headers

# Response

  • Methods
    • res.status(code)
    • res.send(body), res.send(status,body)
    • res.json(json)
    • res.render(vidw, [locals], callback)

# 0327 - Tibero ๊ด€๋ จ ์ •๋ฆฌ

# ์„ธ์…˜์ˆ˜ ๊ด€๋ฆฌ

$TB_HOM\config\$TB_SID

#--------------------------------------------------
# Tibero Initialization Parameters
#--------------------------------------------------
#Thu Feb 20 11:31:40 KST 2020
CONTROL_FILES="C\:\\TmaxData\\tibero6\\database\\tibero\\c1.ctl"
DB_NAME=tibero
LISTENER_PORT=8629
MAX_SESSION_COUNT=100
MEMORY_TARGET=3G
TOTAL_SHM_SIZE=2G

# ๊ฐ•์ œ ์žฌ์‹œ์ž‘

# tbdown clean
# tbboot (or ์„œ๋น„์Šค ์žฌ์‹œ์ž‘)

%TB_HOME%/instance/%TB_SID%/proc.list ํŒŒ์ผ ์‚ญ์ œ


# 0328 - OS ๊ด€๋ จ

# window

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ batํŒŒ์ผ
    ํŒŒ์ผ๋ช….bat
title ํƒ€์ดํ‹€
SET ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ช…=C:\์œ„์น˜
java -jar ํŒŒ์ผ๋ช….war -Dfile.encoding=UTF-8
  • ๋ถ€ํŒ…์‹œ batํŒŒ์ผ ์‹คํ–‰

    • ์‹คํ–‰ - shell:startup
    • ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋“ฑ๋ก
  • ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ณ€๊ฒฝ

    • ์‹คํ–‰ - regedit
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] ํ•ด๋‹น ๊ฐ’ ์ถ”๊ฐ€ (ํŒŒ์ผ๋ช…+๊ฒฝ๋กœ)
  • ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ

    • PID ํ™•์ธ
      netstat -nao | findstr PORT
    • ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ
      taskkill /pid PID /f
    • ํŒจํ‚ท ๊ฒฝ๋กœ ํ™•์ธ
      tracert -d IP

# linux

  • Cent OS firewall-cmd
    firewall-cmd --list all
    firewall-cmd --permanent --add-port=IP/tcp
    firewall-cmd --reload
    firewall-cmd systectl start/stop/restart firewalld

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ sh ํŒŒ์ผ
    ํŒŒ์ผ๋ช….sh

export ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ช…=/์œ„์น˜
nohup java -jar ํŒŒ์ผ๋ช….war &
  • ๋ช…๋ น์–ด
netstat -nap | grep {port}
lsof -i TCP:{port}
fuser -k -n tcp {pid}
kill -9 {pid}
Last update: September 13, 2022 21:44
Contributors: ahnjs , jaesungahn91