[Swift] n의 배수 고르기 문제 회고
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 n의 배수 고르기 알고리즘 문제 회고를 작성해보려고 합니다. 그럼 바로 시작하겠습니다! 문제n의 배수 고르기 문제는 정수 n과 정수 배열 numlist가 매개변수로 주어지고, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 코드를 작성하는 문제입니다. 내가 풀었던 방식제가 풀었던 문제 방식은import Foundationfunc solution(_ n:Int, _ numlist:[Int]) -> [Int] { var result: [Int] = [] for i in numlist { if i % n == 0 { result.append(i) } } retu..
[Swift] 배열의 유사도 회고
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 제가 배열 유사도 확인 코드를 공부하면서 잘못된 부분에 대해서 회고(?)하는 포스팅을 작성해보려고 합니다. 그럼 바로 시작하겠습니다! 배열의 유사도일단 제가 풀려고 했던 문제는 배열 s1과 s2가 주어졌을 때 같은 원소의 개수를 return 하도록 함수를 작성하는 문제입니다. 예를 들어서 s1 배열에는 ["a", "b", "c"]가 존재하고 s2 배열에는 ["b", "c", "d"]가 존재한다고 하면 같은 원소는 b와 c이니까 return값이 2가 나오도록 말이죠. 그래서 저는 먼저 count변수를 선언하고 filter함수를 사용해서 중복이 있을 때마다 count 변수 값을 1씩 증가시키려고 했습니다. 내가 해결한 방식import Foundationfun..
[Swift] Actor 이해하기 (1/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Swift에서 동시성 프로그래밍을 할 때 사용하는 Actor에 대해서 정리를 해보려고 합니다! 물론 저번 글에서 동시성에 대해서 다룬 적이 있어서 Actor도 같이 살짝 설명하긴 했지만 자세히 다루진 못해서 이번 포스팅에서 좀 더 구체적으로 다뤄보려고 합니다. 해당 글이 궁금하신 분들은 여기를 참고해주세요!! 그럼 바로 시작하겠습니다!서론Swift의 동시성은 여러 작업을 동시에 수행하는 부분에서 성능과 응답성을 향상 시켜줍니다. 하지만 장점이 있는 만큼 단점도 존재합니다.단점으로는 여러 작업이 동일한 데이터를 동시에 접근할 때 문제가 발생할 수 있고 동시에 접근이 발생하게 되면 읽기 작업과 쓰기 작업이 혼재된다는 점입니다. 여러 작업이 동일한 데이터를 동..
[Swift] URL 살펴보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 제가 프로젝트를 공부하면서 많은 의문과 동시에 많은 부족함이 느껴졌던 URL에 대해서 정리를 해보려고 합니다. 서론제가 제대로 된 프로젝트(?)의 구조는 어떻게 되어 있고 어떤 기술들을 쓰는지 궁금하기도 하고 좋은 코드들을 최대한 많이 접해보고 안 보고 코딩도 해보면서 실력을 쌓고자 최근 클론 코딩을 해보고 있는데 제가 배우는 클론 코딩에서 정말 많이 나오는 코드가 URL 관련 코드였습니다. (내부에서 파일을 관리해야 하니 당연한 것 같기도...) 그런데 강의에서는 일단 URL을 쓰라고 하고 URL을 써야 한다고 하니까 쓰긴 하지만 정작 이 URL이 내부적으로 어떻게 처리가 되고 있는지 또, 왜 이 URL을 써야 하는지 궁금증이 들고, 쓰더라도 제대로 원..
[Swift] 동시성(Concurrency) 톺아보기 (2/2)
·
Apple/Swift
안녕하세요! 피피아노입니다.  이번 포스팅은 저번 포스팅에 이어서 동시성(Concurrency)에 대해서 마저 정리해보겠습니다. 저번 포스팅이 궁금한 분들은 여기를 참고해주세요! 비동기 시퀀스(Asynchronous Sequences)비동기 시퀀스(asynchronous sequence)는 비동기적으로 요소를 하나씩 기다리면서 처리할 수 있는 강력한 도구입니다. Swift의 AsyncSequence 프로토콜을 사용하여 이러한 비동기 시퀀스를 구현할 수 있습니다. 비동기 시퀀스를 사용하면 일반적인 배열이나 컬렉션과 달리, 요소를 순차적으로 비동기적으로 처리할 수 있습니다. 이전 포스팅에서 listPhotos(inGallery:) 함수는 비동기적으로 배열의 모든 요소가 준비된 후에 전체 배열을 한번에 반환합..
[Swift] 동시성(Concurrency) 톺아보기 (1/2)
·
Apple/Swift
안녕하세요! 피피아노입니다🎵 이번 포스팅에서는 동시성(Concurrency) 개념에 대해서 정리를 해보려고 합니다.  동시성(Concurrency)Swift는 비동기(Asynchronous)와 병렬(Parallel) 코드를 구조적으로 작성할 수 있는 강력한 기능을 제공합니다. 이 기능들을 통해 앱의 성능을 최적화하고, 사용자 경험을 향상시킬 수 있습니다. 비동기 코드(Asynchronous Code)비동기 코드는 일시적으로 중단되었다가 다시 실행될 수 있는 코드를 의미합니다. 프로그램의 한 부분만 실행되지만, 실행을 중단하고 다시 시작함으로써 긴 작업(예: 네트워크 요청, 파일 분석)을 수행하는 동안 짧은 작업(예: UI 업데이트)을 계속 진행할 수 있습니다. 이렇게 하면 앱이 사용자에게 더 부드럽고 ..