์ ์ฒด ๊ธ199 [์๋๋ก์ด๋] SharedPreference ์ฌ์ฉ๊ณผ ScrollView Event ์ก๋คํ ์๋ก ์กธ์ ํ๋ก์ ํธ ๊ธฐํ์ด ๋๋๊ณ ์๋๋ก์ด๋ ๊ฐ๋ฐ์ ์์ํ๊ฒ ๋์๋ค. ๊ทธ์ ์ ์ฐ๋ฆฌ ํ์ ์ํฉ์ ์๊ธฐํด๋ณด์๋ฉด ์๋๋ฅผ ์น+๋ฅ๋ฌ๋์ผ๋ก ๊ธฐํ์ ํ ํฐ๋ผ ์คํ๋ง๊ณผ ๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃฐ ์ค ์๋ ํ์๋ค๋ก ํ์ ๊ตฌ์ฑํ๋ค. ๊ทธ๋ฐ๋ฐ ์ค์๊ฐ ๋ ธํธ ๋ณํ์ ํด์ฃผ๋ TarsosDSP๊ฐ ์๋๋ก์ด๋์ ์ ํฉํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์ด์ ์๋๋ก์ด๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๊ณ , ์ฌ์ฉ์๊ฐ ๋ ธ๋๋ฅผ ํ๋ฉด ๊ทธ๊ฒ์ ์๋ผ์ฃผ๋ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฅ๊ณ ๋ ์ฌ์ฉํ๊ฒ ๋์๋ค. ๊ทธ๋ฌ๋๋ ์๋์ฒ๋ผ ์ผ๋ ๋ฒ๋ ๊ตฌ์กฐ๊ฐ ๋์๋ค. ๋ฉํ ๋๊ป ์ฌ์ญค๋ณด๋ ๊ด์ฐฎ๋ค๊ณ ๋ ํ์ จ์ง๋ง, ์๋ฒ์ ๊ธฐ๋ฅ์ด ๋๋ ์ ธ์๋ค๋ ๊ฒ์ด ์กฐ๊ธ ์ด์ํ๋ค๊ณ ํด์ ๊ทธ๋ฅ ์๋๋ก์ด๋ ์์์ ๋ชจ๋ ๊ฒ์ ํด๊ฒฐํ๊ธฐ๋ก ํ๋ค. ์ด๋ ๊ฒ ๊ตฌํํด๋ ์๋ํ๋๋ฐ ๋ฌธ์ ๋ ์์ ๊ฒ ๊ฐ์์. ์ด๋ฏธ ๊ตฌํ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ด๋๋ก ๊ตฌํํ.. 2022. 5. 17. [Spring Boot] IntelliJ๋ก ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ IntelliJ ํ๋ก์ ํธ ์์ฑํ๊ธฐ create new project gradle ์ ํ groupId, artifactId ๋ฑ๋ก groudId : ์์ ์ด ๋ง๋ค๊ณ ์ถ์ ๋๋ฉ์ธ์ ๋ค์ง์ด ๋์ ๊ฒ ex) nitro.webpage.com -> com.webpage.nitro artifactId : ํ๋ก์ ํธ์ ์ด๋ฆ์ด ๋๋ค. Gradle ํ๋ก์ ํธ๋ฅผ Spring ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ด๋ณด์๋ ๊ฐ๊ฐ์ ์์กด์ฑ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ๋จผ์ ์์์ผ ํ๋ฏ๋ก ์ฌ๊ธฐ์์๋ start.spring.io๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ผ์ผํ dependency๋ฅผ ์ถ๊ฐํ๋ค. ํ์ฌ ์ด ์ฑ ์ 2019๋ ์ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ๋ฒ์ ์ด์๊ฐ ์๋ค. ๊ทธ๋์ ์ผ๋จ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐ๋ผ ๋ฒ์ ์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค. https://jojoldu.tistory.com/539?catego.. 2022. 3. 10. [Clean Code] 7์ฅ ์ค๋ฅ ์ฒ๋ฆฌ TIL (Today I Learned) 22.03.04~22.03.05 ์ค๋ ์ฝ์ ๋ฒ์ 7์ฅ ์ค๋ฅ ์ฒ๋ฆฌ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ ์ค๋ฅ ์ฝ๋๋ณด๋ค ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ // ์ค๋ฅ ์ฝ๋ ์ฌ์ฉ public void sendShutDown() { DeviceHandle handle = getHandle(DEV1); if (handle != DeviceHandle.INVALID) { ... } } // ์์ธ ์ฌ์ฉ public void sendShutDown() { try { DeviceHandle handle = getHandle(DEV1); } catch (DeviceShutDownError e) { logger.log(e); } } try-catch-finally ๋ฌธ๋ถํฐ ์์ฑํ๋ผ try ๋ธ๋ก์์ ๋ฌด์จ ์ผ์ด ์๊ธฐ๋ ์ง.. 2022. 3. 5. [Clean Code] 6์ฅ ๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐ TIL (Today I Learned) 22.03.01 ์ค๋ ์ฝ์ ๋ฒ์ 6์ฅ. ๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ ์๋ฃ ์ถ์ํ ๊ตฌํ์ ๊ฐ์ถ๋ ค๋ฉด ์ถ์ํ๊ฐ ํ์ํ๋ค. ์กฐํ ํจ์์ ์ค์ ํจ์๋ก ๋ณ์๋ฅผ ๋ค๋ฃฌ๋ค๊ณ ํด๋์ค๊ฐ ๋์ง๋ ์๋๋ค. ๊ทธ๋ณด๋ค๋ ์ถ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด ์ฌ์ฉ์๊ฐ ๊ตฌํใ ๋ฅด ๋ชจ๋ฅธ ์ฑ ์๋ฃ์ ํต์ฌ์ ์กฐ์ํ ์ ์์ด์ผ ์ง์ ํ ์๋ฏธ์ ํด๋์ค๋ค. ์๋ฃ/๊ฐ์ฒด ๋น๋์นญ ๊ฐ์ฒด ์งํฅ ์ฝ๋์์ ์ด๋ ค์ด ๋ณ๊ฒฝ์ ์ ์ฐจ์ ์ธ ์ฝ๋์์ ์ฌ์ฐ๋ฉฐ, ์ ์ฐจ์ ์ธ ์ฝ๋์์ ์ด๋ ค์ด ๋ณ๊ฒฝ์ ๊ฐ์ฒด ์งํฅ ์ฝ๋์์ ์ฝ๋ค! 1) ๊ฐ์ฒด : ๋์์ ๊ณต๊ฐํ๊ณ ์๋ฃ๋ฅผ ์จ๊ธด๋ค. - ์ฅ์ : ๊ธฐ์กด ํจ์๋ฅผ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์ ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ธฐ ์ฝ๋ค. - ๋จ์ : ๊ธฐ์กด ๊ฐ์ฒด์ ์๋ก์ด ํจ์๋ฅผ ์ถ๊ฐํ๊ธฐ๋ ์ด๋ ต๋ค. 2) ์๋ฃ ๊ตฌ์กฐ(์ ์ฐจ์งํฅ) : ๋ณ๋ค๋ฅธ ๋์ ์.. 2022. 3. 2. [Clean Code] 4์ฅ ์ฃผ์ TIL (Today I Learned) 22.02.25~22.02.26 ์ค๋ ์ฝ์ ๋ฒ์ 4์ฅ ์ฃผ์ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ ์ฐ๋ฆฌ๋ ์ฝ๋๋ก ์๋๋ฅผ ํํํ์ง ๋ชปํด, ๊ทธ๋ฌ๋๊น ์คํจ๋ฅผ ๋งํํ๊ธฐ ์ํด ์ฃผ์์ ์ฌ์ฉํ๋ค. ์ฝ๋๋ง์ด ์ ํํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ ์ผํ ์ถ์ฒ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ (๊ฐํน ํ์ํ ์ง๋ผ๋) ์ฃผ์์ ๊ฐ๋ฅํ ์ค์ด๋๋ก ๊พธ์คํ ๋ ธ๋ ฅํด์ผ ํ๋ค. ์ฃผ์์ด ํ์ํ ๊ฒฝ์ฐ - ์ธ์๋ ๋ฐํ๊ฐ์ด ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ณ๊ฒฝํ์ง ๋ชปํ๋ ์ฝ๋ -> ์๋ฏธ๋ฅผ ๋ช ๋ฃํ๊ฒ ๋ฐํ๋ ์ฃผ์ - ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ ๋ชฉ์ ์คํดํ ์ฌ์ง๊ฐ ์๋ ์ฃผ์ // this.closed๊ฐ true์ผ ๋ ๋ฐํ๋๋ ์ ํธ๋ฆฌํฐ ๋ฉ์๋๋ค. // ํ์์์์ ๋๋ฌํ๋ฉด ์์ธ๋ฅผ ๋์ง๋ค. public synchronized void waitForClose(fina.. 2022. 2. 26. [ํด๋ฆฐ ์ฝ๋] 3์ฅ ํจ์ TIL (Today I Learned) 22.02.22~22.02.23 ์ค๋ ์ฝ์ ๋ฒ์ 3์ฅ. ํจ์ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ - ์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋จ์๊ฐ ํจ์๋ค. - ํจ์๋ ์๊ฒ ๋ง๋ค์ด์ผ ํ๋ค. ๋ค์ ๋งํด, if๋ฌธ/else๋ฌธ/while๋ฌธ์ ๋ค์ด๊ฐ๋ ๋ธ๋ก์ ํ ์ค์ด์ด์ผ ํ๋ค๋ ๋ง์ด๋ค. ์ด ๋ง์ ์ค์ฒฉ ๊ตฌ์กฐ๊ฐ ์๊ธธ๋งํผ ํจ์๊ฐ ์ปค์ ธ์๋ ์ ๋๋ค๋ ๋ป์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํจ์์์ ๋ค์ฌ์ฐ๊ธฐ ์์ค์ 1๋จ์ด๋ 2๋จ์ ๋์ด์๋ฉด ์๋๋ค. - ๋จ์ํ ๋ค๋ฅธ ํํ์ด ์๋๋ผ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ๋ค๋ฅธ ํจ์๋ฅผ ์ถ์ถํ ์ ์๋ค๋ฉด ๊ทธ ํจ์๋ ์ฌ๋ฌ ์์ ์ ํ๋ ์ ์ด๋ค[G34] -> ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ๋ ํ๋์ ์์ ์ด๋ค! - ๊ฐ ํจ์๋ ๋ค์ ํจ์๋ฅผ ์๊ฐํ๊ณ , ๊ฐ ํจ์๋ ์ผ์ ํ ์ถ์ํ ์์ค์ ์ ์งํ๋ค. switch๋ฌธ swi.. 2022. 2. 23. [ํด๋ฆฐ ์ฝ๋] 2์ฅ ์๋ฏธ ์๋ ์ด๋ฆ TIL (Today I Learned) 22.02.20 ์ค๋ ์ฝ์ ๋ฒ์ 2์ฅ ์๋ฏธ ์๋ ์ด๋ฆ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ - ์๋๋ฅผ ๋ถ๋ช ํ ๋ฐํ๋ผ : ์ด๋ฆ์ ๋ณ์/ํจ์/ํด๋์ค์ ์กด์ฌ ์ด์ , ์ํ ๊ธฐ๋ฅ, ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ชจ๋ ๋ํ๋ด์ผ ํ๋ค. - ๋ณ์ ์ด๋ฆ์ ์๋ฏธ๊ฐ ๋ถ๋ช ํํ ๋ถ์ฉ์ด๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ข์ง ์๋ค. ex) Product -> ProductInfo, ProductData - ๋ฒ์ ๊ธธ์ด๊ฐ ๊ธธ์๋ก ์ด๋ฆ์ ์ ํํ๊ณ ๊ธธ๊ฒ ์ง์ด์ผ ํ๋ค. - ํด๋์ค ์ด๋ฆ : ๋ช ์ฌ๋ ๋ช ์ฌ๊ตฌ / ๋ฉ์๋ ์ด๋ฆ : ๋์ฌ๋ ๋์ฌ๊ตฌ - ๋งฅ๋ฝ์ ๋ถ์ฌํ๊ณ ํจ์๋ฅผ ์ชผ๊ฐ๋ผ. - ์ฌ๋๋ค์ด ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ผ๋ ค๋ ์ด์ ์ค ํ๋๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ํ ๊น ๋๋ ค์์๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ค ์๊ฐ์ ๋ค๋ฅด๋ค. ์คํ๋ ค ์ข์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋ฐ๊ฐ๊ณ ๊ณ ๋ง๋ค. ์ค๋ ์ฝ์ .. 2022. 2. 21. [ํด๋ฆฐ ์ฝ๋] 1์ฅ ๊นจ๋ํ ์ฝ๋ TIL (Today I Learned) 2022.02.19 ์ค๋ ์ฝ์ ๋ฒ์ ์ถ์ฒ์ฌ ~ 1์ฅ. ๊นจ๋ํ ์ฝ๋ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ 5S ๋ฒ์น(์ถ์ฒ์ฌ xxiv) - ์ ๋ ฌ : ์ ์ ํ ๋ช ๋ช ๋ฒ ๋ฑ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ๋ฌด์์ด ์ด๋์ ์๋์ง ์์์ผ ํ๋ค. - ์ฒด๊ณํ : ์ฝ๋๋ ๋๊ตฌ๋ ์์ํ๋ ์์น์ ์์ด์ผ ํ๋ค. - ์ ๋ฆฌ : ์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ์ฝ๋๋ ํ๋ก์ ํธ์ ์๊ด ์๋ ์ฃผ์์ ์ง์ด๋ค. - ํ์คํ : ๊ทธ๋ฃน ๋ด์์ ์ผ๊ด์ ์ธ ๊ตฌํ ์คํ์ผ๊ณผ ๊ธฐ๋ฒ์ ๋์ ํด์ผ ํ๋ค. - ๊ท์จ : ๊ด๋ก๋ฅผ ๋ฐ๋ฅด๊ณ , ์๊ธฐ ์ฝ๋๋ฅผ ์์ฃผ ๋์๋ณด๊ณ ๊ธฐ๊บผ์ด ๋ณ๊ฒฝํ๋ค. ๊นจ๋ํ ์ฝ๋๋? 1) ๋ ผ๋ฆฌ๊ฐ ๊ฐ๋จํ ์ฝ๋(์ค๋ณต์ด ์๋ค) 2) ์์กด์ฑ์ด ์ต์์ด๋ฉฐ ๊ฐ ์์กด์ฑ์ ๋ช ํํ ์ ์ํ๋ ์ฝ๋ -> ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค 3) ์ค๋ฅ๋ฅผ ๋ช ๋ฐฑํ ์ ๋ต์ ์๊ฑฐํด ์ฒ ์ ํ ์ฒ๋ฆฌํ.. 2022. 2. 19. [Spring Boot/RESTful] JPA ์ฌ์ฉ / H2 database(+sql ๋ฒ์ ์ค๋ฅ) JPA Java Persistence API ์๋ฐ ORM ๊ธฐ์ ์ ๋ํ API ํ์ค ๋ช ์ธ(Object Relationship Mapping) ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ ์ํ ์ธํฐํ์ด์ค → ๋ฉ์๋ ์ ์ธ๋ฌธ๋ง ์กด์ฌ. ์ฐ๋ฆฌ๋ ๊ตฌํ์ฒด๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๋ฐ์ ํด์ผ ํ๋ค ⇒ Hibernate EntityManager๋ฅผ ํตํด CRUD ์ฒ๋ฆฌ Hibernate JPA์ ๊ตฌํ์ฒด, ์ธํฐํ์ด์ค๋ฅผ ์ง์ ๊ตฌํํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ⇒ JPA์ EntityManager๋ฅผ ๊ตฌํ ๊ฐ์ฒด ๊ด๊ณ ๋งคํ ํ๋ ์์ํฌ ์์ฐ์ฑ, ์ ์ง๋ณด์, ๋น์ข ์์ฑ Spring Data JPA Spring Module JPA๋ฅผ ์ถ์ํํ Repository ์ธํฐํ์ด์ค ์ ๊ณต ์ธํฐํ์ด์ค ์ ์ธ ๋ง์ผ๋ก๋ Spring์์ ์ ๊ณตํ๋ CRUD ๊ธฐ๋ฅ ์ฌ์ฉ ๊ฐ๋ฅ 1. .. 2022. 2. 19. ์ด์ 1 ยทยทยท 6 7 8 9 10 11 12 ยทยทยท 23 ๋ค์