๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 294

[Kotlin] array list ์— item ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• / ๋ชฉ๋ก์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์˜ ๋ชฉ๋ก์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด arrayList ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. val arrayList = ArrayList() addAll() ํ˜น์€ add() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด array List์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. arrayList.addAll(countryList) arrayList.add(0, categoriesData(41, "All Categories")) arrayList.add(1, categoriesData(42, "Favorite"))

Programming/Kotlin 2023.01.08

[Kotlin] object list ์—์„œ ํŠน์ • ํ•„๋“œ ๊ฐ’ (field value) ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” object list์—์„œ ๋‹จ์ผ field ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์„œ { "hong", "kil" } ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋‹จ์ผ ํ•„๋“œ ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? fun main(args:Array){ println("Hello World") val list = listOf(member("hong",10), member("kil", 10)) } data class member(var name:String, var age:Int) How to solve the problem ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ map() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•˜์—ฌ name์ด๋ผ๋Š” ํ•„๋“œ๋งŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. val ..

Programming/Kotlin 2023.01.07

[JavaScript] ํƒ€์ž„์กด time zone offset ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” JavaScript๋กœ ํƒ€์ž„์กด time zone offset์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ์— ์•ž์„œ ์šฐ์„  ํƒ€์ž„์กด ๊ฐœ๋…์„ ์ž ๊น ํ›‘์–ด๋ณด๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. What is a time zone? ํƒ€์ž„์กด(time zone)์€ ๋™์ผํ•œ ๋กœ์ปฌ ์‹œ๊ฐ„์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ†ต์ƒ์ ์œผ๋กœ ๊ตญ๊ฐ€๋ณ„ ๊ณ ์œ ํ•œ ํƒ€์ž„์กด์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Offset? ์˜คํ”„์…‹์€ UTC์™€์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ UTC+09:00 ์—์„œ +9:00๋Š” UTC์˜ ๊ธฐ์ค€์‹œ๊ฐ„๋ณด๋‹ค 9์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ํƒ€์ž„์กด์€ KST (Korea Standard Time) ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. How to get a offset? ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ offset์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต..

[Kotlin] ์ฝ”ํ‹€๋ฆฐ์—์„œ array ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ array ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Kotlin Array Size ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ฐฐ์—ด์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด ๊ฐ์ฒด์˜ size property๋ฅผ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. size property๋Š” ๋ฐฐ์—ด ์š”์†Œ์˜ number ์ˆซ์ž๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ array class์˜ count() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ด์ฆˆ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Syntax arr.size Examples # 1 size property ๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. fun main(args: Array) { val arr = arrayOf(2, 4, 6, 8, 10) val length = arr.size println("Array size : $length") // ..

Programming/Kotlin 2023.01.07

[JavaScript] moment.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ / Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date().. ์˜ค๋ฅ˜

Intro moment.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ ์งœ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋˜ ๋„์ค‘ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-da..

[React] react-datepicker ํŠน์ •/์ง€๋‚œ ๋‚ ์งœ ์ œ์™ธํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro react-datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘, ๋๋‚ ์งœ๊ฐ€ ์‹œ์ž‘ ๋‚ ์งœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์—†๋„๋ก ๋‚ ์งœ๋ฅผ ์ œ์™ธํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. How to solve the problem ๊ตฌ๊ธ€๋ง ํ›„ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ต๋ณ€์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. DatePicker ์†์„ฑ์˜ minDate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์™ธํ•  ๋‚ ์งœ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. https://stackoverflow.com/questions/50626937/react-datepicker-exclude-past-dates

Framework/React 2023.01.04

[React] react-datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ css/style ์ ์šฉ ์•ˆ๋˜๋Š” ์—๋Ÿฌ

Intro react-datepicker ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ CSS ๊ฐ€ ์ ์šฉ ์•ˆ๋˜๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ €๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋„ ์ ์šฉํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. yarn add react-datepicker yarn add @types/react-datepicker react-datepicker ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ์žˆ๋Š” Default ์˜ˆ์ œ๋ฅผ ์ฝ”๋“œ์— ๋„ฃ์–ด ์‹คํ–‰ํ•˜์ž, css๊ฐ€ ์ „ํ˜€ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ๋กœ ํ™”๋ฉด์— ๋œจ๋”๊ตฐ์š”. () => { const [startDate, setStartDate] = useState(new Date()); return ( setStartDate(date)} /> ); }; Why? ๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ €์™€ ๋น„์Šทํ•œ ์—๋Ÿฌ๋ฅผ ๊ฒช์œผ์‹  ๋ถ„๋“ค..

Framework/React 2023.01.03

[Kotlin] Error: Non-terminating decimal expansion; no exact representable decimal result. ์˜ค๋ฅ˜

Intro kotlin ๊ธฐ๋ฐ˜์˜ ์กฐํšŒ API๋ฅผ ๋งŒ๋“ค๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Non-terminating decimal expansion; no exact representable decimal result. Why? ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด divide๋ฅผ ํ†ตํ•ด ๋‘ BigDecimal ๊ฐ’์„ ๋‚˜๋ˆ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช… ์—๋Ÿฌ๊ฐ€ ์—†์—ˆ๋Š”๋ฐ, ์™œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๊ตฌ๊ธ€๋ง์„ ํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. BigDecimal ๋‚˜๋ˆ„๊ธฐ๋ฅผ ํ•  ๊ฒฝ์šฐ ์ •ํ™•ํ•œ ๊ฐ’์ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ์˜ "Non-terminating decimal expansion; no exact representable decimal result." ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ํ…Œ์ŠคํŠธ ํ•˜๋˜ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์ •ํ™•ํžˆ ๊ฐ’์ด ๋–จ์–ด์ ธ ๋‚˜๋ˆ ์กŒ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜..

Programming/Kotlin 2023.01.02

[Springboot] The dependencies of some of the beans in the application context form a cycle ์˜ค๋ฅ˜ / ์ƒ์„ฑ์ž ์ฃผ์ž… ์‹œ ์ˆœํ™˜ ์ฐธ์กฐ ๋ฐœ์ƒ

Intro spring boot์—์„œ service๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ๋‹ค์Œ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. The dependencies of some of the beans in the application context form a cycle ์ธํ…”๋ฆฌ์ œ์ด ํ„ฐ๋ฏธ๋„์— ์ˆœํ™˜ ์ฐธ์กฐ๋˜๊ณ  ์žˆ๋‹ค๋Š” ํ‘œ์‹œ์™€ ํ•จ๊ป˜ ์ž˜ ์˜ฌ๋ผ๊ฐ€๋˜ ์„œ๋ฒ„๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋”๊ตฐ์š”.. Why? ์ฒ˜์Œ ๋ณด๋Š” ์˜ค๋ฅ˜๋ผ์„œ ์ด๊ฒŒ ๋ญ˜๊นŒ ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ๋‘ ํŒŒ์ผ์—์„œ ์„œ๋กœ ๋™์ผํ•˜๊ฒŒ ์ƒ์„ฑ์ž๋ฅผ ์ฃผ์ž…ํ•ด ์‚ฌ์šฉํ•ด์„œ ์ˆœํ™˜ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚˜๊ณ , ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋˜ ๊ฒƒ์ด์˜€์Šต๋‹ˆ๋‹ค. How to solve the problem ๊ตฌ๊ธ€๋งํ•œ ๊ฒฐ๊ณผ, ์ˆœํ™˜ ์ฐธ์กฐ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. #1 application.yml ๋ณ€๊ฒฝ spring: applicati..

[Grafana] ๊ทธ๋ผํŒŒ๋‚˜(Grafana)๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

Intro ํ˜„ ํšŒ์‚ฌ์—์„œ๋Š” AWS ๊ด€๋ จ๋œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ณง ๋น„์šฉ์œผ๋กœ ์ด์–ด์ง€๊ณ , ๋•Œ๋ฌธ์— ๊ทธ๋ผํŒŒ๋‚˜(Grafana) ๋ผ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”/๋ชจ๋‹ˆํ„ฐ๋ง ํˆด์„ ํ™œ์šฉํ•˜์—ฌ, ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋น„์šฉ์„ ์ถ•์†Œํ•˜๋Š” ๋ฐฉํ–ฅ์„ ์„ ํƒํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ•™๋ถ€ ์‹œ์ ˆ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”/๋ชจ๋‹ˆํ„ฐ๋ง ํˆด์„ ์ž ๊น ์จ๋ณด๊ณ  ์ดํ›„ ๋ช‡๋…„๊ฐ„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์„œ ์–ด๋–ค ํˆด์ด ์žˆ๊ณ  ์–ด๋–ค ํˆด์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š”์ง€ ๋ชฐ๋ž๋Š”๋ฐ, ์ด๋ฒˆ ์ด์Šˆ๋ฅผ ํ†ตํ•ด ๊ทธ๋ผํŒŒ๋‚˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋„ค์š”. ๋”ฐ๋ผ์„œ ๊ทธ๋ผํŒŒ๋‚˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ•œ๋ฒˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Grafana? Grafana๋Š” Grafana Labs์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ์‹œ๊ฐํ™” ๋ฐ ๋ถ„์„๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. Grafana๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋Œ€ํ•œ ๋Œ€์‹œ๋ณด๋“œ template๋ฅผ ..

Devops 2022.12.20
๋ฐ˜์‘ํ˜•