๐review Jackson Java Object๋ฅผ Json์ผ๋ก ๋ณํ(์ง๋ ฌํ,serializing) ํ๊ฑฐ๋, JSon์ Java Object๋ก ๋ณํ(์ญ์ง๋ ฌํ, deserializing)ํ๋๋ฐ ์ฌ์ฉํ ์์๋ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Jackson๊ณผ ํจ๊ป GSon์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ํ ๋ง์ด์ฐ์ด๊ณ ์ด์ธ์๋ ์์ฒญ๋ง๋ค..! [jackson github] [Gson github] JSon (JavaScript Object Notation) name - value ํํ์ ๊ฒฝ๋๋ฐ์ดํฐ ๊ตํํ์์ด๋ค. ๊ธฐ์กด์ ์ฌ์ฉ๋๋ XML๋ณด๋ค ์ธ๊ฐ์ด ์ฝ๊ณ ์ฐ๊ธฐ์ ์ฉ์ดํ ํํ๋ก ์์ฑ๋๋ค. //JSon ํ์ { "name": "duckgeun", "age": 29, "address": { "street": "exmaple", "city": "kore..

๐Today... ํ๋ก์ธ์ค์ ์ค๋ ๋๊ฐ ๊ฐ์ ๋ป์ด๋ผ๊ณ ์๊ฐํด์์๋๋ฐ ์ด๋ฒ์ ์ฐพ์๋ณด๋ฉด์ ๋์ ์ฐจ์ด์ ์ ๋ํด์ ์๊ฒ๋์๋ค. ์๋ฐ์ ๊ฐ๋ ์ ๊ณต๋ถํ๋ ๊ณผ์ ์ด์ฌ์ ์์ธํ๊ฒ ๋ค๋ฃจ์ง๋ ๋ชปํ์ง๋ง ์๊ฐ์ด ๋ ๋ ํ๋ฒ๋ ์์ธํ๊ฒ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค. โ์ค๋์ TIL(Today I Learn) ์ค๋ ๋๋? ํ๋ก์ธ์ค : ์คํ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ (๋ฐ์ดํฐ + ์ปดํจํฐ์์ + ์ค๋ ๋) ์ค๋ ๋ : ์ฝ๋์ ์คํ ํ๋ฆ ์ผ๋ฐ์ ์ผ๋ก ํํ๋ก๊ทธ๋จ์ ํ๋์ ์ค๋ ๋๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง, ๋ ์ด์์ ์ค๋ ๋๋ฅผ ๋์์ ์คํํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์ด๋ฐ ๋ฐฉ์์ ๋ฉํฐ ์ค๋ ๋๋ผ๊ณ ํ๋ค. ๋ฉํฐํ๋ก์ธ์ค๋ ๊ฐ ํ๋ก์ธ์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ ๊ฐ๊ฐ ๋ณ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ์ง๋ง, ๋ฉํฐ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํด์ ์ฌ์ฉํ๋ค. ๋จ ๋ฉํฐ์ค๋ ๋๋ ์ด๋ค๊ฒ์ด ๋จผ์ ์คํ๋ ์ง ์์๋ฅผ ์์๊ฐ ์..

๐Today... โ์ค๋์ TIL(Today I Learn) ์ ์ถ๋ ฅ ์คํธ๋ฆผ ์๋ฐ์์๋ ์ ์ถ๋ ฅ์ ๋ค๋ฃจ๊ธฐ ์ํด InputStream , OutputStream์ ์ ๊ณตํ๋ค. ์คํธ๋ฆผ์ ๋จ๋ฐฉํฅ์ผ๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์์๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋์์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๊ฐ๊ฐ์ ์คํธ๋ฆผ์ด ํ์ํ๋ค. ์ด๋ฌํ Input / Output Stream์ ์ถ์ํด๋์ค์ด๊ณ ์ถ์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ํ์ผ, ๋คํธ์ํฌ, ๋ฉ๋ชจ๋ฆฌ, ์ค๋์ค, ํ๋ก์ธ์ค ๋ฑ ๋ค์ํ ์ญํ ์ ์ํํ ์์๋ค. ๋ฐ์์ ์ค๋ช ํ๊ณ ์ ํ๋ ํ์ผ์ ์ถ๋ ฅ ์คํธ๋ฆผ๋ ์ฌ๊ธฐ์ ์ํ๋ค. ์๋ฐ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ I/O๊ธฐ๋ฅ์ java.ioํจํค์ง์์ ์ ๊ณต๋๋ค. Input์ ๋ง๊ทธ๋๋ก ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ญํ ์ ์ํํ๊ณ , Output์ ์ธ๋ถ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ์ญํ ์ ์ํํ๋ค. ๋ฐ..

๐review 3๋ฒ System.arraycopy() / Arrays.copyOf() https://velog.io/@kai6666/Java-System.arraycopy-%EC%99%80Arrays.copyOf%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EB%B0%B0%EC%97%B4-%EB%B3%B5%EC%82%AC 12๋ฒ ๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ์์๊ฐ ๋ค์งํ ๋ฐฐ์ด์ ๋ฆฌํด... ๐Error logs error: method arraycopy in class System cannot be applied to given types; System.arraycopy() ์ฌ์ฉ์ค์ ์ธ์๋ฅผ ๋๋ฝํด์ ๋์จ ์๋ฌ์๋ค. ๋ฃ์ด์ฃผ๋ ์ ์์ ์ผ๋ก ๋์!
๐ข ๋ฌธ์ [Q1. ์๋ฐ ๋ฐ์ดํฐ ํ์ ์ค ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q2. ํด๋์ค์ ๊ฐ์ฒด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q3. ์์ฑ์์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q4. ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?] [Q5. ์๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q6. static ํค์๋์ ๋ํด ์ค๋ช ํ๊ณ , static๋ฅผ ์ธ์ ์ฌ์ฉํด์ผ ํ๋ ์ง ์ค๋ช ํด์ฃผ์ธ์.] [Q7. ์๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q8. ์๋ฐ ์ ๊ทผ ์ ์ด์์ ํน์ง๊ณผ ์ข ๋ฅ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.] [Q9. ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?] [Q10. ์ด๋ํด๋์ค์ ์ฅ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q11. OOP์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.] [Q12. List, S..

๐Today... โ์ค๋์ TIL(Today I Learn) ์คํธ๋ฆผ? ์คํธ๋ฆผ(Stream)์ ์๋ฐ8๋ถํฐ ๋์ ๋ ๋ฌธ๋ฒ์ผ๋ก ๋ฐฐ์ด ๋ฐ ์ปฌ๋ ์ ์ ์ ์ฅ์์๋ฅผ ํ๋์ฉ ์ฐธ์กฐํด์ ๋๋ค์์ผ๋ก ์ฒ๋ฆฌํ ์์๋๋ก ํ๋ ๋ฐ๋ณต์์ด๋ค. for๋ฌธ์ด๋ Iterator๋ฅผ ์ฌ์ฉํ๋๊ฒฝ์ฐ ์ฝ๋๊ฐ ๊ธธ๊ณ ๋ณต์ก ํด์ง์์๋ค. ๋ํ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ(Declarative Programming) ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ๋ด๋ถ์ ๋์์๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋๋ผ๋ ์ด๋ค ์ฝ๋๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ๊ฐ๋ฅํ๋ค. ์คํธ๋ฆผ์ ํน์ง ์คํธ๋ฆผ์ ์ฒ๋ฆฌ๊ณผ์ ์ ์์ฑ, ์ค๊ฐ์ฐ์ฐ, ์ต์ข ์ฐ์ฐ 3๋จ๊ณ์ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ตฌ์ฑ๊ฐ๋ฅํ๋ค. ์คํธ๋ฆผ์ ์๋ณธ๋ฐ์ดํฐ์ ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง์๋๋ค.(read-only) ์คํธ๋ฆผ์ 1ํ์ฉ์ด๋ค.(ontime-only) ์คํธ๋ฆผ์ ๋ด๋ถ๋ฐ๋ณต์์ด๋ค. ๋๋ณด๊ธฐ ์ธ๋ถ๋ฐ๋ณต..

๐Today... ์ด์ ๋ ์ด๋ฆฐ์ด๋ ์ด์ฌ์ ๊ณต๋ถ๋ฅผ ์ ๊น ์ฌ์์ง๋ง ์ค๋๋ถํฐ ๋ค์ ๋ ๋ฌ๋ ค๋ณด์! โ์ค๋์ TIL(Today I Learn) ์ ๋ํ ์ด์ (annotation) ์ ๋ํ ์ด์ ์ ์์ค์ฝ๋๊ฐ ์ปดํ์ผ๋๊ฑฐ๋ ์คํ๋ ๋ ์ปดํ์ผ๋ฌ ๋ฐ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ ํ์ํ ์ ๋ณด๋ฅผ ์ ๋ฌํด ์ฃผ๋ ๋ฌธ๋ฒ์์์ด๋ค. ์ฃผ์์ ๊ฐ๋ฐ์์๊ฒ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค๋ฉด ์ ๋ํ ์ด์ ์ ์ปดํ์ผ๋ฌ์๊ฒ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ๊ฐ๋ค. # @Override class SuperClass { public void example() { System.out.println("example() of SuperClass"); } } class SubClass extends SuperClass { @Override public void example() { System.out..
๐review ๊ณผ์ ์์ ์ ์ํ ๋ฉ๋ด๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ์ ์ ๋์๋ค. 1. ๋ฌผ๊ฑด์ ๋ณด ๋ฑ๋ก 2. ๋ฌผ๊ฑด์ ๋ณด ์ทจ์ 3. ๋ฌผ๊ฑด๋ฃ๊ธฐ 4. ๋ฌผ๊ฑด ๋นผ๊ธฐ 5. ์ฌ๊ณ ์กฐํ 6. ํ๋ก๊ทธ๋จ ์ข ๋ฃ ์ฝ๋๋ฅผ ์์ฑํ ํ์ ์ดํด๋ณด๋ 1 ~ 5๋ฒ๊น์ง๋ ๊ฒน์น๋ ์ฝ๋๊ฐ ์ ๋ง ๋ง์๋ค. ์ด๋ถ๋ถ์ ๋ถ๋ฆฌํด์ ์๋ก์ด ๋ฉ์๋๋ก ๊ตฌํํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ฉํด์ผ๊ฒ ๋ค. ๐Error Log Integer.parserInt() / Integer.valueOf() ์ฐจ์ด์ https://m.blog.naver.com/sthwin/221000179980
๐Obtain stream().mapToInt() - ์คํธ๋ฆผ์ IntStream์ผ๋ก ๋ณํํด์ฃผ๋ ๋ฉ์๋์ด๋ค. - IntStream์ ์ ์ธํ ๋ชจ๋ ์คํธ๋ฆผ์์ ๋์ผํ๊ฒ ์ ๊ณตํ๋ ๋ฉ์๋์ด๋ค. ์ฐธ๊ณ - https://dev-kani.tistory.com/32 incompatible types: OptionalDouble cannot be converted to double OptionalDouble optionalValue = OptionalDouble.of(3.14); double value = optionalValue.getAsDouble(); optional double ์์ double๊ฐ์ ์ถ์ถํด์ผ ํ๋ค. getAsDouble() ์ฌ์ฉ. optional double : double๊ฐ์ ๊ฐ์ง๊ณ ์๋์ง ์๋์ง..

๐Today... โ์ค๋์ TIL(Today I Learn) ์ปฌ๋ ์ ํ๋ ์์ํฌ ๊ธฐ๋ฅ ๋ฆฌํด ํ์ ๋ฉ์๋ ์ค๋ช ๊ฐ์ฒด ์ถ๊ฐ boolean add(Object o) / addAll(Collection c) ์ฃผ์ด์ง ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ์ ์ ๊ฐ์ฒด๋ค์ ์ปฌ๋ ์ ์ ์ถ๊ฐํฉ๋๋ค. ๊ฐ์ฒด ๊ฒ์ boolean contains(Object o) / containsAll(Collection c) ์ฃผ์ด์ง ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ์ ์ด ์ ์ฅ๋์ด ์๋์ง๋ฅผ ๋ฆฌํดํฉ๋๋ค. Iterator iterator() ์ปฌ๋ ์ ์ iterator๋ฅผ ๋ฆฌํดํฉ๋๋ค. boolean equals(Object o) ์ปฌ๋ ์ ์ด ๋์ผํ์ง ํ์ธํฉ๋๋ค. boolean isEmpty() ์ปฌ๋ ์ ์ด ๋น์ด์๋์ง๋ฅผ ํ์ธํฉ๋๋ค. int size() ์ ์ฅ๋ ์ ์ฒด ๊ฐ์ฒด ์๋ฅผ ๋ฆฌํดํฉ๋๋ค. ๊ฐ์ฒด ์ญ์ void c..