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

์ „์ฒด ๊ธ€

(387)
[Java] I/O Buffer ์ถœ์ฒ˜ChatGPThttps://velog.io/@mmy789/Java-NIO-3 [Java] NIO - ๋ฒ„ํผ๋ฒ„ํผ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!velog.io ๋ฒ„ํผ๋ž€? Buffer๋ฒ„ํผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด๋‹ค. ์ฃผ๋กœ ์ž…์ถœ๋ ฅ (I/O) ์ž‘์—…์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค. ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 1. ์ž…์ถœ๋ ฅ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ž…์ถœ๋ ฅ ์žฅ์น˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ CPU๋ณด๋‹ค ์†๋„๊ฐ€ ๋А๋ฆฌ๊ธฐ ๋–„๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ „์†กํ•˜๋ฉด ๋งค์šฐ ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฒ„ํผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ •๋Ÿ‰ ๋ชจ์•„ ํ•œ ๋ฒˆ์— ์ „์†Œํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.CPU์™€ ์ž…์ถœ๋ ฅ ๊ธฐ๊ธฐ์˜ ์†๋„ ์ฐจ์ดCPU๋Š” ์ดˆ๋‹น ์ˆ˜์‹ญ์–ต ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์† ์žฅ์น˜์ด๋‹ค.์ž…๋ ฅ์ถœ ๊ธฐ๊ธฐ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆฐ ์žฅ์น˜์ด๋‹ค. ์˜ˆ๋ฅผ ..
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] RPC Remote Procedure Call ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ ์ถœ์ฒ˜ChatGPThttps://www.ibm.com/docs/ko/aix/7.3?topic=concepts-remote-procedure-call ๋ฆฌ๋ชจํŠธ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ(RPC)์€ ์šด์˜ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ƒ์œ„ ๋ ˆ๋ฒจ ํ†ต์‹  ๋ฒ”๋ก€๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. RPC๋Š” ํ†ต์‹  ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ๋ฉ”์‹œ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด TCP/IP (Transmission Control Protocol/Intwww.ibm.comhttps://ko.wikipedia.org/wiki/%EC%9B%90%EA%B2%A9_%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80_%ED%98%B8%EC%B6%9C ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ..
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ถœ์ฒ˜https://brunch.co.kr/@wegra/20 [๊ฐœ๋ฐœ ์ƒ์‹] 3๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋“ฑ์žฅ๊ณผ ๋ถ€ํฅ3๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋“ฑ์žฅ ์ˆœ์„œ์™€ ๋ถ€ํฅ ์ˆœ์„œ๊ฐ€ ๋ฐ˜๋Œ€์ธ ์ด์œ ๋Š”? | โ˜… ์—ญ์‹œ๋‚˜ ์˜ค๋ž˜์ „์—, ์ง€์ธ๊ป˜ ๊ฐ„๋žตํžˆ ์„ค๋ช…๋“œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•ด๋‘” ๊ธ€์ž…๋‹ˆ๋‹ค. ๊นŠ๊ฒŒ ์กฐ์‚ฌํ•ด์„œ ์ •๋ฆฌํ•œ ๊ฑด ์•„๋‹ˆ๋‹ˆ ๊ฐ์•ˆํ•ด์„œ ๊ฐ€brunch.co.kr https://www.spri.kr/download/22433https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS4313717600 ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(functional programming)์ด๋ž€?์›ํ•˜๋Š” ๋งŒํผ ํ•จ์ˆ˜์ ์ด ๋˜์–ด๋ผ.ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(functional programming)์€ ๋ณธ์งˆ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ˆ˜..
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ถœ์ฒ˜https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„(programming paradigm)์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ํ˜•ํƒœ์ด๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์„ ํ•  ๋•Œ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ํ˜•ํƒœ์ธ ๋ฐฉ๋ฒ•๋ก ๊ณผ ๋น„๊ต๋œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌko.wikipedia.orghttps://ko.wikipedia.org/wiki/%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84 ํŒจ๋Ÿฌ๋‹ค์ž„ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ํ”„ํ†จ๋ ˆ๋งˆ์ด์˜ค์Šค์˜ ์šฐ์ฃผ ์ฝ”..
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ์ •์  ํƒ€์ž… ์ง€์ • ์–ธ์–ด ์ถœ์ฒ˜ChatGPT์ฝ”ํ‹€๋ฆฐ ์ธ ์•ก์…˜์ •์  ํƒ€์ž… ์ง€์ • ์–ธ์–ด๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์ปดํŒŒ์ผ ์‹œ์ ์— ๊ฒฐ์ •๋˜๋Š” ์–ธ์–ด. ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํƒ€์ž…์„ ์ปดํŒŒ์ผ ์‹œ์ ์— ์•Œ ์ˆ˜ ์žˆ๊ณ  ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ๊ฐ์ฒด์˜ ํ•„๋“œ๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํƒ€์ž…์„ ๊ฒ€์ฆํ•ด์ค€๋‹ค. ํŠน์ง•1. ์ปดํŒŒ์ผ ์‹œ ํƒ€์ž… ๊ฒ€์‚ฌ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๋™์•ˆ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ํ™•์ธํ•˜๊ณ , ์ž˜๋ชป๋œ ํƒ€์ž… ์‚ฌ์šฉ์„ ํƒ์ง€ํ•œ๋‹ค. ์‹คํ–‰ ์ „์— ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์–ด ์•ˆ์ •์„ฑ์ด ๋†’๋‹ค.2. ๋ช…์‹œ์ ์ธ ํƒ€์ž… ์„ ์–ธ๋Œ€๋ถ€๋ถ„์˜ ์ •์  ํƒ€์ž… ์–ธ์–ด๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๊ทธ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž๋ฐ”์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ํƒ€์ž…์„ ํ•จ๊ป˜ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.int age = 25; // int ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธ 3. ์ปดํŒŒ์ผ ํƒ€์ž… ์ตœ์ ํ™”์ปดํŒŒ์ผ๋Ÿฌ๋Š”..
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ์˜์—ญ ํŠนํ™” ์–ธ์–ด, Domain Specific Language ์ถœ์ฒ˜https://devfoxstar.github.io/development/dsl/ ๋„๋ฉ”์ธ ํŠนํ™” ์–ธ์–ด (DSL - Domain Specific Language)์ •์˜ DSL - Domain Specific Language…devfoxstar.github.iohttps://ko.wikipedia.org/wiki/%EB%8F%84%EB%A9%94%EC%9D%B8_%ED%8A%B9%ED%99%94_%EC%96%B8%EC%96%B4 ๋„๋ฉ”์ธ ํŠนํ™” ์–ธ์–ด - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ๋„๋ฉ”์ธ ํŠนํ™” ์–ธ์–ด(Domain-specific language)๋Š” ํŠน์ •ํ•œ ๋„๋ฉ”์ธ์„ ์ ์šฉํ•˜๋Š”๋ฐ ํŠนํ™”๋œ ์ปดํ“จํ„ฐ ์–ธ์–ด์ด๋‹ค. ์ด๋Š” ์–ด๋А ๋„๋ฉ”์ธ์—์„œ๋‚˜ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ”์šฉ ์–ธ์–ด(General-purpose la..
[Java] I/O Stream ์ถœ์ฒ˜https://blog.naver.com/jwyoon25/221300691133 ์ž๋ฐ” ์ŠคํŠธ๋ฆผ API์™€ I/O'์ž๋ฐ” ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ'์˜ ๋‹ค์Œ ์ฑ•ํ„ฐ๋Š” ์ŠคํŠธ๋ฆผ(stream)์ด๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ๋™์ž‘, ์ฆ‰ ...blog.naver.com Head First JavaChatGPThttps://www.geeksforgeeks.org/java-io-tutorial/ Java IO Tutorial - GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and prac..
[Java] ๋ฎคํ…์Šค Mutex & ์„ธ๋งˆํฌ์–ด Semaphore ์ถœ์ฒ˜ChatGPT 1. ๋ฎคํ…์Šค MutexMutaul Exclusion์˜ ์•ฝ์ž.ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ๊ณต์œ  ์ž์›์— ์ ‘๊ทผํ•˜๋„๋ก ๋ณด์žฅํ•œ๋‹ค.Lock Mechanism ์ž ๊ธˆ ๋งค์ปค๋‹ˆ์ฆ˜๋ฝ(lock)์€ ์ž์›์„ ์‚ฌ์šฉํ•  ๋Œ€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์˜ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜๊ณ , ์ž์›์˜ ์†Œ์œ ๊ถŒ์„ ๊ฐ–๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ฎคํ…์Šค๋Š” ์ž์›์„ ์ž ๊ทธ๋Š”(lock) ์—ญํ• ์„ ํ•˜๋ฉฐ, ๊ทธ ์ž์›์€ ๋ฎคํ…์Šค๋ฅผ ์†Œ์œ ํ•œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.Lock Mechanism์˜ ์ž‘๋™ ๋ฐฉ์‹์Šค๋ ˆ๋“œ๋Š” ์ž์›์— ์ ‘๊ทผํ•  ๋•Œ ๋ฝ์„ ํš๋“ํ•œ๋‹ค.์ž์› ์‚ฌ์šฉ์ด ๋๋‚˜๋ฉด ๋ฝ์„ ํ•ด์ œํ•ด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.ํŠน์ง•๋ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ์Šค๋ ˆ๋“œ๋งŒ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ณ , ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ๋ฝ์ด ํ•ด์ œ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•ด์•ผ ํ•œ๋‹ค.๋ฎคํ…์Šค๋Š” ๋‹จ์ผ ์Šค๋ ˆ๋“œ์˜ ์ ‘๊ทผ๋งŒ์„ ํ—ˆ์šฉํ•ด ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.๊ตฌํ˜„์ž๋ฐ”์—์„œ๋Š” synchron..