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

๋ชฉ๋กfull stack (146)

JiYoung Dev ๐Ÿ–ฅ

[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
[Node.js] ์ฟ ํ‚ค/์„ธ์…˜ (2023.07.06 ~ 07)

์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  → HTTP์˜ ํŠน์„ฑ ๋•Œ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š”(์š”์ฒญ, ์‘๋‹ต) ์—ฐ๊ฒฐ์„ ์œ ์ง€๋˜์–ด์•ผ ํ•จ ๊ทธ๋Ÿฐ๋ฐ ์š”์ฒญ, ์‘๋‹ต์ด ๋๋‚ฌ๋Š”๋ฐ๋„ ๊ณ„์† ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๊ณ„์† ์ž์›์„ ์“ด๋‹ค๋Š” ๊ฒƒ → ๋น„ํšจ์œจ์  ๊ทธ๋ž˜์„œ HTTP๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ์ด๋กœ์ธํ•ด ํŒŒ์ƒ๋˜๋Š” ํŠน์ง•์ธ ๋ฌด์ƒํƒœ(Stateless) ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ๋๋‚˜๋Š” ์ˆœ๊ฐ„ ์•Œ๊ณ ์žˆ์—ˆ๋˜ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋”์ด์ƒ ๊ธฐ์–ตํ•˜์ง€ ์•Š์Œ! ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค์™€ ์„ธ์…˜์ด ํ•„์š”ํ•จ ์ฟ ํ‚ค ์œ ์ง€ํ•ด์•ผํ•˜๋Š” ์ƒํƒœ ์ •๋ณด๋ฅผ ๋ณด๊ด€ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์— ์ €์žฅ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์ด ๋‚จ์•„์žˆ์œผ๋ฉด ์ปดํ“จํ„ฐ๋ฅผ ๋„๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์Œ ์ƒ์„ฑ์€ ์„œ๋ฒ„์—์„œ, ๋ณด๊ด€์€ ํด๋ผ์ด์–ธํŠธ ์ชฝ์—์„œ ์ง„ํ–‰ํ•˜๋ฏ€๋กœ ์‘๋‹ตํ•  ๋•Œ ์ฟ ํ‚ค๋ฅผ ํฌํ•จ์‹œ์ผœ ์‘๋‹ตํ•ด์•ผ ํ•จ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์‘๋‹ตํ•˜๋Š”..

full stack/Back-End 2023. 7. 6. 13:48