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

์ „์ฒด ๊ธ€141

๐Ÿšจ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ์Šคํฌ๋กค ์‹œ ๋‚˜ํƒ€๋‚œ ๊ฒฝ๊ณ  ์Šคํฌ๋กค์„ ํ•˜๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.์Šคํฌ๋กค ์ฝœ๋ฐฑ์€ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ธก์ •์ด๋‚˜ ๋ ˆ์ด์•„์›ƒ ๋‹จ๊ณ„ ์ค‘์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ณ ,๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ์˜ ๊ตฌ์กฐ ๋˜๋Š” ์–ด๋Œ‘ํ„ฐ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์€ ๋‹ค์Œ ํ”„๋ ˆ์ž„์œผ๋กœ ์—ฐ๊ธฐํ•ด์•ผํ•œ๋‹ค๋Š” ๋‚ด์šฉ์ด์—ˆ๋‹ค.Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be po.. 2024. 10. 13.
๐Ÿ™Œ๋ฌดํ•œ ์Šคํฌ๋กค ์†์ˆ˜ ๊ตฌํ˜„ํ•ด๋ณด๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—์˜ํ™”๋ฅผ ๊ฒ€์ƒ‰ํ•œ ํ›„ ์˜ํ™” ํฌ์Šคํ„ฐ๋“ค์„ ํ™”๋ฉด์— ๋„์šธ ๋•Œ "๋ฌดํ•œ ์Šคํฌ๋กค " ์„ ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋‹ค.๋ฌดํ•œ ์Šคํฌ๋กค์„ ์†์ˆ˜ ๊ตฌํ˜„ํ•˜๋ฉด ๊ฒช์€ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ คํ•œ๋‹ค. ๋ฌดํ•œ ์Šคํฌ๋กค์˜ ๋‚ด์šฉ์„ ๋จผ์ € ์ •๋ฆฌํ•ด๋ณด์ž ๋ฌดํ•œ ์Šคํฌ๋กค์ด๋ž€?๋ฌดํ•œ ์Šคํฌ๋กค์ด๋ž€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•  ๋•Œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋™์ ์œผ๋กœ ๋กœ๋“œ๋˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์ค„์–ด๋“ ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค!๊ฒ€์ƒ‰์–ด์— ๋”ฐ๋ผ์„œ ํ•ด๋‹นํ•˜๋Š” ์˜ํ™” ๋ชฉ๋ก์„ page๋ณ„๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์„ค๊ณ„๋œ ์„œ๋ฒ„ api๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด page๋ฅผ ์ด์šฉํ•œ ๋ฌดํ•œ ์Šคํฌ๋กค์„ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ๋ฐ”๋กœ ๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋ณด์žฅ๊ตฌํ˜„๋œ ๋ฌดํ•œ ์Šคํฌ๋กค์ด๋‹ค !!  ๋ฌดํ•œ ์Šคํฌ๋กค ํŒ๋‹จ์•„๋ž˜ ๋กœ์ง์— ๋”ฐ๋ผ ์Šคํฌ๋กค์ด ์ตœํ•˜๋‹จ์— ๋„๋‹ฌํ–ˆ์Œ์„ ํŒ๋‹จํ•ด์„œ ๋‹ค์Œ ํŽ˜์ด์ง€ ๋ฐ.. 2024. 10. 12.
launch๋Š” ๊ธฐ๋‹ค๋ ค์ฃผ์ง€ ์•Š๋Š”๋‹ค. (async, await , first etc) ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—๐Ÿฅ์˜ค๋Š˜ ๋ง‰ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.launch ์˜ ์“ฐ์ž„์ƒˆ์šฐ์„  ๊ฐœ๋ฐœ ์ค‘์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด launch๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.viewModelScope.launch { ``` }lifecycleScope.launch { ``` } ์œ„ ์ฝ”๋“œ๋Š” ๊ฐ๊ฐ ๋ทฐ๋ชจ๋ธ๊ณผ ์•กํ‹ฐ๋น„ํ‹ฐ ๋˜๋Š” ํ”„๋ž˜๊ทธ๋จผํŠธ์™€ ๊ฐ™์€ ํŠน์ • ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ˆ˜๋ช…์ฃผ๊ธฐ์— ์—ฐ๊ฒฐ๋œ ์ฝ”๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๋‚˜๋„ ๋”ฑ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ์•Œ๊ณ  launch๋ฅผ ์‚ฌ์šฉํ•ด์™”๋‹ค... ์šฐ์„  ์˜ค๋Š˜ ๊ตฌํ˜„ํ•œ ๊ฒƒ์€ ์˜ํ™”๋ช…์„ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์—ˆ๋‹ค.์ด ๋•Œ api๋ฅผ ์ด 3๊ฐœ ํ˜ธ์ถœํ•ด์ฃผ์–ด์•ผํ–ˆ๋‹ค.์•„๋ž˜์™€ ๊ฐ™์ด A api ํ˜ธ์ถœ ๊ฒฐ๊ณผ ๋ฐ›์€ ๊ฐ์ƒ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๊ฐ์ƒ๋ฌธ์˜ id๋ฅผ ์–ป๊ณ , ๊ทธ id๋ฅผ ํ†ตํ•ด B api๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์˜ํ™” ์ •๋ณด๋ฅผ ์–ป๋Š”๋‹ค.์˜ํ™” ์ •๋ณด์—์„œ ์˜ํ™” id ๊ฐ’์„ ํ†ตํ•ด C api๋ฅผ .. 2024. 10. 11.
๊ตฌํ˜„ ๋ฌธ์ œ ๋ฐฉํ–ฅ๋ฒกํ„ฐ ์ž˜ ํ™œ์šฉํ•˜๊ธฐ !๋ถ -> ๋™ -> ๋‚จ -> ์„œ ๋ฐฉํ–ฅ์œผ๋กœ dx = [-1,0,1,0]dy = [0,1,0,-1]nx = x + dx[์ธ๋ฑ์Šค]ny = y + dy[์ธ๋ฑ์Šค] ๋ฒ”์œ„ ์•ˆ์— ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•  ๋•Œ ๋‚˜๋Š” ๋ถ,๋™,๋‚จ,์„œ ์ผ ๋•Œ x ์ขŒํ‘œ, y ์ขŒํ‘œ ๋ชจ๋‘๋ฅผ ๋‹ค ๋‚˜๋ˆ ์„œ ์กฐ์‚ฌํ•ด์ฃผ์—ˆ๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์ด nx,ny๋ฅผ ๊ตฌํ•˜๊ณ  ํ•ด๋‹น ์ขŒํ‘œ๊ฐ€ ๋ฒ”์œ„ ๋‚ด๋ถ€์— ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค.0 2024. 9. 29.
728x90