๋ฐ˜์‘ํ˜•

Programming 76

[Kotlin] ํ˜„์žฌ ๋‚ ์งœ/ํŠน์ • ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ๊ฐ€์ ธ์˜ค๊ธฐ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ํ˜„์žฌ ๋‚ ์งœ, ์‹œ๊ฐ„ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์€ ์•„๋ž˜์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LocalDateTime.now() : ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ LocalDate.now : ํ˜„์žฌ ๋‚ ์งœ import java.time.LocalDate import java.time.LocalDateTime fun main(args: Array) { val dateTime: LocalDateTime = LocalDateTime.now() val date: LocalDate = LocalDate.now() println("Current dateTime: $dateTime") // Current dateTime: ..

Programming/Kotlin 2023.01.12

[JavaScript] ํŠน์ • ๋ฌธ์ž์—ด ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•œ๋ฐ์š”, ๊ทธ ์ค‘์—์„œ ์ €๋Š” replace() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. replace()ํ•จ์ˆ˜๋Š” ํŠน์ • ๋ฌธ์ž์—ด์ด ์กด์žฌํ•˜๊ฑฐ๋‚˜ ์ •๊ทœ์‹์— ๋งŒ์กฑํ•  ๊ฒฝ์šฐ, ์›ํ•˜๋Š” ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•ด ์ค๋‹ˆ๋‹ค. const str = 'APPLE'; console.log(str.replace('A', '')); // ๋ฌธ์ž์—ด 'A'๋ฅผ ๋นˆ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด, result: PPLE console.log(str.slice('L', '')); // ๋ฌธ์ž์—ด L'๋ฅผ ๋นˆ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด, result: APPE

[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..

[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

[JavaScript] Math.floor()์ด๋ž€?

Intro JavaScript์˜ Math.floor() ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Math.floor()? Math.floor() ํ•จ์ˆ˜๋Š” ํ•ญ์ƒ ๋‚ด๋ฆผํ•˜์—ฌ ์ฃผ์–ด์ง„ ์ˆซ์ž๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ€์žฅ ํฐ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Syntax Math.floor(x) Parameters x : A number ์ˆซ์ž Example Math.floor(-Infinity); // -Infinity Math.floor(-45.95); // -46 Math.floor(-45.05); // -46 Math.floor(-0); // -0 Math.floor(0); // 0 Math.floor(4); // 4 Math.floor(45.05); // 45 Math.floor(45.95); // 45 Math.floor(Infini..

[JavaScript] parseInt()์ด๋ž€?

Intro JavaScript์˜ parseInt() ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. parseInt()๋ž€? parseInt() ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ์ธ์ž๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ํŠน์ • ์ง„์ˆ˜(์ˆ˜์˜ ์ง„๋ฒ• ์ฒด๊ณ„์—์„œ ๊ธฐ์ค€์ด ๋˜๋Š” ๊ฐ’)์˜ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Syntax parseInt(string) parseInt(string, radix) Parmaters string : ํŒŒ์‹ฑํ•  ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์ด ์•„๋‹ ๊ฒฝ์šฐ ToString ์ถ”์ƒ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์˜ ์„ ํ–‰ ๊ณต๋ฐฑ์€ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. radix (optional) : string์˜ ์ง„์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 2๋ถ€ํ„ฐ 36๊นŒ์ง€์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. Example parseInt('0xF', 16) parseInt('F', 16) parseInt('17', 8) parseInt(021..

๋ฐ˜์‘ํ˜•