๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
-
[Java] ๋์์ธ ํจํด (Singleton ํจํด)Android/Java 2021. 1. 5. 22:50
์ด ๊ธ์ "์ธํ๋ฐ Java ๋์์ธ ํจํด" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๊ธ์ ์์ฑํ์์ต๋๋ค. Singleton ํจํด์ด๋? ์ด ํจํด์ ์ฃผ๋ก ์ธ์คํด์ค ์์ฑ์ ํ๋ฒ ํ ํ ์ ๊ตฌ์ญ์์ ๊ฐ์ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ํจํด์ ๋๋ค. ์ด ํจํด์ ์ฌ์ฉํ๋ฉด ์ ์ญ ์ธ์คํด์ค์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํด๋์ค์์ ๋๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ์ฝ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ํ์ง๋ง ์ฌ๋ฌ ํด๋์ค์์ ์ฑ๊ธํค ์ธ์คํด์ค๊ฐ ํธ์ถ๋๊ณ ์ฌ์ฉ๋๋ค๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๊ฒฐํฉ๋๋ ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์๋ ๋๊ธฐํ ์์ ์ด ํ์์ ์ผ๋ก ์งํ๋์ด์ผ ํฉ๋๋ค. (์ฌ๋ฌ ์ธ์คํด์ค ์์ฑ ๊ฐ๋ฅ์ฑ์ด ์๋ค.) ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ ์ง์คํธ๋ฆฌ ๊ฐ์ ๋จ ํ๋๋ก ์กด์ฌํด์ผ ์๋ฏธ๊ฐ ์์ ๋ ์ฌ์ฉํ๋ฉด ํจ๊ณผ์ ์ ๋๋ค. Singleton ์ฌ์ฉ public class Singleto..
-
[Java] ๋์์ธ ํจํด (Factory ํจํด)Android/Java 2021. 1. 5. 09:43
์ด ๊ธ์ "์ธํ๋ฐ Java ๋์์ธ ํจํด" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑํ์์ต๋๋ค. Factory ํจํด์ด๋? Builder ํจํด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํจํด์ ๋๋ค. ์ด ํจํด์ ๊ฐ์ฒด ์ฌ์ด์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉํ๋ ํจํด์ ๋๋ค. Factory ํจํด์ ์ธํฐํ์ด์ค๋ ์ถ์ ํด๋์ค๋ก ์ ์ธ์ ํ๊ณ ๋ด๋ถ์์๋ ์ด๋ค ๊ฐ์ฒด๊ฐ ์์ฑ์ด ๋๋์ง ๋ชจ๋ฅด๋๊ฒ ํต์ฌ์ ๋๋ค. ์ฆ, ํด๋์ค์ ์ธ์คํด์ค๋ ์๋ธ ํด๋์ค์์ ๊ฒฐ์ ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ตฌ์ ํด๋์ค (new๋ก ์ง์ ์์ฑ)๋ฅผ ๊ธฐ๋ฐํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด, ๋์ค์ ์ฝ๋ ์์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๊ณ ์ ์ฐ์ฑ์ด ๋จ์ด์ง๊ฒ ๋ฉ๋๋ค. ์๋๋ก์ด๋์์ ์๋ก์ด Fragment๋ฅผ ์์ฑํ ๋, Factory ํจํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ตณ์ด import ํ์ง ์์๋ ๋์ด ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ..
-
[Android] Recycler View ์ฌ์ฉ๋ฒAndroid 2021. 1. 4. 21:49
์ด ๊ธ์ Recycler View ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ๊ธ์ ๋๋ค. RecyclerView ๋? RecyclerView๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐ ์ฌ์ฉ๋๋ View ์ ๋๋ค. ๋ง์ ๋ฐ์ดํฐ๊ฐ ์์ ์ ์คํฌ๋ฆฐ์ ์๋๋ก ๋ด๋ฆด ๋, RecyclerView๋ view๋ฅผ ์์ ์ง ์๊ณ ์ฌ์ฌ์ฉํฉ๋๋ค. ListView์์ Adapter์ getView ๋ฉ์๋์์ convertView๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ์ด ์ฌ์ฌ์ฉ์ ๋ง์ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์ฑ์ ๋ฐ์์ฑ์ ํฅ์์ํค๊ณ ์๋น ์ ๋ ฅ์ ์ค์ผ ์ ์์ต๋๋ค. ์ฃผ์ ํด๋์ค RecyclerView ๋ฐ์ดํฐ์ ์ผ์นํ๋ ๋ทฐ๋ฅผ ํฌํจํ๋ ViewGroup, view ์์ฒด๋ ๋ ์ ์์ด์ ๋ค๋ฅธ UI ์์์ฒ๋ผ ๋ ์ด์์ ๋ด์ ํฌํจ์ํฌ ์ ์์ต๋๋ค. ViewHolder ๋ฆฌ์คํธ ๋ด์ ๊ฐ ์..
-
[Java] ๋์์ธ ํจํด (Builder ํจํด)Android/Java 2021. 1. 3. 21:55
์ด ๊ธ์ "์ธํ๋ฐ Java ๋์์ธ ํจํด" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑํ์์ต๋๋ค. Builder ํจํด์ด๋? ์๋๋ก์ด๋, ์๋ฐ ๊ฐ๋ฐ์ ํ ๋ ์์ฃผ ์ฐ์ด๋ ํจํด ์ค ํ๋์ ๋๋ค. Builder ํจํด์ ํด๋์ค ์์ฑ ํจํด์ผ๋ก ๋ฉค๋ฒ ๋ณ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ค์ํ ์์ฑ์๊ฐ ํ์ํ๋ค๋ ๋จ์ ์ ํด๊ฒฐํ ์ ์๋ ํจํด์ ๋๋ค. Builder ํจํด์ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ๊ฐ๋ ์ฑ์ด ๋์์ง๊ณ ์ ์ง๋ณด์๋ฅผ ํธ๋ฆฌํ๊ฒ ํ ์ ์์ต๋๋ค. ๋ํ, ๊ฐ์ฒด ์์ฑ๋ ๊น๋ํ ํ ์ ์์ต๋๋ค. ์๋๋ก์ด๋์์ NotificationCompat์ ์๋ฐ์์ StringBuilder์์ Builder ํจํด์ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. Builder ํจํด ์ฌ์ฉ Student ๊ฐ์ฒด์ Builder ํจํด์ ์ฌ์ฉํ์์ต๋๋ค. ์๋ Student์ ์ ๋ณด( ํ๋ฒ..
-
[Network] ๋คํธ์ํฌ ์ ์ฒด ํ๋ฆ(3)Network 2020. 12. 30. 13:02
์ด ๊ธ์ "๋ชจ๋์ ๋คํธ์ํฌ" ์ฑ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์น ์๋ฒ์์์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ์ฒ๋ฆฌ ๋ค์๊ณผ ๊ฐ์ด ๋คํธ์ํฌ๊ฐ ๊ตฌ์ฑ๋์ด ์๊ณ ์ค์์น B์์ ์น ์๋ฒ์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ์ ์ ๋ํด ์ค๋ช ํ๋๋ก ํ๊ฒ ์ต๋๋ค ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ์ ๊ธฐ ์ ํธ๋ก ์น ์๋ฒ์ ๋์ฐฉํ๋ฉด ์น ์๋ฒ๋ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์์ ์ด๋๋ท ํ๋ ์์ ๋ชฉ์ ์ง MAC ์ฃผ์์ ์์ ์ MAC ์ฃผ์๋ฅผ ๋น๊ตํฉ๋๋ค. ์ฃผ์๊ฐ ๊ฐ๋ค๋ฉด ์ด๋๋ท ํค๋์ ํธ๋ ์ผ๋ฌ๋ฅผ ๋ถ๋ฆฌํ๊ณ ๋คํธ์ํฌ ๊ณ์ธต์ ์ ๋ฌํฉ๋๋ค. 3. ๋คํธ์ํฌ ๊ณ์ธต์์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ชฉ์ ์ง IP ์ฃผ์์ ์น ์๋ฒ์ IP ์ฃผ์๊ฐ ๊ฐ์์ง ํธ๊ฐ์ธํฉ๋๋ค. ์ฃผ์๊ฐ ๊ฐ์ผ๋ฉด IP ํค๋๋ฅผ ๋ถ๋ฆฌํ๊ณ ์ ์ก ๊ณ์ธต์ ์ ๋ฌํฉ๋๋ค. 4. ๋ค์์ ์ ์ก ๊ณ์ธต์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ชฉ์ ์ง ํฌํธ๋ฅผ ํ์ธํ์ฌ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ ๋ฌํด์ผ ํ๋์ง ํ๋จํ๊ณ TCP..
-
[Network] ๋คํธ์ํฌ ์ ์ฒด ํ๋ฆ(2)Network 2020. 12. 30. 11:50
์ด ๊ธ์ "๋ชจ๋์ ๋คํธ์ํฌ" ์ฑ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์ค์์น์์์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ์ฒ๋ฆฌ ๋ค์ ๋คํธ์ํฌ ๊ตฌ์ฑ ์ค ์ค์์น A์์ ๋ฐ์ดํฐ์ ์ ๋ฌ๊ณผ ์ฒ๋ฆฌ ๊ณผ์ ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ปดํจํฐ์์ ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ์ ํธ๋ฅผ ๋ณํ๋์ด ์ ๋ฌ๋๋ฉด ์ค์์น A์์ ๋ฌผ๋ฆฌ๊ณ์ธต์์ ๋ค์ ์ ๊ธฐ์ ํธ๋ฅผ ๋นํธ๋ก ๋ณํํฉ๋๋ค. ์ค์์น์๋ MAC ํ ์ด๋ธ์ด ์กด์ฌํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์์ ๋ชฉ์ ์ง MAC์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด ์ฃผ๋ ์ญํ ์ ํ๋๋ฐ ํ์ฌ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๋ผ์ฐํฐ A๋ง ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ผ์ฐํฐ A์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค. ๋ค์ ๋ฌผ๋ฆฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ ์ ํธ๋ก ๋ณํํ์ฌ ๋ผ์ฐํฐ A์ ์ ์กํฉ๋๋ค. ๋ผ์ฐํฐ์์์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ์ฒ๋ฆฌ ๋ผ์ฐํฐ A์์์ ์บก์ํ์ ์ญ์บก์ํ์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์ค์์น A์์ ๋ค์ด์ค๋ ..
-
[Network] ๋คํธ์ํฌ ์ ์ฒด ํ๋ฆ(1)Network 2020. 12. 30. 10:43
์ด ๊ธ์ "๋ชจ๋์ ๋คํธ์ํฌ" ์ฑ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ๋คํธ์ํฌ ๊ตฌ์ฑ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๋คํธ์ํฌ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ์น ์ฌ์ดํธ์ ์ ์ํ ๋ OSI ๋ชจ๋ธ ์์ ์์ฉ ๊ณ์ธต๋ถํฐ ํ์ ๋ฌผ๋ฆฌ ๊ณ์ธต๊น์ง ๊ฐ๊ฐ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง ์ค๋ช ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ตฌ์ฑ๋ ๋คํธ์ํฌ๋ 192.168.1.0/24, 172.16.0.0/16, 192.168.10.0/24 ๋ก ์ด 3๊ฐ์ ๋คํธ์ํฌ๋ก ๋๋์ด์ ธ ์์ต๋๋ค. ์ ์ฒด ๋ชจ์ต์ OSI ๋ชจ๋ธ๋ก ๋ํ๋ธ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๋๋ค. ์ปดํจํฐ์ ๋ฐ์ดํฐ๊ฐ ์ ๊ธฐ ์ ํธ๋ก ๋ณํ๋๋ ๊ณผ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ปดํจํฐ์ ์น ๋ธ๋ผ์ฐ์ ์์ URL์ ์ ๋ ฅํ ๋๋ถํฐ ์น ์๋ฒ์ ๋์ฐฉํ ๋๊น์ง ์ด๋ฃจ์ด์ง๋ OSI ๋ชจ๋ธ์ ์บก์ํ์ ์ญ์บก์ํ ๊ณผ์ ์ ์ ์ดํดํด์ผ ํฉ๋๋ค. ์น ์ฌ์ดํธ์ ์ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ฉ ๊ณ์ธต๋ถํฐ ์์ํฉ๋๋ค. ..
-
[Network] OSI ์์ฉ ๊ณ์ธต(Application Layer)Network 2020. 12. 27. 22:10
์ด ๊ธ์ "๋ชจ๋์ ๋คํธ์ํฌ" ์ฑ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ฉ ๊ณ์ธต์ ์ญํ ์น ํ์ด์ง๋ฅผ ๋ณผ ๋๋ ์น ๋ธ๋ผ์ฐ์ , ๋ฉ์ผ์ ๋ณด๋ด๊ณ ๋ฐ์ ๋ ๋ฉ์ผ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์๊ฐ ํ๊ณ ์ถ์ ์ผ์ ํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๋น์ค๋ฅผ ์์ฒญํ๋ ์ธก์ ํด๋ผ์ด์ธํธ, ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ธก์ ์๋ฒ๋ผ๊ณ ํฉ๋๋ค. ์์ฉ ๊ณ์ธต์์๋ ์ฌ์ฉ์ ์ธก(ํด๋ผ์ด์ธํธ)์ ์์ฒญ์ ์ ๋ฌํ๊ธฐ ์ํด ํต์ ๋์(์๋ฒ)์ด ์ดํดํ ์ ์๋ ๋ฉ์์ง๋ก(๋ฐ์ดํฐ)๋ก ๋ณํํ๊ณ ์ ์ก ๊ณ์ธต์ ์ ๋ฌํ๋ ์ญํ ์ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์์ ์๋ฒ ์ธก์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด์๋ ์์ฉ๊ณ์ธต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. WWW๋? WWW๋ World Wide Web์ ์ฝ์ด๋ก ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋์ด ์๋ ์ปดํจํฐ๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋ ์ ์ธ๊ณ์ ์ธ..