์ „์ฒด ๊ธ€ 269

[pattern] Command pattern

๋””์ž์ธํŒจํ„ด ์Šคํ„ฐ๋””์˜ ๋งˆ์ง€๋ง‰์ธ Command pattern ์ž…๋‹ˆ๋‹ค. ์ด 5๋ถ„ ์ค‘ ๋ฌด๋ ค 3๋ถ„์ด (์ € ํฌํ•จใ…Žใ…Ž) ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ–ˆ๋‹ค๋Š”(์—ˆ๋‹ค)๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ตฌ๋…ํ•˜๊ณ  gitHub๋„ follow๋ฅผ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์Šคํ„ฐ๋””๋กœ ๋””์ž์ธํŒจํ„ด์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด ์•„์ฃผ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ Factory pattern์„ ๋ณด๋Š”๋ฐ ์ •๋ง ํ•˜๋‚˜๋„ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜์—ˆ๊ฑฐ๋“ ์š”. ์ง€๊ธˆ์€ ๊ทธ๋ž˜๋„ ์–ด๋А์ •๋„ pattern์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ฐ›์•„ ๋“ค์ผ ์ค€๋น„ ์ •๋„๋Š” ๋œ ๋“ฏ ํ•ด์„œ ๋งŽ์ด ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊ณ„์†ํ•ด์„œ ๋‹ค์–‘ํ•œ ์Šคํ„ฐ๋””๋ฅผ ํ†ตํ•ด ์ข€ ๋” ๋ฐœ์ „ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ถ„๋“ค์„ ๋งŒ๋‚˜ ๊ฒฝํ—˜๋“ค์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค Command ํŒจํ„ด ์ปค๋งจ๋“œ ํŒจํ„ด์€ ํŠน์ • ๊ธฐ๋Šฅ๋“ค์„ ์บก์Аํ™” ์‹œํ‚ค๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ..

CS 2022.06.25

[Java] Exception(checked, Unchecked Exception)

ํ˜„์žฌ ๊ฐœ๋ฐœ์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ Exception ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ error๋ฅผ ๋‹ค๋ฃจ๋‹ค Exception ๊ด€๋ จํ•ด์„œ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ 1๋…„ ์ „, ๊ตญ๋น„์ˆ˜์—…์„ ์ •๋ฆฌํ–ˆ๋˜ ๊ธ€ ์ค‘ Exception์„ ๋‹ค๋ฃฌ ๊ธ€์ด ์žˆ๋”๊ตฐ์š”. ๋งํฌ ์˜ˆ์ „์— ํ•œ๋ฒˆ ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ์ธ๋ฐ ์–ด๋А๋ง ๋‹ค์‹œ ์žŠ์–ด๋จน๊ฒŒ ๋˜์–ด ํ•œ๋ฒˆ ๋” ์ •๋ฆฌ๋ฅผ ํ•ด ๋ด…๋‹ˆ๋‹ค. ์˜ˆ์™ธ(Exception) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ ์˜ˆ์™ธ(Exception)์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๊ฐœ๋ฐœ์ž์˜ ์˜๋„์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ •์ƒ์ ์ธ ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„์„ ์–ด๊ธ‹๋‚˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”์˜ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—๋Ÿฌ(Error)๋Š” ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•œ ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.(์—๋Ÿฌ๋ฅผ ์ƒํ™ฉ์„ ์žก์•„๋„ ์ฒ˜๋ฆฌํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.) Exception์—๋Š” Ch..

Languages/java 2022.06.16

[pattern] Iterator Pattern

ํ•ด๋‹น ๊ธ€์€ ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์—์„œ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ Refences๋ž€์— ์ฐธ์กฐํ•œ ๋ธ”๋กœ๊ทธ ์ฃผ์†Œ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ–‰์œ„ ํŒจํ„ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํŒจํ„ดํ™”ํ•œ ๊ฒƒ์œผ๋กœ, ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฑ…์ž„์„ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค. ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์€ ๋ณ€ํ•˜์ง€ ์•Š์ง€๋งŒ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ์งˆ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์‘์šฉ ๋ถ„์•ผ์— ๋”ฐ๋ผ ํ–‰์œ„๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ ์˜ฎ๊ฒจ ๊ฐ€๊ฑฐ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋Œ€์ฒด๋˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ƒ์† ๊ฐœ๋…์„ ์ด์šฉํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ–‰์œ„ ํŒจํ„ด์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ–‰์œ„ ๊ด€๋ จ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰ ํ–‰์œ„ ํŒจํ„ด์€ ๋ฉ”์‹œ์ง€ ๊ตํ™˜๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์œผ๋กœ, ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ํ–‰์œ„๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ํŒจํ„ด์„ ๋งํ•œ๋‹ค.[๋„ค์ด๋ฒ„ ์ง€์‹๋ฐฑ๊ณผ] Gof ๋””์ž์ธ ํŒจํ„ด (์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์†Œํ”„ํŠธ..

CS 2022.06.05

[Book] ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด_์บก์Аํ™”(encapsulation)

[๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด] ์บก์Аํ™”(encapsulation) ์š”์ฆ˜ ์ถœ๊ทผ๊ธธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ •๋ณตํ•ด์•ผํ•  ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด์„ ์ฝ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ดˆ๋ฐ˜๋ถ€๋ฅผ ์ฝ๋Š” ์ค‘์ธ๋ฐ ์ฑ…์„ ์ฝ๋‹ค ๋ณด๋‹ˆ ์บก์Аํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…์ด ๋˜์–ด ์žˆ๋”๊ตฐ์š”. ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ €๋Š” ์บก์Аํ™”์— ๋Œ€ํ•ด์„œ ์ƒ์„ธํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์ง€ ์•Š์€ ์ƒํƒœ์˜€์Šต๋‹ˆ๋‹ค! ์บก์Аํ™” == '๋ฉ”์†Œ๋“œ๋กœ ๋นผ๊ธฐ' ์ •๋„๋กœ๋งŒ ์ธ์ง€ํ•˜๊ณ  ์žˆ๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ฑ…์— ๋‚˜์™€ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์บก์Аํ™”์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์บก์Аํ™” ๊ฐ์ฒด ์ง€ํ–ฅ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฌด์‹ฌ๊ฒฐ์— ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์ ์ธ ์ ˆ์ฐจ ์ง€ํ–ฅ ๋ฐฉ์‹ ์Šต๊ด€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šต๊ด€์„ ๊ณ ์น˜๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๊ทœ์น™์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์บก์Аํ™”๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐœ์˜ ๊ทœ์น™ Tell, Don't Ask ๋ฐ๋ฏธํ…Œ๋ฅด..

TIL 2022.06.02

[pattern]Decorator pattern

[pattern]Decorator pattern ์ด ๋ธ”๋กœ๊ทธ ๊ธ€์€ [Design Pattern] ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด์ด๋ž€ ๊ธ€์„ ๋‚˜๋ฆ„๋Œ€๋กœ ๊ฐ„๋žตํ•˜๊ฒŒ ๊ฐ„์ถ”๋ ค์„œ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์œ„์˜ ๋งํฌ ํ˜น์€ ํ•˜๋‹จ์˜ References๋ฅผ ํ™•์ธํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. Decorator Pattern ๊ฐ์ฒด์˜ ๊ฒฐํ•ฉ ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ๋™์ ์œผ๋กœ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŒจํ„ด์œผ๋กœ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์˜ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์— ๊ฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ Decorator ํด๋ž˜์Šค๋กœ ์ •์˜ ํ•œ ํ›„ ํ•„์š”ํ•œ Decorator ๊ฐ์ฒด๋ฅผ ์กฐํ•ฉํ•จ์œผ๋กœ์จ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ์กฐํ•ฉ์„ ์„ค๊ณ„ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด์„ ํ™œ์šฉํ•˜๋ฉด ํ•„์š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ์กฐํ•ฉ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ(Decorator๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์‹œ) ..

CS 2022.05.15

[java]์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ

์Šคํ„ฐ๋””์—์„œ ๋””์ž์ธํŒจํ„ด์˜ composite ํŒจํ„ด์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•˜๋‹ค ์ƒ์†๋ณด๋‹ค๋Š” ์ปดํฌ์ง€์…˜์„ ์‚ฌ์šฉํ•˜๋ผ๋ผ๋Š” ๋ง์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ๋ง์ธ๊ฐ€ ์‹ถ์–ด ๋‹ค๋ฅธ ๋ถ„์˜ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์„ ๋“ฃ๊ธด ํ–ˆ์ง€๋งŒ ์ž˜ ์™€๋‹ฟ์ง€ ์•Š๋”๊ตฐ์š”. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ๋ณธ์ธ์ด ๊ณต๋ถ€ํ–ˆ๋˜ ๋งํฌ๋ฅผ ๋‚จ๊ฒจ ์ฃผ์…”์„œ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์—ญ์‹œ ๊ธ€๋กœ ์ฝ์–ด์„œ๋„ ์ œ๋Œ€๋กœ ์™€๋‹ฟ์ง€ ์•Š์•„ ์ฝ์€ ๋‚ด์šฉ์„ ์กฐ๊ธˆ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ž‘์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ class Engine {} // The Engine class. class Automobile {} // Automobile class which is parent to Car class. class Car extends Automobile { // Car is an Automobile, so Car class extends Automobile class. ..

Languages/java 2022.05.09

[pattern]Builder pattern ์•Œ์•„๋ณด๊ธฐ

builder ํŒจํ„ด์„ ์˜ˆ์ „์—๋„ ๋ช‡๋ฒˆ ๋“ค์–ด๋ณด๊ธด ํ–ˆ์ง€๋งŒ ๊ด€์‹ฌ์žˆ๊ฒŒ ์‚ดํŽด ๋ณธ ๊ฒƒ์€ ํ•œ๋‘๋‹ฌ? ์ „์œผ๋กœ ์˜ค๋ž˜๋˜์ง€ ์•Š์•˜๋„ค์š”. ์ €๋Š” builder ํŒจํ„ด์ด๋ž€ ๊ฐœ๋…์ด ์ต์ˆ™ํ•ด์ง€๊ธฐ๊นŒ์ง€ ํ•œ๋‹ฌ ์ •๋„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ ๋“ฏ ํ•ฉ๋‹ˆ๋ฐใ… ใ… (๋ฐ”๋ณด...) ์‹œ๊ฐ„๋‚ ๋•Œ ์งฌ์งฌ์ด ๊ฒ€์ƒ‰ํ•ด ๋ณด๊ณ  ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์„ ์ฃผ๋ณ€์— ๋ฌผ์–ด๊ฐ€๋ฉด์„œ ์กฐ๊ธˆ์”ฉ ์ต์ˆ™ํ•ด ์ง„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ „ํ˜€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„ ์ฐธ ๊ณ ์ƒ์„ ๋งŽ์ด ํ–ˆ์—ˆ๋Š”๋ฐ ๋ง์ด์ฃ !! ํšŒ์‚ฌ์—์„œ๋„ ์ง์ ‘ ์จ๋ณด๊ณ  (builder ํŒจํ„ด ์ž‘์„ฑ์„ ํšŒ์‚ฌ์—์„œ ์˜ค๋Š˜ ์ฒ˜์Œ ํ•ด๋ณธ๊ฑด ๋น„๋ฐ€ใ…Žใ…Ž) ๋ช‡๋ฒˆ ๋ณด๋‹ค๋ณด๋‹ˆ ์Šฌ์Šฌ ์ต์ˆ™ํ•ด ์ ธ์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ๋ฐ”๋กœ ์ˆ˜์ • ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ ๋ฐœ๋‹จ ์ถœ์ฒ˜: https://refactoring.guru/design-patterns/builder ์œ„์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ํ•˜..

CS 2022.04.23

[DesignPattern] Factory pattern ์•Œ์•„๋ณด๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•œ์ง€ ์–ด๋А๋ง 1๋…„์ด ๋„˜์—ˆ๋„ค์š”. ๊ทธ๋ ‡์ง€๋งŒ ์ œ๋Œ€๋กœ๋œ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณธ ์ ์ด ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ์ฒซ์ฃผ์ œ์ธ factoryMethod pattern์„ ๊ณต๋ถ€ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ factory pattern์ด ๋‹ค์–‘ํ•œ pattern(Singleton, Builder)์˜ base๊ฐ€ ๋˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ factory pattern์— ๋Œ€ํ•ด ์šฐ์„ ์ ์œผ๋กœ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ์ถ”์ƒํด๋ž˜์Šค์™€ ์ถ”์ƒ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์•Œ๊ณ  ๊ฐ€๋ฉด ์ดํ•ดํ•˜๊ธฐ ์กฐ๊ธˆ ๋” ํŽธํ•  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ฆฌํ•œ ์ฝ”๋“œ๊ฐ€ ๋ณด๊ณ ์‹ถ์œผ์‹  ๋ถ„์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”. GitHub: Factory pattern ํŒจํ‚ค์ง€ Factory pattern Client ์ธก์—์„œ factory๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์›ํ•˜๋Š” Object..

CS 2022.04.17

[Notion] ๋…ธ์…˜์—์„œ git repo ๋ชจ์•„๋ณด๊ธฐ

ํŠน์ •ํ•œ git repo๋“ค์˜ ์ตœ๊ทผ ์ปค๋ฐ‹ ๋‚ด์—ญ๋“ค์„ ํ•œ๋ˆˆ์— ๋ณด๊ณ  ์‹ถ์€ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” notion๊ณผ typora๋ฅผ ์ข…์ข… ์‚ฌ์šฉํ•˜๋Š”๋ฐ notion์— github ์—ฐ๋™ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๊ณ  ํ•œ๋ฒˆ ๊ฒ€์ƒ‰ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋„ค์š”. ๋งŒ์•ฝ notion์„ ๋งค์ผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด git repo๋“ค๋งŒ ๋ชจ์•„ ๋ณด๋Š” page๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. List notion์—์„œ github ๊ณ„์ • ์—ฐ๋™ํ•˜๊ธฐ ์ƒ์„ฑํ•œ ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ์ฃผ์†Œ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ 1. notion์—์„œ github ๊ณ„์ • ์—ฐ๋™ํ•˜๊ธฐ ์ขŒ์ธก ์ƒ๋‹จ์˜ ๋ฉ”๋‰ด -> My connected apps์—์„œ github ์—ฐ๋™์„ ์„ ํƒํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. github ์ด์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์•ฑ๋“ค์ด ์กด์žฌํ•˜๋‹ˆ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋ฉด ์—ฐ๋™ํ•˜์‹œ๋ฉด ..

Tools 2022.04.16

[Cookie]SameSite๋ž€? None, Lax, Strict

์ง€์ธ ์ค‘ ํ•œ๋ถ„์ด cookie์— ๊ด€ํ•˜์—ฌ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธ€์„ ์ฝ๋‹ค ๋ณด๋‹ˆ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋งŽ์ด ๋‚˜์˜ค๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ๊ทธ ๋ถ€๋ถ„์— ๊ด€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Cookie ์ฟ ํ‚ค๋ž€ ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ ์ค‘ ํ•˜๋‚˜๋กœ์„œ ๋ธŒ๋ผ์šฐ์ € -> ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ์ „์†กํ•  ๋•Œ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์— Set-Cookie ํ—ค๋”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด Set-Cookie์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ cookie๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Set-Cookie: ...์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ Response Header์— ํ‘œ์‹œ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์‹ค์ œ ๊ฐœ๋ฐœ์ž๋„๊ตฌ์—์„œ ํ™•์ธํ•œ ๋ชจ์Šต ์ž…๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ๋ณดํ†ต ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์ง€๋ฉฐ, ์ดํ›„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ Cookie ํ—ค๋”์˜ ..

CS 2022.04.03
728x90
๋ฐ˜์‘ํ˜•