๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (142)

Tech Log ๐Ÿ› ๏ธ

[๋ฐฑ์ค€] 11723 ์ง‘ํ•ฉ JAVA

๋ถ„์„ ๋น„ํŠธ๋งˆ์Šคํ‚น์„ ์ด์šฉํ•˜์—ฌ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋น„ํŠธ๋งˆ์Šคํ‚น์ด๋ž€? - ์ปดํ“จํ„ฐ๋Š” ๋ชจ๋“  ์ž๋ฃŒ๋ฅผ ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์“ฐ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๋น„ํŠธ๋งˆ์Šคํ‚น์„ ํ†ตํ•ด ์Šค์œ„์น˜,๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋น„ํŠธ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ - ๋น„ํŠธ๋งˆ์Šคํฌ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1. a | b - a์˜ ๋ชจ๋“  ๋น„ํŠธ์™€ b์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ OR ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ex) a=1 , b=1 ์ผ๋•Œ a | b = 1 a=1 , b=0 ์ผ๋•Œ a | b = 1 a=0 , b=0 ์ผ๋•Œ a | b = 0 2. a & b - a์˜ ๋ชจ๋“  ๋น„ํŠธ์™€ b์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ AND ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ex) a=1 , b=1 ์ผ๋•Œ a & b = 1 a=1 , b=0 ์ผ๋•Œ a & b = 0 a=0 , b=0 ..

[TIL] ์„ธ์…˜ ์ธ์ฆ๊ณผ ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹

์ธ์ฆ๊ณผ ์ธ๊ฐ€ ์ธ์ฆ : ์œ ์ € ํ™•์ธ ์ ˆ์ฐจ ex) ๋กœ๊ทธ์ธ , ํšŒ์›๊ฐ€์ž… ์ธ๊ฐ€ : ํ•ด๋‹น ์œ ์ €๊ฐ€ ์ ์ ˆํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง€ ํ™•์ธ ex) ๊ธ€ ์ˆ˜์ • , ์‚ญ์ œ ๋“ฑ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…๋“ค HTTP์˜ ํŠน์„ฑ HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š” stateless ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ €์˜ ๋กœ๊ทธ์ธ ์ •๋ณด ๋˜ํ•œ ๊ธฐ์–ตํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋งค๋ฒˆ ์š”์ฒญ๋งˆ๋‹ค ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•ด์•ผํ•˜๋Š”๋ฐ ์ด๋Š” ๋น„ํšจ์œจ ์ ์ด๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์œ ์ €์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ธ์…˜ ์ธ์ฆ๊ณผ ํ† ํฐ ์ธ์ฆ์ด ์žˆ๋‹ค. ์„ธ์…˜ ์ธ์ฆ ์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ์„ธ์…˜์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ์„ธ์…˜์— ๋งž๋Š” ์„ธ์…˜ID๋ฅผ ์œ ์ €์˜ ์ฟ ํ‚ค๋กœ ์ €์žฅํ•œ๋‹ค. ๋‹ค์Œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์œ ์ €์˜ ์„ธ์…˜ID์™€ ์„œ๋ฒ„์˜ ์„ธ์…˜ID๋ฅผ ๋น„๊ตํ•ด์„œ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๊ณ  ์ธ๊ฐ€ํ•œ๋‹ค. ์žฅ์  1. ์„œ๋ฒ„์— ์„ธ์…˜์„ ..

TIL 2023. 3. 22. 01:06
VoIP์˜ ์ดํ•ด

VoIP์˜ ๋“ฑ์žฅ ๊ธฐ์กด ์ „ํ™”๋ง์€ ์‚ฌ์šฉ์‹œ๊ฐ„๊ณผ ๊ฑฐ๋ฆฌ์— ๋”ฐ๋ฅธ ์ข…๋Ÿ‰์ œ์—ฌ์„œ ๋งŽ์€ ์š”๊ธˆ์ด ๋ถ€๊ณผ๋์ง€๋งŒ ์ธํ„ฐ๋„ท ๋ง์„ ์ด์šฉํ•œ ํ†ต์‹ ์€ ์ •์•ก์ œ๋กœ ์šด์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์œผ๋กœ ์š”๊ธˆ์— ๋Œ€ํ•œ ๋ถ€๋‹ด์ด ์ ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ CBN์˜ ์ „ํ™” ์‹œ์Šคํ…œ์„ PBN์—์„œ ๋™์ž‘์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํ‘œ์ค€ํ™”๊ฐ€ ์ง„ํ–‰๋˜์—ˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ ๊ธฐ์—…์ด ์ด ํ‘œ์ค€์— ๋งž๊ฒŒ ์‹œ์Šคํ…œ๋“ค์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. ์ดˆ์ฐฝ๊ธฐ์—๋Š” VoATM , VoFR , VoIP ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” VoIP๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. Voice Gateway (์Œ์„ฑ ๊ฒŒ์ดํŠธ์›จ์ด) - PSTN๊ณผ IP(์ด๊ธฐ์ข… ๋ง)์„ ์—ฐ๋™ํ•˜๋Š” ์žฅ๋น„ - ์ด๋”๋„ท ์ธํ„ฐํŽ˜์ด์Šค , PSTN ์ธํ„ฐํŽ˜์ด์Šค ํŠธ๋ ํฌ ๊ฒŒ์ดํŠธ์›จ์ด - PBX์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ E1 ํŠธ๋ ํฌ๋ฅผ ์ง‘์ ํ•˜๋Š” ์Œ์„ฑ ๊ฒŒ์ดํŠธ์›จ์ด ์•„๋‚ ๋กœ๊ทธ ๊ฒŒ์ดํŠธ์›จ์ด - PBX๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ , ์•„๋‚ ๋กœ๊ทธ ์ „ํ™”๊ธฐ ๋ฐ ํŒฉ์Šค ..

์ „ํ™”๋ง์˜ ์ดํ•ด

VOIP ๋“ฑ์žฅ ์ด์ „ ์ „ํ™”๋ง์˜ ๊ตฌํ˜„ ๋ฐฉ์‹๊ณผ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ํƒ๊ตฌํ•˜๊ณ  VOIP์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. PSTN - ๋Œ€ํ˜• ํšŒ๋กœ ์Šค์œ„์น˜ํ˜• ๋„คํŠธ์›Œํฌ - ๊ตฌ์„ฑ์š”์†Œ 1. ์ „ํ™”๊ธฐ, RJ-11 2. IDF - ์ „ํ™”๊ธฐ๋“ค์˜ ์Šค์œ„์น˜๋ฅผ ์ค‘๊ณ„ํ•œ๋‹ค. 3. MDF - ์ฃผ๋กœ ๋นŒ๋”ฉ์ด๋‚˜ ๊ตฌ๋‚ด ํ†ต์‹ ์‹ค์— ์œ„์น˜ํ•˜๋ฉฐ IDF๊ฐ€ ๋ชจ์ž„ 4. PBX - ์Šค์œ„์น˜ ๊ตํ™˜ ์‹œ์Šคํ…œ์ด๋ฉฐ MDF ๋“ค์ด ๋ชจ์ž„ 5. E1 ํŠธ๋ ํฌ - PBX ๋ผ๋ฆฌ์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๊ทœ๊ฒฉ 6. Tandem Switch - ๊ตํ™˜๊ธฐ์™€ ๊ตํ™˜๊ธฐ๋ผ๋ฆฌ์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ณผ๊ฑฐ ์ „ํ™”๋ง์„ ์ด์šฉํ•œ ํ†ต์‹  ๋ฐฉ์‹ - ๊ณผ๊ฑฐ์—๋Š” MDF ๋‹จ์žํ•จ๊ณผ ์ „ํ™” ๊ตํ™˜๊ธฐ๋ฅผ ์ˆ˜์ž‘์—…์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ์—ˆ์œผ๋ฉฐ, ์ด๋•Œ ์ „ํ™”๊ธฐ์™€ ํฌํŠธ์˜ ๋งคํ•‘ ์ •๋ณด๋Š” ์„ ๋ฒˆ์žฅ์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค. ์ด๋•Œ ๊ทœ๋ชจ๊ฐ€ ํฐ ํ†ต์‹  ์‹œ์Šคํ…œ์€ PBX ๋ผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. PBX -..

๋ฐฑ์ค€ 1260๋ฒˆ) DFS์™€ BFS java

๋ถ„์„ ์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๋ฉด bfs์™€ dfs์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„์•ผํ•œ๋‹ค. dfs, bfs๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ๋ฐ, ๊ตฌํ˜„ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋ฏ€๋กœ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋œ๋‹ค. (*๊ทธ๋ž˜ํ”„ : ๋…ธ๋“œ์™€ ๊ฐ„์„ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ผ์ข…) ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(bfs) - ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋‹ค์Œ ๋ถ„๊ธฐ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ํ•ด๋‹น ๋ถ„๊ธฐ๋ฅผ ์™„์ „ํ•˜๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ์Šคํƒ , ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์ข€ ๋” ๊ฐ„๋žตํ•œ ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•ด์•ผํ•˜๊ฑฐ๋‚˜ , ๊ทธ๋ž˜ํ”„๊ฐ€ ํฐ ๊ฒฝ์šฐ ์‚ฌ์šฉ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(bfs) - ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ฅผ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ  ๋ฉ€๋ฆฌ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ๋‚˜์ค‘์— ๋ฐฉ๋ฌธํ•œ๋‹ค. ํ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ ์ฝ”๋“œ impo..

๋ฐฑ์ค€ 3085๋ฒˆ) ์‚ฌํƒ• ๊ฒŒ์ž„ java

๋ถ„์„ ์™„์ „ํƒ์ƒ‰ ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ๋ฌด์‹ํ•˜๊ฒŒ ๋‹ต์„ ์ฐพ๋Š” ์ˆ˜ ๋ฐ–์—๋Š” ์—†๋‹ค.. ์ธ์ ‘ํ•œ ์‚ฌํƒ•์˜ ์ƒ‰์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค๊ณ  ํ•˜์˜€์ง€๋งŒ ๊ทธ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฑฐ ์ž์ฒด๊ฐ€ ๋” ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์‚ฌํƒ•์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๋ฉด์„œ ๋น„๊ตํ•ด๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌํƒ•์„ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 1. ์˜†์ž๋ฆฌ๋ผ๋ฆฌ ๋ฐ”๊พธ๊ธฐ 2. ์œ„์•„๋ž˜๋กœ ๋ฐ”๊พธ๊ธฐ ์ด๋ ‡๊ฒŒ ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์„œ ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ๋น„๊ต๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค. ์‚ฌํƒ•์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ๋˜ํ•œ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ 1. ๊ฐ€๋กœ์ค„๋กœ ์‚ฌํƒ•์œผ๋กœ ๋จน๋Š” ๊ฒฝ์šฐ 2. ์„ธ๋กœ ์ค„๋กœ ์‚ฌํƒ•์„ ๋จน๋Š” ๊ฒฝ์šฐ ์ด ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ์‚ฌํƒ•์˜ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ๊ฐ๊ฐ ๋น„๊ตํ•ด์ฃผ๋ฉด ๋œ๋‹ค ! ์ฝ”๋“œ import java.util.Arrays; import java.util.Scanner; public class Ma..

[java] ์ œ๋„ค๋ฆญ

์ œ๋„ค๋ฆญ์ด๋ž€? ์–ด๋–ค ํด๋ž˜์Šค์— ์•„์ง ํ˜•ํƒœ๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž์ด ํ•„๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ ์–ธํ•ด์ค˜์•ผํ• ๊นŒ? ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ Object ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ์ด๋Ÿด ๊ฒฝ์šฐ ํƒ€์ž…์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ•„๋“œ๊ฐ’์„ ์–ป์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. instanceof ์—ฐ์‚ฐ์ž๋กœ ํƒ€์ž…์„ ์กฐ์‚ฌํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์กฐ์‚ฌํ•  ์ˆ˜๋Š” ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์•„์ง ํƒ€์ž…์ด ์ •ํ•ด์ง€์ง€์•Š์€ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๊ฒƒ์ด "์ œ๋„ค๋ฆญ"์ด๋‹ค. ์ œ๋„ค๋ฆญ์ด๋ž€ ๊ฒฐ์ •๋˜์ง€ ์•Š์€ ํƒ€์ž…์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ค์ œ ์‚ฌ์šฉํ•  ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์œผ๋กœ ๋Œ€์ฒด์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์ผ๋‹จ ํƒ€์ž…์„ ์„ ์–ธํ•œ ํ›„์— ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์€ ๋‚˜์ค‘์— ์„ค์ •ํ•˜๋Š” ๊ฑฐ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. publ..

TIL 2023. 3. 7. 02:28
[jpa] OSIV ์„ฑ๋Šฅ ์ตœ์ ํ™”

OSIV๋ž€ OSIV(Open Session In View)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์ดˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜ ์‹œ์ž‘ ์‹œ์ ๋ถ€ํ„ฐ API ์‘๋‹ต์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€DB ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ทฐ์™€ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ง€์—ฐ ๋กœ๋”ฉ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. *ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘ํ• ๋•Œ DB์ปค๋„ฅ์…˜์„ ํš๋“ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ „๋žต์€ ํฐ ๋‹จ์ ์ด ์žˆ๋Š”๋ฐ, ๋„ˆ๋ฌด ์˜ค๋žœ ์‹œ๊ฐ„ DB ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•จ์œผ๋กœ ์ธํ•ด ๋ฆฌ์†Œ์Šค ๋ถ€์กฑ ์žฅ์• ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.๋”ฐ๋ผ์„œ ์ƒํ™ฉ์— ๋งž๋Š” OSIV ์ „๋žต์ด ํ•„์š”ํ•˜๋‹ค. OSIV ๋™์ž‘ ๋ฐฉ์‹ jpa์—์„œ๋Š” OSIV์˜ ๊ธฐ๋ณธ๊ฐ’์„ true (์‚ฌ์šฉ)์œผ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. 1. ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ๋‚˜ ์Šคํ”„๋ง ์ธํ„ฐ์…‰ํ„ฐ์—์„œ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 2. ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋กœ ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•œ..

jpa 2023. 3. 5. 18:03
[flask] ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ํ†ตํ•œ ๋ผ์šฐํŠธ ํ•จ์ˆ˜ ๊ด€๋ฆฌ

๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ž€ ํ”Œ๋ผ์Šคํฌ์˜ ๋ธ”๋ฃจ ํ”„๋ฆฐํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ผ์šฐํŠธ ํ•จ์ˆ˜๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด, ์ƒˆ๋กœ์šด url์ด ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค ๋™์ผํ•œ ํ•จ์ˆ˜๋‚ด์— ๊ณ„์† ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋Š” ๋งˆ์น˜ ํด๋” ๋ณ„๋กœ ํŒŒ์ผ์„ ์ •๋ฆฌํ•˜๋“ฏ ๋ผ์šฐํŠธ ํ•จ์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธ”๋ฃจ ํ”„๋ฆฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „ from flask import Flask def create_app(): app = Flask(__name__) @app.route('/') def hello_pybo(): return 'Hello, Pybo!' return ์ƒˆ๋กœ์šด url์ด ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค create_app ํ•จ์ˆ˜ ๋‚ด์— ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ํ˜„์žฌ๋Š” hello_pybo ํ•จ์ˆ˜๋ฅผ app.route ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•˜์—ฌ ๋งคํ•‘ํ•˜์˜€๋‹ค. ๋ธ”๋ฃจ ํ”„๋ฆฐ..