๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 9๊ธฐ ์ฑŒ๋ฆฐ์ง€ 3์ฃผ์ฐจ ํšŒ๊ณ 

์ž๋งŒํ•˜์ง€ ๋ง์ž.ย ย ๋‚˜๋ฆ„๋Œ€๋กœ ์ฑŒ๋ฆฐ์ง€ ์ƒํ™œ์— ์ต์ˆ™ํ•ด์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.ํ•˜์ง€๋งŒ, 3์ฃผ ์ฐจ์™€ 4์ฃผ ์ฐจ์˜ ์‹œ๊ฐ„ํ‘œ๋ฅผ ๋ณด๊ณ  1, 2์ฃผ ์ฐจ์™€๋Š” ํ•™์Šต๋ถ„์œ„๊ธฐ๊ฐ€ ๋‹ค๋ฅผ๊ฒƒ์ด๋ผ ์˜ˆ์ƒํ–ˆ๋‹ค.์™œ๋ƒํ•˜๋ฉด ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์•„์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.ย ย ์†”์งํžˆ, ๋‚œ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ž์‹ ์žˆ์—ˆ๋‹ค.ย ์Šคํ„ฐ๋””์—์„œ ์ง์ ‘ ๋“œ๋ผ์ด๋ฒ„์™€ ๋‚ด๋น„๊ฒŒ์ดํ„ฐ ์—ญํ• ์„ย ๋‚˜๋ˆ ์„œ ์ง„ํ–‰ํ–ˆ๋˜ ๊ฒฝํ—˜๋„ ์žˆ๊ณ ,ํšŒ์‚ฌ์—์„œ๋„ ๊ฑฐ์˜ ํ•˜๋Š” ์ผ์ด ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ฐ€๊นŒ์› ๊ธฐ ๋•Œ๋ฌธ์— . . .ย ย ํ•˜์ง€๋งŒ์ด๋ฒˆ์ฃผ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ,๋‚ด ๋Ÿฌ๋‹ ์ปค๋ธŒ์™€ ์ดํ•ด๋ ฅ์ด ๋งŽ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฑธ ๋Š๊ผˆ๋‹ค.ย ๋ฏธ์…˜ ๋‚ด์šฉ์„ ์ƒ์„ธํžˆ ๋งํ•  ์ˆ˜ ์—†์ง€๋งŒ,๋‚˜๋Š” ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ž์‹ ์žˆ๋Š”๊ฒŒ ์•„๋‹Œ,์ž๋งŒํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฑธ ํ™•์‹คํžˆ ๊นจ๋‹ฌ์•˜๋‹ค.ย ย ์ž์‹ ๊ฐ๊ณผ ์ž๋งŒ์€ ํ•œ ๋— ์ฐจ์ด์ธ ๊ฒƒ ๊ฐ™๋‹ค.๋‚œ ์ž์‹ ๊ฐ์ด ์•„๋‹Œ ์ž๋งŒ์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.ย ์ž๋งŒํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์€ ..

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 9๊ธฐ ์ฑŒ๋ฆฐ์ง€ 2์ฃผ์ฐจ ํšŒ๊ณ 

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ ์บ ํ”„์˜ ์ฒ ํ•™1. ์Šค์Šค๋กœ๊ฐ€ ํ•™์Šต์˜ ์ฃผ์ฒด๊ฐ€ ๋œ๋‹ค.2. ์ปค๋ฎค๋‹ˆํ‹ฐ ์•ˆ์—์„œ ์„ฑ์žฅํ•œ๋‹ค.ย ย ๋‹ค์–‘ํ•œ ํ™œ๋™์„ ํ†ตํ•ด์ ์  ๋งŽ์€ ์บ ํผ๋“ค์„ ๋งŒ๋‚˜๋ฉด์„œ,์ปค๋ฎค๋‹ˆํ‹ฐ ํ•™์Šต์˜ ํšจ๊ณผ๋ฅผ ์ œ๋Œ€๋กœ ๋Š๋ผ๊ณ  ์žˆ๋‹ค!ย ํ˜ผ์ž ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ,1์ฃผ ์ฐจ์— ๋น„ํ•ด, ์ฝ”์–ด ํƒ€์ž„์— ์ง‘์ค‘ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‚˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค . .ย ๊ทธ ํ›„,์บ ํผ๋“ค๊ณผ ์˜๊ฒฌ์„ ๋‚˜๋ˆ„๋ฉด์„œ ๊ฐ™์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š”๋ฐ,์‹œ๊ฐ„ ๊ฐ€๋Š” ์ค„ ๋ชจ๋ฅด๊ณ  ์™„์ „ํžˆ ๋ชฐ์ž…ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค!ย ๋‚˜ ํ˜ผ์ž ๊ณต๋ถ€ํ•  ๋• ๋จธ๋ฆฌ์— ์•ˆ ๋“ค์–ด์˜ค๋˜ ์ง€์‹๋“ค์ด๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ดํ•ด์‹œํ‚ค๊ณ  ์„ค๋“์‹œ์ผœ์•ผ ํ•˜๋‹ˆ๊นŒ ์„ค๋ช…์„ ํ•ด์•ผ ํ–ˆ๊ณ ,๊ทธ ๊ณผ์ •์—์„œ CS ๊ฐœ๋…๋“ค์ด ํ•˜๋‚˜๋‘˜์”ฉ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค . . ๐Ÿฅน์ปค๋ฎค๋‹ˆํ‹ฐ ์•ˆ์—์„œ ์„ฑ์žฅํ•˜๋Š” ๊ฒƒ์ด ์ด๋Ÿฐ ๊ฑฐ๊ตฌ๋‚˜๋ฅผ ๋Š๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค.ย ย ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ข‹์€ ๋ฐ‘๊ฑฐ๋ฆ„์„ ๋‹ค์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋ฟŒ๋“ฏํ•˜์ง€๋งŒ,๋ฒŒ์จ ์ฑŒ๋ฆฐ์ง€๊ฐ€ ์ ˆ๋ฐ˜์ด๋‚˜ ์ง€๋‚˜๊ฐ€์„œ ์•„์‰ฝ๋‹ค . ...

์ฝ”ํ‹€๋ฆฐ Kotlin 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๊ธฐ

์ฝ”ํ‹€๋ฆฐ Kotlin 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๊ธฐ1. 2์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ธval array = arrayOf( intArrayOf(1, 2, 3), intArrayOf(4, 5, 6), intArrayOf(7, 8, 9))ย 2. 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„private fun printArray(array: Array) { val sb = StringBuilder() for (row in array) { for (element in row) { sb.append(element).append(" ") } sb.append("\n") } println(sb.toString())}ย 3. ์ถœ๋ ฅ ํ™•์ธย ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€๋ฉด์„œ์ข…์ข… ๋ถˆํŽธ..

Kotlin 2024.07.24 0

์•ˆ๋“œ๋กœ์ด๋“œ Android ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ Flow ์ดํ•ดํ•˜๊ธฐ

ํ•ซ ์ŠคํŠธ๋ฆผ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋น„ํ•˜๋Š” ๊ฒƒ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์›์†Œ๋ฅผ ์ƒ์„ฑCoroutines Channel์ปฌ๋ ‰์…˜(List, Set)ย ์ฝœ๋“œ ์ŠคํŠธ๋ฆผ์š”์ฒญ์ด ์žˆ์„ ๋•Œ๋งŒ ์ž‘์—…์„ ์ˆ˜ํ–‰Sequence, StreamFlow, RxJava ์ŠคํŠธ๋ฆผย FlowFlow๋ฅผ ๋ฌด๊ธฐ ์•„์ดํ…œ ๊ณต์žฅ ์•ˆ์— ์žˆ๋Š” ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ๋ผ๊ณ  ์ƒ๊ฐ๐Ÿ’จ๊ฐ๊ฐ์˜ ์•„์ดํ…œ๋“ค์„ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ์ƒ๊ฐ๋ฌด๊ธฐ ์ €์žฅ๊ณ ์—์„œ ๋ฌด๊ธฐ(๋ฐ์ดํ„ฐ)๋“ค์„ ๋žœ๋ค ํ•˜๊ฒŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ์ƒํ™ฉ๋“ค์„ ์ €์žฅํ•ด ๋ณด์ž!sealed class Weapon { class Sword(): Weapon() class Staff(): Weapon() class SpellBook(): Weapon()}ย Flow ์ƒ์„ฑval weaponProducer: FlowFlow๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ• โ†’ ์ฝ”๋ฃจํ‹ด ์ฑ„๋„์˜ prod..

Android 2024.07.21 0

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 9๊ธฐ ์ฑŒ๋ฆฐ์ง€ 1์ฃผ์ฐจ ํšŒ๊ณ 

์ €๋ฒˆ์ฃผ์— ํ‡ด์‚ฌํ•˜๊ณ ์ด๋ฒˆ์ฃผ ์›”์š”์ผ๋ถ€ํ„ฐ ๋ฐ”๋กœ ๋ถ€์ŠคํŠธ์บ ํ”„ ์ฑŒ๋ฆฐ์ง€ ๊ณผ์ •์„ ์‹œ์ž‘ํ–ˆ๋‹ค.ย ์™€์ฐจ๋ผ๋ฆฌ ๋‹ค์‹œ ํšŒ์‚ฌ๊ฐˆ๋ž˜ย ย ย ๋„ˆ๋ฌด ํž˜๋“ค๋‹ค..ย ํ•˜๋ฃจ์— ๋งŽ์ด ์ž๋ฉด 5์‹œ๊ฐ„ ์ž๋Š” ๊ฒƒ ๊ฐ™๋‹ค.ย ๋งค์ผ๋งค์ผ์ด ๋ง ๊ทธ๋Œ€๋กœ ์ฑŒ๋ฆฐ์ง€. ๋„์ „์ด๋‹ค.์ž๊ธฐ ์ฃผ๋„์ ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๊ฒŒ ์ด๋ ‡๊ฒŒ ์–ด๋ ค์šด ๊ฑด์ง€ ๋ชฐ๋ž๋‹ค.ย ๊ทธ๋ž˜๋„ ํ•จ๊ป˜ํ•˜๋Š” ์บ ํผ๋“ค์ด ์žˆ์–ด์„œ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ์—ˆ๋‹ค..์ •๋ง ๋‹ค๋“ค ์—ด์ •์ ์ด๊ณ , ์„ฑ์žฅ ์š•์‹ฌ์ด ๊ฐ€๋“ํ•ด์„œ ๋งค์ผ ์ž๊ทน์„ ๋ฐ›๋Š”๋‹ค.๐Ÿ”ฅย ๊ทผ๋ฐ ์ฒด๋ ฅ์ด ๋”ธ๋ฆฌ๋Š” ๊ฑด ์–ด์ฉ” ์ˆ˜ ์—†๋‚˜ ๋ณด๋‹ค..๋‹ค์Œ ์ฃผ๋ถ€ํ„ฐ๋Š” ์šด๋™์„ ๊ผญ ๋ณ‘ํ–‰ํ•ด์•ผ์ง€.๐Ÿƒ

Kotlin ์ฝ”ํ‹€๋ฆฐ ๋ฐฑ์ค€ 25344 ํ–‰์„ฑ ์ •๋ ฌ

๋ฌธ์ œํ–‰์„ฑ ์ •๋ ฌ์€ ํ–‰์„ฑ๋“ค์ด ์ผ์ง์„ ์œผ๋กœ ์ •๋ ฌ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ˜„์ƒ์ด๋‹ค. ์ตœ๊ทผ ์ง€๊ตฌ์—์„œ๋„ 18๋…„ ๋งŒ์— ํ–‰์„ฑ ์ •๋ ฌ์„ ๊ด€์ธกํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.ํ‰ํ–‰์„ธ๊ณ„์˜ ์ค€์„œ๊ฐ€ ์‚ด๊ณ  ์žˆ๋Š” ์ง€๊ตฌ์—์„œ๋Š” $N$๊ฐœ์˜ ํ–‰์„ฑ์„ ๊ด€์ธกํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค€์„œ๋Š” ์–ผ๋งˆ๋‚˜ ๊ธฐ๋‹ค๋ ค์•ผ $N$๊ฐœ์˜ ํ–‰์„ฑ์ด ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋˜๋Š” ์ˆœ๊ฐ„์„ ๋ณผ ์ˆ˜ ์žˆ์„์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.ํ•˜๋Š˜์„ ์—ด์‹ฌํžˆ ๊ด€์ฐฐํ•œ ๊ฒฐ๊ณผ, ์ค€์„œ๋Š” ๋‹ค์Œ ์‚ฌ์‹ค๋“ค์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.โ€Š๐‘๊ฐœ์˜ ํ–‰์„ฑ์ด ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋˜๋Š” ์ˆœ๊ฐ„์ด ์กด์žฌํ•œ๋‹ค.ํ–‰์„ฑ ์ •๋ ฌ์˜ ์ฃผ๊ธฐ๋Š” $10^{9}$์ดˆ ์ดํ•˜์ด๋‹ค.1, 2, 3๋ฒˆ์งธ ํ–‰์„ฑ์€ $T_1$์ดˆ๋งˆ๋‹ค ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ๋‹ค.โ€Š2, 3, 4๋ฒˆ์งธ ํ–‰์„ฑ์€ $T_2$์ดˆ๋งˆ๋‹ค ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ๋‹ค....$N-2, N-1, N$๋ฒˆ์งธ ํ–‰์„ฑ์€ $T_{N-2}$์ดˆ๋งˆ๋‹ค ์ผ๋ ฌ๋กœ ๋‚˜์—ด๋œ๋‹ค.์ค€์„œ๋ฅผ ์œ„ํ•ด ํ–‰์„ฑ ์ •๋ ฌ์˜ ์ฃผ๊ธฐ๋ฅผ ๊ตฌํ•ด์ฃผ์ž.ย ์ž…๋ ฅ์ฒซ์งธ ์ค„์— ์ •๋ ฌ๋˜..

Algorithm 2024.07.15 5

์ฝ”ํ‹€๋ฆฐ Kotlin java.util.ConcurrentModificationException ์—๋Ÿฌ

๊ทธ๋ ‡๋‹ค.ย ์ด ๊ธ€์€ ๋ฐฉ๊ธˆ ์ฝ”ํ…Œ์—์„œ ์ € ์—๋Ÿฌ๋ฅผ ๋ณด๊ณ  ์ฒ˜์Œ ๋ณด๋Š” ์—๋Ÿฌ๋ผ ๋‹นํ™ฉํ–ˆ๊ณ , ๋กœ์ง์€ ๋‹ค ์งฐ๋Š”๋ฐ ์ €๊ฒƒ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ๋ชป ํ’€์–ด์„œ ๋ถ„๋…ธ์— ์ฐจ์„œ ์“ฐ๋Š” ๊ธ€์ด๋‹ค.ย ย java.util.ConcurrentModificationException ์ด๋ž€^^!!์ฃผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๋™์‹œ์— ์ˆ˜์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค.ย ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ์— list๋ฅผ for๋ฌธ์œผ๋กœ ๋Œ๋ฆฌ๋ฉด์„œ,ย tempList = list๋ฅผ ์„ ์–ธํ–ˆ๋Š”๋ฐ,์ด๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค..๐Ÿ˜ตย ์ดํ•ด๊ฐ€ ์‰ฝ๋„๋ก ์ฝ”๋“œ๋ฅผ ๋ณด์ž!ย list ๋งจ ์•ž์˜ element๋ฅผ ๋งจ๋’ค๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋กœ์ง์ด๋‹ค.fun solution(list: MutableList) { for ((i, element) in list.withIndex()) { val tempList = list ..

Kotlin 2024.07.11 0

2024๋…„ 5์›” ํšŒ๊ณ 

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

Downloadable and Preloaded Fonts on Android

Downloadable and Preloaded Fonts on Android ์•ฑ์„ ๋…ํŠนํ•˜๊ฒŒ ๋ณด์ด๊ณ  ๋Š๋ผ๊ฒŒ ๋งŒ๋“œ๋Š” ์ค‘์š”ํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋Š” ํ›Œ๋ฅญํ•œ ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ ํฐํŠธ๋Š” Roboto์ธ๋ฐ, ์‚ฌ์šฉ์ž์˜ ํฐํŠธ๊ฐ€ ์•„๋‹Œ Roboto๋ฅผ ๋ณด๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•ด Google์€ Google Fonts ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ํฐํŠธ๋ฅผ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์—ˆ๊ณ , ์ด๋ฅผ Downloadable Fonts๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ถ”ํ›„ Google์€ Preloaded Fonts๋ฅผ ์†Œ๊ฐœํ•˜์—ฌ ์•ฑ์ด ์‹คํ–‰๋  ๋•Œ๊ฐ€ ์•„๋‹Œ ์„ค์น˜๋  ๋•Œ ํฐํŠธ๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. Downloadable Fonts๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๊ณ , ํฐํŠธ๋ฅผ Preload ..

Android Weekly 2024.04.23 0

2024 ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ (์ฒดํ—˜ํ˜• 1์ฐจ) ๋ฉ˜ํ‹ฐ ํ•ฉ๊ฒฉ

์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ ์ฒดํ—˜ํ˜• ํ”„๋กœ์ ํŠธ๋Š” ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉ์‹์˜ ๊ฐœ๋ฐœ๋ฌธํ™”์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์˜ˆ๋น„ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ 6์ฃผ ์†์„ฑ ๋ฉ˜ํ† ๋ง ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์•ฝ 2๋…„ ์ „ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ์—์„œ Masters๊นŒ์ง€ ๊ฐ€์ง€ ๋ชปํ•œ ๊ฒƒ์ด ์•„์ง๊นŒ์ง€๋„ ๋„ˆ๋ฌด ์•„์‰ฝ๊ธฐ๋„ ํ–ˆ๊ณ , ๊ทธ ์ดํ›„๋กœ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌ๋ฅผ ๊ฑฐ์˜ ๋ชปํ•ด์„œ๐Ÿ˜“ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์‹ ์ฒญํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค! ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๊ณ  ๊ทธ์ค‘์—์„œ ์ฐธ๊ฐ€ํ•˜๊ณ  ์‹ถ์€ 1์ง€๋ง๊ณผ 2์ง€๋ง ํ”„๋กœ์ ํŠธ์— ์ง€์›ํ•˜๋Š” ๋ฐฉ์‹์ธ๋ฐ, ๋‚˜๋Š” 1์ง€๋ง๊ณผ 2์ง€๋ง ๋ชจ๋‘ 'Git ํ™œ์šฉ ๋ฐ .NET ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ' ํ”„๋กœ์ ํŠธ์— ์‹ ์ฒญํ–ˆ๋‹ค. Redis๋‚˜ JS, LLM ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ, ์•„๋ฌด๋ž˜๋„ ์•ฑ ๊ฐœ๋ฐœ์ž์ธ ๋‚˜์—๊ฒŒ๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ๋ฐ–์— ์•ˆ๋ณด์˜€๋‹ค~~~!๐Ÿซ ๐Ÿ’› ๊ฐ„์ ˆํ•˜๊ฒŒ ์ง€์›์„œ๋ฅผ ์ ์€ ๋•๋ถ„์ธ์ง€ , , ๋ฉ˜ํ‹ฐ๋กœ ์„ ๋ฐœ..