๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ193

[ch.15] ์ž…์ถœ๋ ฅ I/O - ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ ByteArray I/O ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…์ถœ๋ ฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ŠคํŠธ๋ฆผ. ์ฃผ๋กœ ๋‹ค๋ฅธ ๊ณณ์— ์ž…์ถœ๋ ฅ ํ•˜๊ธฐ ์ „์— ์ž„์‹œ๋กœ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์— ๋‹ด์•„์„œ ๋ณ€ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์— ์‚ฌ์šฉํ•จ. ์‚ฌ์šฉํ•˜๋Š” ์ž์›์€ ์˜ค์ง ๋ฉ”๋ชจ๋ฆฌ์ž„. GC์— ์˜ํ•ด์„œ ์ž๋™์ ์œผ๋กœ ์ž์›์ด ๋ฐ˜ํ™˜๋˜๋ฏ€๋กœ close()์‚ฌ์šฉ X. ํ•œ๋ฒˆ์— 1byte ์ฝ๊ณ ์“ฐ๊ธฐ๋งŒ ํ•ด์„œ ์ž‘์—…ํšจ์œจ์ด ๋–จ์–ด์ง. “๋ฐฐ์—ด”์ด์šฉ์‹œ ์ž…์ถœ๋ ฅ ์ž‘์—…ํšจ์œจ์ด ๋†’์•„์ง. read( )๋‚˜ write( )๊ฐ€ IOException์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— try-catch๋ฌธ์œผ๋กœ ๊ฐ์‹ธ์คŒ. available( ): ํ•ด๋‹น ์Šคํฌ๋ฆผ์—์„œ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐ”์ดํŠธ์˜ ์ˆ˜๋ฅผ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์Œ. ์ •ํ™•ํ•œ๊ฐ’์€ X. File I/O ํŒŒ์ผ์— ์ž…์ถœ๋ ฅ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ŠคํŠธ๋ฆผ. ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋งŽ์ด ์‚ฌ์šฉํ•จ. ํ…์ŠคํŠธํŒŒ์ผ์€ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์Šค.. 2023. 11. 21.
[์Šคํ”„๋ง๋ถ€ํŠธ ํ€ต์Šคํƒ€ํŠธ] ch.1 ์Šคํ”„๋ง๋ถ€ํŠธ ๋“ฑ์žฅ ๋ฐ ํ€ต์Šคํƒ€ํŠธ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ•์˜ ๋“ฃ๊ธฐ ์ „ ์ „์ฒด ํ๋ฆ„์„ ์žก๊ณ ์ž ์ฑ… ํ•œ ๋ฒˆ ํ›‘๊ณ  ๊ฐ•์˜ ๋“ฃ๊ธฐ๋กœ ํ•จ โ€‹ โ–ถ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ๋“ฑ์žฅ ์Šคํ”„๋ง๋ถ€ํŠธ : ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ์ •๋„๋กœ ์ดํ•ดํ•˜๊ธฐ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ web Framwork โ‘ RoR (๊ฒฝ๋Ÿ‰) Ruby๋กœ ๋งŒ๋“ฆ โ‘กFlask&Djang (๊ฒฝ๋Ÿ‰) โ‘ขNode.js&Nest.js (๊ฒฝ๋Ÿ‰) โ‘ฃSpring : Enterprise, ๋ฌด๊ฑฐ์›€ ⇒ (๊ฒฝ๋Ÿ‰ํ™”, ์œ„์˜ ๊ฒƒ๋“ค๊ณผ ๊ฒฝ์Ÿํ•˜๋ ค๊ณ ) ⇒ SpringBoot ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ์žฅ์ (์Šคํ”„๋ง๊ณผ์˜ ์ฐจ์ด์ ) ์Šคํ”„๋ง๋ถ€ํŠธ ์Šคํ”„๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ์˜ ์ž๋™ํ™” : ์Šคํƒ€ํ„ฐ๋ผ๋Š” ๊ฒƒ์„ ์ด์šฉํ•ด์„œ ํŠน์ • ๊ธฐ๋Šฅ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ์„ ๋”์šฑ ๊ฐ„๋‹จํžˆ ์ฒ˜๋ฆฌํ•จ(์‰ฝ๊ฒŒ ๋งํ•ด ๊ธฐ๋Šฅ๋ณ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง€) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „ ์ž๋™ ๊ด€๋ฆฌ : ์Šคํ”„๋ง๋ถ€ํŠธ ๋ฒ„์ „์— ํ•ด๋‹นํ•˜๋Š” ๊ด€๋ จ ๋ผ.. 2023. 11. 20.
[Node.js] Node.js ๋ง›๋ณด๊ธฐ javaScript ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ error๋ถ€๋ถ„์—์„œ ๋‚˜์˜จ node.js ์ •๋ฆฌ ํ•จ์ˆ˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰์„ ์ค‘์ง€ํ•˜๊ณ , ๊ทธ ์˜ค๋ฅ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์žฅ์†Œ๋กœ ์ „๋‹ฌ๋จ express๋Š” ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•จ. ๊ทธ๋ฆฌ๊ณ  ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด, (์˜ค๋ฅ˜๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ•œ ๋‹ค์Œ)๊ธฐ๋ณธ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‹คํ–‰ํ•จ "ํ•จ์ˆ˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰์„ ์ค‘์ง€ํ•˜๊ณ , ๊ทธ ์˜ค๋ฅ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์žฅ์†Œ๋กœ ์ „๋‹ฌ๋จ": ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์˜ค๋ฅ˜(์˜ˆ์™ธ)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜์˜ ์‹คํ–‰์ด ์ค‘๋‹จ๋˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์œ„์น˜์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์˜ค๋ฅ˜๊ฐ€ ์ „ํŒŒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” try...catch ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•  ์ˆ˜ ์žˆ์Œ "express๋Š” ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•จ. ๊ทธ๋ฆฌ๊ณ  ๋ผ์šฐํŠธ ํ•ธ๋“ค๋Ÿฌ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด,.. 2023. 11. 20.
[ch.15] ์ž…์ถœ๋ ฅ I/O I/O Input, Output ์ž…์ถœ๋ ฅ, ์žฅ์น˜์™€ ํ”„๋กœ๊ทธ๋žจ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ ๋ฐ›๊ธฐ NIO๋ผ๋Š” ๊ฒƒ๋„ ์žˆ์Œ(non-blocking I/O) ์ŠคํŠธ๋ฆผ ์ž…์ถœ๋ ฅ์—์„œ์˜์ŠคํŠธ๋ฆผ์€ 14์žฅ์˜์ŠคํŠธ๋ฆผ๊ณผ๋Š” ๋‹ค๋ฅธ๊ฐœ๋…. 15์žฅ์˜ ์ŠคํŠธ๋ฆผ์€ I/O๋ฅผ ์‰ฝ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์šด๋ฐ˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ฒฐํ†ต๋กœ. ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ ๋งŒ ๊ฐ€๋Šฅํ•จ. ์ž…/์ถœ๋ ฅ ๋™์‹œ์— ์ˆ˜ํ–‰ ์‹œ 2๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์ด ํ•„์š”ํ•จ. ๋จผ์ €๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ๋ฐ›์Œ. ์ค‘๊ฐ„์— ๊ฑด๋„ˆ๋œ€ ์—†์ด ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ ๋ฐ›๊ธฐ. ์–ด๋–ค๋Œ€์ƒ์„ ์ž‘์—…ํ•˜๋Š”์ง€?์ž…๋ ฅ/์ถœ๋ ฅ์ธ์ง€? ๊ณ ๋ คํ•ด์„œ ํ•ด๋‹น ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•จ. ์ŠคํŠธ๋ฆผ์˜ ์ตœ๊ณ ์กฐ์ƒ InputStream Read. ์ฝ๊ธฐ๋ฅผ ๋„์™€์คŒ(๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜) OutputStream Write. ์“ฐ๊ธฐ๋ฅผ ๋„์™€์คŒ(๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜) ๋ณด์กฐ์ŠคํŠธ๋ฆผ ์ŠคํŠธ๋ฆผ์˜ ๊ธฐ๋Šฅ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•จ. ์ŠคํŠธ๋ฆผ ๊ธฐ์„ ํ–ฅ์ƒ๊ณผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ• .. 2023. 11. 20.
[ch.14] Optional<T>์™€ OptionalInt Optional ์ง€๋„ค๋ฆญ ํด๋ž˜์Šค. Tํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๊ฐ์‹ธ๋Š” ๋ž˜ํผํด๋ž˜์Šค. Optionalํƒ€์ž…์˜ ๊ฐ์ฒด์—๋Š” ๋ชจ๋“  ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Œ. Optional ๊ฐ์ฒด์ƒ์„ฑ Optionalํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ Optional.empty(): T ํƒ€์ž…์˜ ๋นˆ Optional ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” public static ๋ฉ”์„œ๋“œ. Optional ๊ฐ์ฒด์— ์ €์žฅ๋œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ Optional ๊ฐ์ฒด์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ŠคํŠธ๋ฆผ ๋ฉ”์„œ๋“œ filter( ), map( ), flatMap( ) Optional๊ฐ’์ด null์ด๋ฉด ์ด ๋ฉ”์„œ๋“œ๋“ค์€ ์•„๋ฌด์ผ๋„ ํ•˜์ง€ ์•Š์Œ. boolean์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ Stream์˜๋ฉ”์„œ๋“œ์ค‘ Optional๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ ๊ณตํ†ต์  : null์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ํฐ ๊ฒƒ๋“ค, ์ŠคํŠธ๋ฆผ์ด ๋น„์–ด์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ. Op.. 2023. 11. 20.
[Git] Unix ๋ช…๋ น์–ด VS PowerShell * ์œˆ๋„์šฐ๋ฉด PowerShell ์ตํžˆ๊ธฐ * ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ช…๋ น์–ด ๋น„๊ตํ•˜๋ฉฐ ์ตํžˆ๊ธฐ๊ธฐ ์œ ๋‹‰์Šค์‰˜์„ ์ตํžˆ๋ฉด ๋ฆฌ๋ˆ…์Šค, ๋งฅ, ์œˆ๋„์šฐ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ ๋‚˜์˜ ํ™˜๊ฒฝ(์œˆ๋„์šฐ)์—์„œ WSL์ด ์žˆ์œผ๋‚˜ ๋ฒ„์ „ ๋“ฑ ๊ด€๋ฆฌ ๊นŒ๋‹ค๋กœ์›€ → PowerShell์„ ์‚ฌ์šฉํ•˜์ž PowerShell : CMD๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๋ฉฐ ์šด์˜์ฒด์ œ์˜ ๋ชจ๋“  ์„œ๋น„์Šค์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ฒœ ์ฐจ์ด์  : ์œ ๋‹‰์Šค์‰˜์€ TEXT๋กœ ์ด๋ฃจ์–ด์ง VS ํŒŒ์›Œ์‰˜์€ ๊ฐ์ฒด์œ„์ฃผ๋กœ ์ด๋ฃจ์–ด์ง ๋‘˜ ๋‹ค ์„ฑ๊ฒฉ์ด ๋‹ค๋ฅด์ง€๋งŒ ํŒŒ์›Œ์‰˜์—์„œ Aliases๋ฅผ ์ œ๊ณตํ•ด์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•จ PowerShell ๋‹ค์šด๋กœ๋“œ ๋งํฌ (๋‚˜๋Š” Window 64) https://github.com/PowerShell/PowerShell/releases/tag/v7.3.7 PowerShell VS Unix ๋ช…๋ น์–ด PowerShell (.. 2023. 11. 20.
[๋…ธ์…˜] ์‹ฌํ”Œํ•œ ํŒ€ํ”„๋กœ์ ํŠธ ๋…ธ์…˜ ํ…œํ”Œ๋ฆฟ ์–‘์‹ ๊ณต์œ  https://ginger-edam-26b.notion.site/97c9105a76e641b791df40cd58cec3e7?pvs=4 ํŒ€ํ”„๋กœ์ ํŠธ ๋…ธ์…˜ ์–‘์‹ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ๊ธฐํš์— ํ•„์š”ํ•œ ์ž๋ฃŒ์กฐ์‚ฌ ์ทจํ•ฉ๊ณผ ํšŒ์˜ ๊ธฐ๋ก์„ ๋ชจ์œผ๊ธฐ ์œ„ํ•ด ๋…ธ์…˜ ํŒ€ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๋…ธ์…˜์„ ์•Œ๊ฒŒ๋˜๊ณ  ๋ฉฐ์น  ์•ˆ์ง€๋‚˜์„œ ํŒ€ ๋…ธ์…˜๋‹ด๋‹น์ด ๋˜์—ˆ๋‹ค. ๋งก์€ ์—ญํ• ์— ์ถฉ์‹คํ•˜๊ธฐ ์œ„ํ•ด ์œ ํŠœ๋ธŒ ๋ฒผ๋ฝ์น˜๊ธฐ์™€ ์ง€์ธ์˜ ๋„์›€์œผ๋กœ ๊ธฐ๋Šฅ์„ ์ตํžˆ๊ณ  ๋งŒ๋“ค์—ˆ๋‹ค. ๋…ธ์…˜ ์ดˆ๋ณด ๋•Œ ๋งŒ๋“  ํ…œํ”Œ๋ฆฟ์ด๋ผ ๋งค์šฐ ์‹ฌํ”Œํ•จ. ์ž์œ ๋กญ๊ฒŒ ๋ณต์ œ์™€ ๋ณ€ํ˜• ๊ฐ€๋Šฅํ•œ ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค. ๐Ÿšจ ๋ณต์ œํ•˜์„ธ์š”!! ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ์–‘์‹์€ ์ง€์šฐ์…”๋„ ๋ฉ๋‹ˆ๋‹ค ๋ฉ”์ธํ™”๋ฉด ๊ฐ„๋‹จํ•œ ์„ค๋ช… ๋ฉ”์ธ ํ™”๋ฉด ์ƒ๋‹จ : ํŒ€ ๊ณต์ง€์‚ฌํ•ญ / ๊ฐ์ข… ๊ฒŒ์‹œํŒ / ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ (๋ฉ”์ธ ํ™”๋ฉด ๋‚ด์˜ ์žฅ์†Œ๋กœ) ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ํ”„๋กœ์ ํŠธ ์ผ์ • ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•ด์„œ ํ•ด์•ผํ•  ์—…๋ฌด.. 2023. 11. 20.