fee-fi-fo-fum
๋ฐ˜์‘ํ˜•
TIL - JAVA Object to JSON
BackEnd๐Ÿงต 2023. 5. 14. 15:04

๐Ÿ˜Š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..

article thumbnail
TIL - ์Šค๋ ˆ๋“œ(Thread)
BackEnd๐Ÿงต 2023. 5. 12. 14:55

๐Ÿ‘€Today... ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ™์€ ๋œป์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์™”์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ์ฐพ์•„๋ณด๋ฉด์„œ ๋‘˜์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ์ž๋ฐ”์˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ณผ์ •์ด์—ฌ์„œ ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ๋ ๋•Œ ํ•œ๋ฒˆ๋” ์ž์„ธํ•˜๊ฒŒ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค. โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn) ์Šค๋ ˆ๋“œ๋ž€? ํ”„๋กœ์„ธ์Šค : ์‹คํ–‰์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (๋ฐ์ดํ„ฐ + ์ปดํ“จํ„ฐ์ž์› + ์Šค๋ ˆ๋“œ) ์Šค๋ ˆ๋“œ : ์ฝ”๋“œ์˜ ์‹คํ–‰ ํ๋ฆ„ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•œํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ๋‘˜ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์„ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ผ๊ณ  ํ•œ๋‹ค. ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ ๊ฐ๊ฐ ๋ณ„๊ฐœ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜์ง€๋งŒ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹จ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋Š” ์–ด๋–ค๊ฒƒ์ด ๋จผ์ € ์‹คํ–‰๋ ์ง€ ์ˆœ์„œ๋ฅผ ์•Œ์ˆ˜๊ฐ€ ์—†..

article thumbnail
TIL - ํŒŒ์ผ ์ž…/์ถœ๋ ฅ
BackEnd๐Ÿงต 2023. 5. 10. 19:17

๐Ÿ‘€Today... โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn) ์ž…์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ ์ž๋ฐ”์—์„œ๋Š” ์ž…์ถœ๋ ฅ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด InputStream , OutputStream์„ ์ œ๊ณตํ•œ๋‹ค. ์ŠคํŠธ๋ฆผ์€ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ• ์ˆ˜์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ๊ฐ์˜ ์ŠคํŠธ๋ฆผ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋Ÿฌํ•œ Input / Output Stream์€ ์ถ”์ƒํด๋ž˜์Šค์ด๊ณ  ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜์—ฌ ํŒŒ์ผ, ๋„คํŠธ์›Œํฌ, ๋ฉ”๋ชจ๋ฆฌ, ์˜ค๋””์˜ค, ํ”„๋กœ์„ธ์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ• ์ˆ˜์žˆ๋‹ค. ๋ฐ‘์—์„œ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์ž…์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ๋„ ์—ฌ๊ธฐ์— ์†ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” I/O๊ธฐ๋Šฅ์€ java.ioํŒจํ‚ค์ง€์—์„œ ์ œ๊ณต๋œ๋‹ค. Input์€ ๋ง๊ทธ๋Œ€๋กœ ์™ธ๋ถ€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , Output์€ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋ฐ”..

article thumbnail
TIL - ์žฌ๊ท€ ์—ฐ์Šต๋ฌธ์ œ(1~ 12๋ฒˆ)
BackEnd๐Ÿงต 2023. 5. 10. 18:09

๐Ÿ˜Š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() ์‚ฌ์šฉ์ค‘์— ์ธ์ˆ˜๋ฅผ ๋ˆ„๋ฝํ•ด์„œ ๋‚˜์˜จ ์—๋Ÿฌ์˜€๋‹ค. ๋„ฃ์–ด์ฃผ๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘!

2023.05.09 TIL - ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„
BackEnd๐Ÿงต 2023. 5. 9. 12:22

๐Ÿ“ข ๋ฌธ์ œ [Q1. ์ž๋ฐ” ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q2. ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q3. ์ƒ์„ฑ์ž์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q4. ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?] [Q5. ์ž๋ฐ”์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q6. static ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , static๋ฅผ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q7. ์ž๋ฐ” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q8. ์ž๋ฐ” ์ ‘๊ทผ ์ œ์–ด์ž์˜ ํŠน์ง•๊ณผ ์ข…๋ฅ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q9. ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?] [Q10. ์ด๋„ˆํด๋ž˜์Šค์˜ ์žฅ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q11. OOP์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.] [Q12. List, S..

article thumbnail
2023.05.08 TIL - Stream
BackEnd๐Ÿงต 2023. 5. 8. 23:25

๐Ÿ‘€Today... โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn) ์ŠคํŠธ๋ฆผ? ์ŠคํŠธ๋ฆผ(Stream)์€ ์ž๋ฐ”8๋ถ€ํ„ฐ ๋„์ž…๋œ ๋ฌธ๋ฒ•์œผ๋กœ ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜์˜ ์ €์žฅ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐธ์กฐํ•ด์„œ ๋žŒ๋‹ค์‹์œผ๋กœ ์ฒ˜๋ฆฌํ• ์ˆ˜์žˆ๋„๋ก ํ•˜๋Š” ๋ฐ˜๋ณต์ž์ด๋‹ค. for๋ฌธ์ด๋‚˜ Iterator๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒฝ์šฐ ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ณ  ๋ณต์žก ํ•ด์งˆ์ˆ˜์žˆ๋‹ค. ๋˜ํ•œ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Declarative Programming) ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋‚ด๋ถ€์˜ ๋™์ž‘์›๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋”๋ผ๋„ ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ŠคํŠธ๋ฆผ์˜ ํŠน์ง• ์ŠคํŠธ๋ฆผ์˜ ์ฒ˜๋ฆฌ๊ณผ์ •์€ ์ƒ์„ฑ, ์ค‘๊ฐ„์—ฐ์‚ฐ, ์ตœ์ข…์—ฐ์‚ฐ 3๋‹จ๊ณ„์˜ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๊ตฌ์„ฑ๊ฐ€๋Šฅํ•˜๋‹ค. ์ŠคํŠธ๋ฆผ์€ ์›๋ณธ๋ฐ์ดํ„ฐ์˜ ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€์•Š๋Š”๋‹ค.(read-only) ์ŠคํŠธ๋ฆผ์€ 1ํšŒ์šฉ์ด๋‹ค.(ontime-only) ์ŠคํŠธ๋ฆผ์€ ๋‚ด๋ถ€๋ฐ˜๋ณต์ž์ด๋‹ค. ๋”๋ณด๊ธฐ ์™ธ๋ถ€๋ฐ˜๋ณต..

article thumbnail
2023.05.06 TIL - ์—๋„ˆํ…Œ์ด์…˜ / ๋žŒ๋‹ค
BackEnd๐Ÿงต 2023. 5. 6. 22:14

๐Ÿ‘€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..

2023.05.04 TIL (MyStorage)
BackEnd๐Ÿงต 2023. 5. 4. 16:57

๐Ÿ˜Šreview ๊ณผ์ œ์—์„œ ์ œ์‹œํ•œ ๋ฉ”๋‰ด๋“ค์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ๋˜์—ˆ๋‹ค. 1. ๋ฌผ๊ฑด์ •๋ณด ๋“ฑ๋ก 2. ๋ฌผ๊ฑด์ •๋ณด ์ทจ์†Œ 3. ๋ฌผ๊ฑด๋„ฃ๊ธฐ 4. ๋ฌผ๊ฑด ๋นผ๊ธฐ 5. ์žฌ๊ณ ์กฐํšŒ 6. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„์— ์‚ดํŽด๋ณด๋‹ˆ 1 ~ 5๋ฒˆ๊นŒ์ง€๋Š” ๊ฒน์น˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ •๋ง ๋งŽ์•˜๋‹ค. ์ด๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•ด์•ผ๊ฒ ๋‹ค. ๐Ÿ˜ŽError Log Integer.parserInt() / Integer.valueOf() ์ฐจ์ด์  https://m.blog.naver.com/sthwin/221000179980

TIL - Stream ์—ฐ์Šต๋ฌธ์ œ ์ •๋ฆฌ (1 ~ 13๋ฒˆ)
BackEnd๐Ÿงต 2023. 5. 4. 00:05

๐Ÿ˜Ž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๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€..

article thumbnail
2023.05.02 TIL (์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ)
BackEnd๐Ÿงต 2023. 5. 3. 21:11

๐Ÿ‘€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..

๋ฐ˜์‘ํ˜•