๐Today I Learned, ์ค๋ ํ์ตํ ๋ด์ฉ์ ๊ธฐ๋ก. ์ผ์ผ ์ปค๋ฐ ํ๋ก์ ํธ
- Java
- Ioc ์ปจํ ์ด๋์ Bean
- ApplicationContext์ ๋ค์ํ ๋น ์ค์ ๋ฐฉ๋ฒ
- @Autowired
- @Component์ ์ปดํฌ๋ํธ ์ค์บ
- Bean์ ์ค์ฝํ
- MessageSource
- ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ PropertyEditor
- Null Safety
- @Bean VS @Component
- Transaction ์์๋ณด๊ธฐ
-
์ดํํฐ๋ธ ์๋ฐ
- ๊ฐ์ฒด ์์ฑ๊ณผ ํ๊ดด
- Item1- ์์ฑ์ ๋์ ์ ์ ํฉํฐ๋ฆฌ ๋ฉ์๋๋ฅผ ๊ณ ๋ คํ๋ผ
- Item2- ์์ฑ์์ ๋งค๊ฐ๋ณ์๊ฐ ๋ง๋ค๋ฉด ๋น๋๋ฅผ ๊ณ ๋ คํ๋ผ
- Item3- private ์์ฑ์๋ ์ด๊ฑฐ ํ์ ์ผ๋ก ์ฑ๊ธํด์์ ๋ณด์ฆํ๋ผ
- Item4- ์ธ์คํด์คํ๋ฅผ ๋ง์ผ๋ ค๊ฑฐ๋ private ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ผ
- Item5- ์์์ ์ง์ ๋ช ์ํ์ง ๋ง๊ณ ์์กด ๊ฐ์ฒด ์ฃผ์ ์ ์ฌ์ฉํ๋ผ
- Item6- ๋ถํ์ํ ๊ฐ์ฒด ์์ฑ์ ํผํ๋ผ
- Item7- ๋ค ์ด ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ํด์ ํ๋ผ
- Item8- finalizer์ cleaner ์ฌ์ฉ์ ํผํ๋ผ
- Item9- try-finally ๋ณด๋ค๋ try-with-resources๋ฅผ ์ฌ์ฉํ๋ผ
- ๋ชจ๋ ๊ฐ์ฒด์ ๊ณตํต ๋ฉ์๋
- ํด๋์ค์ ์ธํฐํ์ด์ค
- Item15- ํด๋์ค์ ๋ฉค๋ฒ์ ์ ๊ทผ ๊ถํ์ ์ต์ํํ๋ผ
- Item16- public ํด๋์ค์์๋ public ํ๋๊ฐ ์๋ ์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ผ
- Item17- ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋ผ
- Item18- ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ
- Item19- ์์์ ๊ณ ๋ คํด ์ค๊ณํ๊ณ ๋ฌธ์ํํ๋ผ. ๊ทธ๋ฌ์ง ์์๋ค๋ฉด ์์์ ๊ธ์งํ๋ผ
- Item20- ์ถ์ํด๋์ค๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ
- Item21- ์ธํฐํ์ด์ค๋ ๊ตฌํํ๋ ์ชฝ์ ์๊ฐํด ์ค๊ณํ๋ผ
- Item22- ์ธํฐํ์ด์ค๋ ํ์ ์ ์ ์ํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๋ผ
- Item23- ํ๊ทธ ๋ฌ๋ฆฐ ํด๋์ค๋ณด๋ค๋ ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ผ
- Item24- ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ
- Item25- ํฑ๋ ๋ฒจ ํด๋์ค๋ ํ ํ์ผ์ ํ๋๋ง ๋ด์ผ๋ผ
- ์ ๋ค๋ฆญ
- Item26- ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ
- Item27- ๋น๊ฒ์ฌ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ๋ผ
- Item28- ๋ฐฐ์ด๋ณด๋ค๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ผ
- Item29- ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ํ์ ์ผ๋ก ๋ง๋ค๋ผ
- Item30- ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ๋ฉ์๋๋ก ๋ง๋ค๋ผ
- Item31- ํ์ ์ ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํด API ์ ์ฐ์ฑ์ ๋์ด๋ผ
- Item32- ์ ๋ค๋ฆญ๊ณผ ๊ฐ๋ณ์ธ์๋ฅผ ํจ๊ป ์ธ ๋๋ ์ ์คํ๋ผ
- Item33- ํ์ ์์ ์ด์ข ์ปจํ ์ด๋๋ฅผ ๊ณ ๋ คํ๋ผ
- ์ด๊ฑฐ ํ์
๊ณผ ์ ๋ํ
์ด์
- Item34- int ์์ ๋์ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํ๋ผ
- Item35- ordinal ๋ฉ์๋ ๋์ ์ธ์คํด์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ผ
- Item36- ๋นํธ ํ๋ ๋์ EnumSet์ ์ฌ์ฉํ๋ผ
- Item37- ordinal ์ธ๋ฑ์ฑ ๋์ EnumMap์ ์ฌ์ฉํ๋ผ
- Item38- ํ์ฅํ ์ ์๋ ์ด๊ฑฐ ํ์ ์ด ํ์ํ๋ฉด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- Item39- ๋ช ๋ช ํจํด๋ณด๋ค ์ ๋ํ ์ด์ ์ ์ฌ์ฉํ๋ผ
- Item40- @Override ์ ๋ํ ์ด์ ์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ๋ผ
- Item41- ์ ์ํ๋ ค๋ ๊ฒ์ด ํ์ ์ด๋ผ๋ฉด ๋ง์ปค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- ๋๋ค์ ์คํธ๋ฆผ
- Item42 - ์ต๋ช ํด๋์ค๋ณด๋ค๋ ๋๋ค๋ฅผ ์ฌ์ฉํ๋ผ
- Item43- ๋๋ค๋ณด๋ค๋ ๋ฉ์๋ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ๋ผ
- Item44- ํ์ค ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- Item45- ์คํธ๋ฆผ์ ์ฃผ์ํด์ ์ฌ์ฉํ๋ผ
- Item46- ์คํธ๋ฆผ์์๋ ๋ถ์์ฉ ์๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ผ
- Item47- ๋ฐํ ํ์ ์ผ๋ก๋ ์คํธ๋ฆผ๋ณด๋ค ์ปฌ๋ ์ ์ด ๋ซ๋ค
- Item48 - ์คํธ๋ฆผ ๋ณ๋ ฌํ๋ ์ฃผ์ํด์ ์ ์ฉํ๋ผ
- ๋ฉ์๋
- Item49 - ๋งค๊ฐ๋ณ์๊ฐ ์ ํจํ์ง ๊ฒ์ฌํ๋ผ
- Item50 - ์ ์์ ๋ฐฉ์ด์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๋ผ
- Item51 - ๋ฉ์๋ ์๊ทธ๋์ฒ๋ฅผ ์ ์คํ ์ค๊ณํ๋ผ
- Item52 - ๋ค์ค์ ์๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- Item53 - ๊ฐ๋ณ์ธ์๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- Item54 - null์ด ์๋, ๋น ์ปฌ๋ ์ ์ด๋ ๋ฐฐ์ด์ ๋ฐํํ๋ผ
- Item55 - ์ต์ ๋ ๋ฐํ์ ์ ์คํ ํ๋ผ
- Item56 - ๊ณต๊ฐ๋ API ์์์๋ ํญ์ ๋ฌธ์ํ ์ฃผ์์ ์์ฑํ๋ผ
- ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์์น
- Item57 - ์ง์ญ๋ณ์์ ๋ฒ์๋ฅผ ์ต์ํํ๋ผ
- Item58 - ์ ํต์ ์ธ for ๋ฌธ๋ณด๋ค๋ for-eacha ๋ฌธ์ ์ฌ์ฉํ๋ผ
- Item59 - ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ตํ๊ณ ์ฌ์ฉํ๋ผ
- Item60 - ์ ํํ ๋ต์ด ํ์ํ๋ค๋ฉด float์ double์ ํผํ๋ผ
- Item61 - ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์ ๋ณด๋ค๋ ๊ธฐ๋ณธ ํ์ ์ ์ฌ์ฉํ๋ผ
- Item62 - ๋ค๋ฅธ ํ์ ์ด ์ ์ ํ๋ค๋ฉด ๋ฌธ์์ด ์ฌ์ฉ์ ํผํ๋ผ
- Item63 - ๋ฌธ์์ด ์ฐ๊ฒฐ์ ๋๋ฆฌ๋ ์ฃผ์ํ๋ผ
- Item64 - ๊ฐ์ฒด๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด ์ฐธ์กฐํ๋ผ
- Item65 - ๋ฆฌํ๋ ์ ๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- Item66 - ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- Item67 - ์ต์ ํ๋ ์ ์คํ ํ๋ผ
- Item68 - ์ผ๋ฐ์ ์ผ๋ก ํต์ฉ๋๋ ๋ช ๋ช ๊ท์น์ ๋ฐ๋ฅด๋ผ
- ์์ธ
- Item69 - ์์ธ๋ ์ง์ง ์์ธ ์ํฉ์๋ง ์ฌ์ฉํ๋ผ
- Item70 - ๋ณต๊ตฌํ ์ ์๋ ์ํฉ์๋ ๊ฒ์ฌ ์์ธ๋ฅผ, ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ์๋ ๋ฐํ์ ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ
- Item71 - ํ์ ์๋ ๊ฒ์ฌ ์์ธ ์ฌ์ฉ์ ํผํ๋ผ
- Item72 - ํ์ค ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ
- Item73 - ์ถ์ํ ์์ค์ ๋ง๋ ์์ธ๋ฅผ ๋์ง๋ผ
- Item74 - ๋ฉ์๋๊ฐ ๋์ง๋ ๋ชจ๋ ์์ธ๋ฅผ ๋ฌธ์ํํ๋ผ
- Item75 - ์์ธ์ ์์ธ ๋ฉ์์ง์ ์คํจ ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ด์ผ๋ผ
- Item76 - ๊ฐ๋ฅํ ํ ์คํจ ์์์ ์ผ๋ก ๋ง๋ค๋ผ
- Item77 - ์์ธ๋ฅผ ๋ฌด์ํ์ง ๋ง๋ผ
- ๋์์ฑ
- Item78 - ๊ณต์ ์ค์ธ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ ๋๊ธฐํํด ์ฌ์ฉํ๋ผ
- Item79 - ๊ณผ๋ํ ๋๊ธฐํ๋ ํผํ๋ผ
- Item80 - ์ค๋ ๋๋ณด๋ค๋ ์คํ์, ํ์คํฌ, ์คํธ๋ฆผ์ ์ ์ฉํ๋ผ
- Item81 - wait์ notify๋ณด๋ค๋ ๋์์ฑ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ์ฉํ๋ผ
- Item82 - ์ค๋ ๋ ์์ ์ฑ ์์ค์ ๋ฌธ์ํํ๋ผ
- Item83 - ์ง์ฐ ์ด๊ธฐํ๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- Item84 - ํ๋ก๊ทธ๋จ์ ๋์์ ์ค๋ ๋ ์ค์ผ์ค๋ฌ์ ๊ธฐ๋์ง ๋ง๋ผ
- ์ง๋ ฌํ
- Item85 - ์๋ฐ ์ง๋ ฌํ์ ๋์์ ์ฐพ์ผ๋ผ
- Item86 - Serializable์ ๊ตฌํํ ์ง๋ ์ ์คํ ๊ฒฐ์ ํ๋ผ
- item87 - ์ปค์คํ ์ง๋ ฌํ ํํ๋ฅผ ๊ณ ๋ คํด๋ณด๋ผ
- item88 - readObject ๋ฉ์๋๋ ๋ฐฉ์ด์ ์ผ๋ก ์์ฑํ๋ผ
- item89 - ์ธ์คํด์ค ์๋ฅผ ํต์ ํด์ผ ํ๋ค๋ฉด readResolve๋ณด๋ค๋ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํ๋ผ
- item90 - ์ง๋ ฌํ๋ ์ธ์คํด์ค ๋์ ์ง๋ ฌํ ํ๋ก์ ์ฌ์ฉ์ ๊ฒํ ํ๋ผ
- ๊ฐ์ฒด ์์ฑ๊ณผ ํ๊ดด
-
๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ ์ค๊ณ ๊ธฐ์ด
-
Real MySQL 8.0
- MySQL ์์ง ์ํคํ ์ฒ
- InnoDB ์คํ ๋ฆฌ์ง ์์ง ์ํคํ ์ฒ 1/2
- InnoDB ์คํ ๋ฆฌ์ง ์์ง ์ํคํ ์ฒ 2/2
- ํธ๋์ญ์ ๊ณผ ์ ๊ธ
- MySQL์ ๊ฒฉ๋ฆฌ ์์ค
- ์ธ๋ฑ์ค ์ดํด๋ณด๊ธฐ 1/2
- ์ธ๋ฑ์ค ์ดํด๋ณด๊ธฐ 2/2
- R-Tree์ ์ ๋ฌธ ๊ฒ์ ์ธ๋ฑ์ค
- ๊ทธ ์ธ์ ๋ค์ํ ์ธ๋ฑ์ค
- ์ตํฐ๋ง์ด์ ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ 1/2
- ์ตํฐ๋ง์ด์ ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ 2/2
- ์ฟผ๋ฆฌ ํํธ
- ์คํ ๊ณํ ํต๊ณ ์ ๋ณด์ ์คํ ๊ณํ์ ํ์ธํ๋ ๋ฐฉ๋ฒ
- ์คํ ๊ณํ ๋ถ์ํ๊ธฐ(id ~ partitions)
- ์คํ ๊ณํ ๋ถ์ํ๊ธฐ(type ~ filtered)
- ์คํ ๊ณํ ๋ถ์ํ๊ธฐ(Extra)