๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IOS์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ, ๊ฐœ๋… IOS์˜ GCD(Grand Central Dispatch) : ๋ฉ€ํ‹ฐ ์ฝ”์–ด ํ”„๋กœ์„ธ์„œ์— ์ฝ”๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ”„๋ ˆ์ž„์›ŒํฌGCD์˜ ์ž‘์—…๋‹จ์œ„ : TaskTask๋ฅผ Dispatch Queue์— ์ „๋‹ฌํ•˜๋ฉด ์‹œ์Šคํ…œ์€ ํ•ด๋‹น ๋™์‹œ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•จ. Task์˜ ๋‹จ์œ„๋Š” {} ๋ธ”๋ก, DispatchWorkItem์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋œ๋‹ค.Dispatch Queue๋Š” Main Thread, Background Thread์—์„œ Task๋“ค์„ Serially or Concurrently ํ•˜๋„๋ก ์‹คํ–‰์‹œํ‚ค๋Š” Dispatch Object์˜ ํด๋ž˜์Šค์ž„. ๋น„๋™๊ธฐ : DispatchQueue.main.async { code } ๋™๊ธฐ : DispatchQueue.main.sync { code } .. 2023. 8. 17.
[Kotlin] ์ž๋ฃŒ๊ตฌ์กฐ : Hash, Tree, Binary Search Tree, Heap, Priority Queue package com.samclarke.android.util // playHash()import java.security.MessageDigest // playHash()import java.security.DigestException // playHash()import java.util.* // playPriorityQueue()fun main() { println("Hello kotlin.....") // playHash() // playTree() // playBST() // playHeap() // playPriorityQueue()}private fun playHash() { /** *.. 2023. 7. 18.
23๋…„ ์ƒ๋ฐ˜๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ํ•˜๋ฐ˜๊ธฐ๋ฅผ ์ค€๋น„ํ•˜๋Š”.. ๋ฒŒ์จ 6์›” 30์ผ์ด ๋œ ๊ฒƒ์ด ๋†€๋ผ์›Œ์„œ ์˜ฌ๋ ค๋ณด๋Š” 23๋…„ ์ƒ๋ฐ˜๊ธฐ ํšŒ๊ณ ๋Š” ์•„๋‹ˆ๊ณ ๐Ÿคญ ๋А๋‚Œ.. ์  ๊ฐ™์€ ์™œ ์ด๋ ‡๊ฒŒ ์˜ฌํ•ด๋Š” ์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ๊ฐ€๋Š” ๊ฑด์ง€ ๋ฒŒ์จ ์ƒ๋ฐ˜๊ธฐ๊ฐ€ ๋๋‚˜๊ณ  ์ด์ œ 3๋ถ„๊ธฐ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค๋Š” ๊ฒƒ์ด ๋†€๋ž๊ธฐ๋งŒ ํ•˜๋‹ค. ์˜ฌ ์ดˆ, ๋ธ”๋กœ๊ทธ์— Fllutter ๊ธ€์„ ์˜ฌ๋ฆด ๋•Œ๋งŒ ํ•ด๋„ ์ง€๊ธˆ์˜ ๋‚ด ์ƒํ™ฉ์„ ์˜ˆ์ƒํ•˜์ง€๋Š” ๋ชปํ–ˆ์—ˆ๋Š”๋ฐ, ๋ฒŒ์จ ๋ณธ์‚ฌ๋กœ ์ „์ ๋˜์–ด ๊ทผ๋ฌดํ•œ ์ง€๋„ 4๊ฐœ์›”์ด ๋„˜์–ด๊ฐ„๋‹ค. ๋‹คํ–‰ํžˆ๋„ ๋˜ ์ข‹์€ ๋™๋ฃŒ, ์„ ๋ฐฐ๋“ค์„ ๋งŒ๋‚˜ ๋˜ ์—ด์‹ฌํžˆ ์ ์‘ํ•˜๊ณ  ์—ด์‹ฌํžˆ ๋‚ด ํ˜„์ƒ์„ ์‚ด์•„๋‚ด๋Š” ๊ฒƒ์ด ๋ฐ”๋นด๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜๋„ ์˜์–ด ํšŒํ™” ํ•™์›๋„ ๋‹ค๋‹ˆ๊ณ  ์กฐ๊ธˆ์”ฉ ๊ธฐ์ˆ ์„œ์ ๋„ ์ฝ์–ด๋‚ด๋ ค๊ณ  ๋…ธ๋ ฅ์€ ํ•˜๊ณ  ์žˆ๊ธด ํ•œ๋ฐ, ๋งˆ์Œ์ฒ˜๋Ÿผ ์ฐธ ์‰ฝ์ง€๋Š” ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ์—ฌ์ „ํžˆ ์š•์‹ฌ์€ ๋งŽ๊ณ  ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋„ ๋งŽ์ง€๋งŒ ์‹œ๊ฐ„์€ ํ•œ์ •์ ์ด๊ณ  ๋‚ด ์ฒด๋ ฅ๋„ ํ•œ์ •์ ์ด๋ผ๋Š” ๊ฒƒ์„ ์š”์ฆ˜ ์ ˆ์‹คํžˆ ๊นจ๋‹ซ๋Š” ์ค‘์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ƒˆ.. 2023. 6. 30.
XCode [14.3 ver] ์—์„œ Archive๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด... ์ด๋ฒˆ ๋ฐฐํฌ ๊ณผ์ • ์ค‘์—, ๋””๋ฒ„๊น… ์šฉ ์•„์ดํฐ์—์„œ IOS ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ์–ด์ฉ” ์ˆ˜ ์—†์ด XCode๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์˜€๋Š”๋ฐ์š”.์›Œ๋‚™ ์œ ๋ช…ํ•œ XCode์˜ ์ตœ์‹  ๋ฒ„์ „์˜ ์•…์งˆ์ ์ธ... ์ƒํ™ฉ์— ๋Œ€ํ•ด์„œ ์ œ๊ฐ€ ์ด๋ฒˆ์— ๊ฒฝํ—˜ํ•œ ์ด์Šˆ์— ๋Œ€ํ•ด์„œ ๊ณต์œ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ฝ”๋“œ์ƒ์—์„œ๋Š” ๋ณ€ํ™”๊ฐ€ ์—†์—ˆ๋Š”๋ฐ XCode๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ํ•ญ์ƒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์–ด์ง€๊ฐ„ํ•ด์„œ๋Š” ์ ˆ๋Œ€ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋ฐ์š”. ์—ญ์‹œ๋‚˜ ์—…๋ฐ์ดํŠธ์™€ ๋™์‹œ์— Archive๊ฐ€ ์•ˆ ๋˜๋Š” ์ด์Šˆ๊ฐ€ ์ƒ๊ฒจ ๋„ˆ๋ฌด๋‚˜๋„ ๊ณค๋ž€ํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์˜€์—ˆ์Šต๋‹ˆ๋‹ค. ๋นจ๋ฆฌ ๋ฐฐํฌ๋ฅผ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์ด๋Ÿฌ๋‹ˆ๊นŒ ๋„ˆ๋ฌด ๋‹นํ™ฉ์Šค๋Ÿฝ๋”๊ตฐ์š”.์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์•ฑ ์ฝ”๋“œ๋Š” ๋Œ์•„๊ฐ€์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.File not found: /Applications/Xcode.app/Contents/Developer/Toolchai.. 2023. 6. 19.
2์žฅ. ๊ฐœ๋ฐœ๊ธฐ๋ฒ• (#2) ์ด์ „ ๋‚ด์šฉ๊ณผ ์ด์–ด์ง€๋Š” ๊ธ€ ์ž…๋‹ˆ๋‹ค. 1์žฅ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ผ. C++ ์–ธ์–ด๊ฐ€ ์–ด๋ ค์šด ์ด์œ , ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ ์ž์›๋“ค(CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ)์„ ์ž์œ ๋กญ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” C์–ธ์–ด๋ฅผ ํƒ‘์žฌํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. C์–ธ์–ด๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋‚ด์žฅํ•œ ๊ทน๋‹จ์ ์ธ ์ตœ์ ํ™”๋„ ๊ฐ€๋Šฅ time-for-us-to-shine.tistory.com ๋ชจ๋“ˆ ํŠธ๋ฆฌ "๊ทœ๋ชจ๊ฐ€ ํฐ ๋ชจ๋“ˆ์˜ ์ข…์†์„ฑ ๋ฌธ์ œ" ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ•ต์‹ฌ ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ์ฝ”๋“œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ์—๋Š” ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š” ๊ธฐ์ € ํ•จ์ˆ˜๋“ค ๋ถ€ํ„ฐ ๊ฐ ํ”Œ๋žซํผ์— ๋งž๋Š” ํ•จ์ˆ˜๋“ค๊นŒ์ง€ ๋ชจ๋‘ ๊ฐœ๋ฐœ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ ํŒŒ์ผ๋“ค์˜ ์ข…์† ๊ด€๊ณ„๋„ ๋ณต์žกํ•ด์ง€๋Š” ์ผ์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฐ ์ฝ”๋“œ๋“ค์€ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •, ์‚ญ์ œ ํ•ด์•ผํ•  ์ผ์ด ์žˆ์„.. 2023. 6. 17.
[Kotlin] ์ž๋ฃŒ๊ตฌ์กฐ : Stack, Queue, Deque, Array, ArrayList, LinkedList import java.util.*fun main() { println("Hello kotlin.....") // playStack() // playQueue() // playDeque() // playArray() // playArrayList() // playLinkedList()}private fun playStack() { /** * ์Šคํƒ : Stack * LIFO(Last In First Out) : ๋ชฉ๋ก์˜ ๋์—์„œ๋งŒ ์ ‘๊ทผ, ์ ‘๊ทผ์ด ์ œํ•œ์ ์ž„. * * [์‹œ๊ฐ„๋ณต์žก๋„] * - ์ ‘๊ทผ, ๊ฒ€์ƒ‰ O(n) ์ฒ˜์Œ index ๋ถ€ํ„ฐ ์ ‘๊ทผ * - ์ถ”๊ฐ€, ์‚ญ์ œ O(1) ๋งˆ์ง€๋ง‰ index์— ์ถ”๊ฐ€, ์‚ญ์ œ * * .. 2023. 6. 16.
728x90
๋ฐ˜์‘ํ˜•