๋ฐ˜์‘ํ˜•

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

[Kotlin] ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ๊ฒฝ๊ณผ์ผ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• (get the day of the year as an integer in Kotlin)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ๊ฒฝ๊ณผ์ผ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ํ•ด๋‹น ๊ฒฝ๊ณผ ์ผ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /** * You can edit, run, and share this code. * play.kotlinlang.org */ fun main() { // ์œค๋…„ ํŒ๋ณ„ ๋ฉ”์†Œ๋“œ (1 ์œค๋…„, 0 ํ‰๋…„) fun isLeap(year: Int): Int { return if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) 1 else 0 } fun dayOfYear(year: Int, month: Int, day: Int): Int {..

Programming/Kotlin 2023.03.02

[React] DatePicker RangeError: Invalid time value safari ์˜ค๋ฅ˜

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฆฌ์•กํŠธ์—์„œ DatePicker๋กœ Date ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋˜ ๋„์ค‘ ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. RangeError: Invalid time value ๋กœ์ปฌ PC ํฌ๋กฌ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ ํ–ˆ์„ ๋•Œ๋Š” ๋‚˜์ง€ ์•Š์•˜๋˜ ์˜ค๋ฅ˜์˜€๊ณ , IOS ์›น์•ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋˜ ๋„์ค‘ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ €๋Š” ex) 2023.03.01 ํ˜•ํƒœ์˜ ์ŠคํŠธ๋ง ๋ฌธ์ž๋ฅผ new Date๋กœ ๋ณ€ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. Why? ํฌ๋กฌ์€ dot(.)ํ˜•์‹์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด์„ new Date๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์ง€๋งŒ, ์‚ฌํŒŒ๋ฆฌ์˜ ๊ฒฝ์šฐ date ๋ณ€ํ™˜ ์‹œ format์— dot(.)๋ฅผ ํฌํ•จํ•  ๊ฒฝ์šฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. How to solve the problem ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ์š”. ์ €๋Š” ์•„๋ž˜์˜ ..

Framework/React 2023.03.01

[SpringBoot] kotlin + SpringBoot + mongodb MongoRepository์—์„œ limit ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ + mongodb MongoRepository์—์„œ limit ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด limit() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” count ๋งŒํผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. suspend fun getRecentData(createAt: Instant): List? { val query = Query() query.with( Sort.by(Sort.Direction.DESC, "createAt") ) query.limit(3) return metaHotMongoTemplate.find(query, SomeDTO::class.java, collectionName).collectList() .awa..

[JavaScript] array ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” JavaScript array์—์„œ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์˜ number ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. const arr = [1, 2, 3, 4, 5]; ๋ฐฐ์—ด์˜ ์ด ๊ธธ์ด์—์„œ -1์„ ๋บ€ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•  ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. arr[arr.length - 1];

[React] Module not found: Can't resolve ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋ฆฌ์•กํŠธ์—์„œ ์ข…์ข… ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜์ธ Module not found: Can't resolve ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Module not found: Can't resolve "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช…" ์šด์˜ ์ด์Šˆ๊ฐ€ ์ ‘์ˆ˜๋˜์–ด ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด project ๋ฅผ ์—ด์—ˆ๋Š”๋ฐ์š”, ๊ฐ‘์ž๊ธฐ run ํƒ€์ž„์— ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋กœ ์ถ”๊ฐ€ ์„ค์น˜ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ์—†์—ˆ๋Š”๋ฐ ์™œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋”๋ผ๊ณ ์š”. ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚œ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด๋„ ๋˜‘๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์„ ๋ฐ”๊พธ๊ณ , ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•ด๋„ ๊ณ„์† ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค! How to solve 1. ์•„๋ž˜ ํŒŒ์ผ ๋ฐ ํด๋”๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. - yarn-..

Framework/React 2023.02.23

[CSS] html li tag ํƒœ๊ทธ ์  ์—†์• ๋Š” ๋ฐฉ๋ฒ•, list-style-type ์ข…๋ฅ˜

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” li ํƒœ๊ทธ์— ์žˆ๋Š” ์ ์„ ์—†์• ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์ ์šฉ๋œ ์Šคํƒ€์ผ ์ค‘ list-style-type์„ none์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. list-style-type: none; list-style-type list-style-type์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋‹ˆ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. /* Partial list of types */ list-style-type: disc; list-style-type: circle; list-style-type: square; list-style-type: decimal; list-style-type: georgian; list-style-type: trad-chinese-informal; list-style-type: ..

Programming/CSS 2023.02.22

[React] xlsx library ์‚ฌ์šฉ ์‹œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ (ios/android) ์—‘์…€ ํŒŒ์ผ ์•ˆ์—ด๋ฆฌ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฒ• (+ ์—‘์…€ ํ™•์žฅ์ž)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. react ์—์„œ xlsx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ์š”, ์›น์•ฑ์ด์—ฌ์„œ PC ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ณ , ์‹ค์ œ ios / android ์—์„œ๋Š” ํ…Œ์Šค๋ฅผ ํ•ด๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ PC ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—‘์…€ ํŒŒ์ผ์ด ์ž˜ ๋‹ค์šด๋ฐ›์•„์ง€๊ณ , ์ž˜ ์—ด๋Ÿฌ์„œ ๋™์ž‘์ด ์ž˜ ๋ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์–ด์š”. ํ•˜์ง€๋งŒ, ์‹ค์ œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋‹ˆ ์—‘์…€ ํŒŒ์ผ ๋‹ค์šด์€ ๋˜๋Š”๋ฐ, ์—ด๋ฆฌ์ง€๊ฐ€ ์•Š๋”๋ผ๊ณ ์š”. ์›์ธ์ด ๋ฌด์—‡์ผ๊นŒ ๊ณ ๋ฏผํ•˜๋ฉฐ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. How to solve the problem ๊ธฐ์กด์— ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ™•์žฅ์ž๋ฅผ xlsx์„ ์‚ฌ์šฉ์˜€๋Š”๋ฐ์š”, XLSX.writeFile (wb,"sample.xlsx "); ์ด๋ ‡๊ฒŒ ํ™•์žฅ์ž๋ฅผ xls๋กœ ๋ฐ”๊พธ๊ณ , ๋ชจ๋ฐ”์ผ์—์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋‹ˆ ์ž˜ ์—ด๋ฆฌ๋”๋ผ๊ณ ์š”. XLSX.wr..

Framework/React 2023.02.22

[Html] document.getElementsByTagName() ์‚ฌ์šฉํ•˜์—ฌ css ์Šคํƒ€์ผ ์ˆ˜์ • ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” document.getElementsByTagName()๋ฅผ ์‚ฌ์šฉํ•ด์„œ css styles์„ ์—…๋ฐ์ดํŠธ/์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ 2๊ฐ€์ง€ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. #1 ๋ชจ๋“  blockqutoe ํƒœ๊ทธ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๊ธธ์ด๋งŒํผ loop๋ฅผ ๋Œ๋ฉด์„œ ์Šคํƒ€์ผ์„ ์—…๋ฐ์ดํŠธ ํ•ด์ค๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ์—์„  margin์„ 0, borderLeft ์Šคํƒ€์ผ์„ '5px solid rgb(9 9 9)'๋กœ ์ˆ˜์ •ํ•ด์คฌ์Šต๋‹ˆ๋‹ค. function changeBlockquote() { let li_tags = document.getElementsByTagName('blockquote'); for (let i = 0; i < li_tags.le..

Programming/Html 2023.02.20

[React] apexcharts yaxis (y์ถ•) 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” apexcharts ์—์„œ yaxis y์ถ•์„ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. apexcharts๋ฅผ ์ด์šฉํ•ด์„œ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ์š”, ์ฐจํŠธ์˜ y์ถ•๊ฐ’์„ 0์œผ๋กœ ๊ณ ์ •ํ•˜๊ณ  ์‹ถ์€๋ฐ, ๊ณ„์† ์ˆซ์ž ๋ฒ”์œ„๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉด์„œ ๊ฐ’์ด ๋ณ€ํ•˜๋”๋ผ๊ณ ์š”. ๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์™€ ๊ฐ™์ด yaxis ์†์„ฑ์—์„œ min์„ 0์„ ์ ์šฉํ•˜๋ฉด y์ถ• ๊ฐ’์ด 0์œผ๋กœ ๊ณ ์ •๋˜์–ด ์„ธํŒ…๋ฉ๋‹ˆ๋‹ค. yaxis: { tickAmount: 3.5, min: 0, forceNiceScale: true, labels: { show: true, rotate: 0, style: { colors: '#828282', fontSize: '11rem', fontFamily..

Framework/React 2023.02.17

[React] apexcharts yaxis (y์ถ•) labels float ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, toFixed() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” apexcharts ์—์„œ yaxis label ์˜ ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜์™€ ๊ฐ™์ด yaxis > labels > formatter ๋ฅผ ์ ์šฉํ•˜๊ณ , toFixed() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. yaxis: { labels: { formatter(value) { return value.toFixed(0); }, }, },

Framework/React 2023.02.16
๋ฐ˜์‘ํ˜•