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

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

JiYoung Dev ๐Ÿ–ฅ

[Android] intent (2023.07.14)

Android 4๋Œ€ ์ปดํฌ๋„ŒํŠธ (๊ตฌ์„ฑ์š”์†Œ) 1. Activity (xml + kt) - ํŽ˜์ด์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„ - manifest.xml ํŒŒ์ผ์— ๋“ฑ๋ก ํ›„ ์‚ฌ์šฉ 2. Service (kt) - ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋™์ž‘ (App์„ ๊บผ๋„ ์‹คํ–‰) - ex) ์œ„์ ฏ, ๋„ค๋น„, ์•Œ๋žŒ, ์‹œ๊ณ„, GPS, ์Œ์•… ์–ดํ”Œ 3. Broadcast Receiver (๊ฐ์ฒด) - ํ•ธ๋“œํฐ์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  ์ผ์„ ๊ฐ์ง€ - ex) ๋ฌธ์ž ๋„์ฐฉ, ์ „ํ™” ์˜ค๋Š” ๊ฑฐ ๊ฐ์ง€(ํ›„ํ›„), ๋ณผ๋ฅจํ‚ค ๋ˆŒ๋ €๋‹ค, ํ”๋“ค์—ˆ๋‹ค, ์ž ๊ธˆํ™”๋ฉด ํ•ด์ œ... 4. Content Provider (๊ฐ์ฒด) - ์–ดํ”Œ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉ - ex) ์นดํ†ก ↔ ์—ฐ๋ฝ์ฒ˜ ๋™๊ธฐํ™” ์ด ๋ชจ๋“  ๊ฑธ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋กœ Intent subActivity ์ถ”๊ฐ€ ๋‹ค์šด๋ฐ›๊ฑฐ๋‚˜ ๋ณต๋ถ™ํ•ด์„œ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ..

[Android] ์ž๋ฃŒ๊ตฌ์กฐ (2023.07.14)

์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฃŒ๊ตฌ์กฐ : ๊ฐ’(Data)๋‚˜ ์ž‘์—…(Process)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ List(๋ฐฐ์—ด) ์ˆœ์ฐจ์ (์ธ๋ฑ์Šค) ์„ ํ˜• ๊ตฌ์กฐ Stack ํ•œ์ชฝ์ด ๋ง‰ํ˜€์žˆ๋Š” ๊ตฌ์กฐ ์„ ์ž…ํ›„์ถœ ์„ ํ˜• ๊ตฌ์กฐ ์ฃผ๋กœ ์ €์žฅํ•˜๋Š” ์šฉ๋„ Queue ์–‘์ชฝ์ด ๋šซ๋ ค์žˆ๋Š” ๊ตฌ์กฐ ๋“ค์–ด๊ฐ€๋Š” ๊ณณ์œผ๋กœ๋Š” ๋‚˜์˜ฌ ์ˆ˜ ์—†๋‹ค ์„ ์ž…์„ ์ถœ ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก์‹œ ์‚ฌ์šฉ (๋‹จ๋ฐฉํ–ฅ ์ „์†ก) → ์ „์†ก์šฉ Queue๋ฅผ stream์ด๋ผ๊ณ  ๋ถ€๋ฆ„ (Input stream, Output stream ๋”ฐ๋กœ ์กด์žฌ → I/O) ์„ ํ˜• ๊ตฌ์กฐ ์„ ํ˜•๊ตฌ์กฐ ํŠน์ง• ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€/์‚ญ์ œ์— ๋ถˆ๋ฆฌ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์‹œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณต์‚ฌ, ์ž„์‹œ๋กœ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š” → ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ํฌ๊ณ  ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ์ž๋ฃŒ ๊ตฌ์กฐ → Linked List ๋งํฌ๋ฅผ ๋Š๊ณ  ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ํ›„ ๋‹ค์‹œ ์—ฐ๊ฒฐ → ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€/์‚ญ์ œ์— ์šฉ์ด s..

[Android] constraint layout (2023.07.11)

Constraint Layout(๊ทœ์•ฝ) 1. ๊ทœ์•ฝ์ด ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด ํ™”๋ฉด์˜ (0,0) ์œ„์น˜ (๋งจ์™ผ์ชฝ, ๋งจ์œ„)๋กœ ์ด๋™ 2. ์ขŒ/์šฐ(ํƒ1), ์ƒ/ํ•˜(ํƒ1)๋ผ๋„ ๊ทœ์•ฝ์„ ๋งบ์–ด์ค˜์•ผ ํ•จ 3. ์ขŒ/์šฐ(ํƒ1), ์ƒ/ํ•˜(ํƒ1) ์ค‘ ํ•˜๋‚˜๋งŒ ๊ทœ์•ฝ์„ ๋งบ์œผ๋ฉด → ์—ฌ๋ฐฑ(์ ˆ๋Œ€๊ฐ’), ํ™”๋ฉด ํ•ด์ƒ๋„(ํฌ๊ธฐ)์™€ ์ƒ๊ด€์—†์Œ, ์‹ค์„ ์œผ๋กœ ํ‘œํ˜„ 4. ์ขŒ/์šฐ(๋ชจ๋‘), ์ƒ/ํ•˜(๋ชจ๋‘) ๊ทœ์•ฝ์„ ๋งบ์œผ๋ฉด → ๋น„์œจ๋กœ ์œ„์น˜๋ฅผ ๊ฒฐ์ •(์ƒ๋Œ€๊ฐ’), ํ™”๋ฉด ํ•ด์ƒ๋„(ํฌ๊ธฐ)์— ๋น„๋ก€ํ•จ. ์šฉ์ˆ˜์ฒ  ๋ชจ์–‘์œผ๋กœ ํ‘œํ˜„ 5. ๊ทœ์•ฝ์€ ํ™”๋ฉด๊ณผ ๋งบ์„์ˆ˜๋„ ์žˆ๊ณ  ํ™”๋ฉด์ด ์•„๋‹Œ ๋‹ค๋ฅธ view์™€ ๊ทœ์•ฝ์„ ๋งบ์„ ์ˆ˜๋„ ์žˆ์Œ match_contraint : ๋‚˜์—๊ฒŒ ์ฃผ์–ด์ง„ ์ œ์•ฝ์กฐ๊ฑด ํฌ๊ธฐ์— ๋”ฑ ๋งž์ถฐ์„œ XML๋งŒ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ Activity (xml + kt) layout ์ถ”๊ฐ€

[Node.js] Socket ํ†ต์‹  (2023.07.10)

http ํ†ต์‹  ํ†ต์‹ ์ˆœ์„œ : ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๋“ค์–ด์™€์•ผ ์„œ๋ฒ„์ชฝ์—์„œ ๊ทธ์— ์•Œ๋งž๋Š” ์‘๋‹ต์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹ ์„œ๋ฒ„๊ฐ€ ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•จ socket ํ†ต์‹  ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์ง€๋Š” ํ†ต์‹ ์œผ๋กœ, ํด๋ผ์ด์–ธํŠธ๋„ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ณ  ์„œ๋ฒ„๋„ ํด๋ผ์ด์–ธํŠธ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ์˜ˆ๋ฅผ๋“ค์–ด ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ Node.js์—์„œ๋Š” Socket.IO npm ๋ชจ๋“ˆ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ๋ชจ๋“ˆ ์„ค์น˜ npm install socket.io ์„œ๋ฒ„์ชฝ ์†Œ์ผ“ //์„œ๋ฒ„์ชฝ ์†Œ์ผ“ ์ž‘์„ฑ const socketIO = require('socket.io') //์–ด๋Š ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ด ๋œ ์ƒํƒœ๋กœ ์“ธ ๊ฒƒ์ธ์ง€ ์ •์˜๋ฅผ ํ•ด์ค˜์•ผ ํ•จ (ex.port) //express server module.exports = (serve..

full stack/Back-End 2023. 7. 10. 13:47