· iOS
들어가며MVVM을 왜 써야하는지 공부하다 의존성 주입이라는 키워드를 알게 되었다.MVVM을 사용하려면 의존성 주입 개념 이해가 필수적이라는 주변 말과 검색 결과를 보고 탐구하게 되었다.의존성 주입이란?의존성: 어떤 객체가 다른 객체의 기능에 의존하고 있다는 뜻이다.주입: 의존 객체를 내부에서 직접 만들지 않고 외부에서 주입받는다는 뜻이다. 내부에서 직접 만드는 방식class ViewModel { let repository = Repository()}외부에서 주입받는 방식class ViewModel { let repository: RepositoryType init(repository: RepositoryType) { self.repository = repository }..
· iOS
들어가며나는 현재 애플 아카데미에서 Apple Technology를 최대로 활용한 결과물을 만들어야 하는 Challenge중이다.내가 선택한 기술은 HomeKit이다. 전자공학과를 졸업했다보니 iot에 관심이 있었고 하드웨어를 만질 수 있을거란 기대감에 골랐다.Challenge의 솔루션 컨셉은 동화책을 읽어줄 때 HomeKit을 활용해 실감나게 읽어주는 컨셉으로 잡았다. 상황에 맞게 공간을 디자인 하고 싶은 내 의도를 보고 주변 러너가 던져준 아이디어다.아이디어는 팀원과 디벨롭시켜 공간 디자인 + 참여형 동화로 결정됐다.참여형 동화는 아이가 특정 행동을 하면 스토리가 진행되는 것을 말한다.(예: 도끼를 네 번 휘두르는 동작을 하면 콩나무가 잘리며 거인이 떨어짐)아이폰과 아이패드를 연결해야 하는 이유위의 ..
https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr import Foundationfunc solution(_ friends:[String], _ gifts:[String]) -> Int { let splitedGifts = gifts.map{$0.split(separator: " ")}.map{$0.map{String($0)}} var result:[Int] = [] var giftScoreDic:[String:Int] = [:] ..
· iOS
등수 매기기 문제를 풀던 중 평균 점수가 높은 순으로 정렬한 배열에서 학생의 평균점수를 넣어 index를 찾아야했다. [90, 56, 23, 11] // 평균 [90, 56, 23, 11].firstIndex(of: 56) // 1 반환 [90, 56, 23, 11].index(of: 56) // 1 반환 [90, 56, 56, 23, 11].firstIndex(of: 56) // 1 반환 [90, 56, 56, 23, 11].firstIndex(of: 23) // 3 반환 [90, 56, 56, 23, 11].index(of: 56) // 1 반환 [90, 56, 56, 23, 11].index(of: 23) // 3 반환 결론 firstIndex와 index로 찾을 수 있는데 둘 다 요소의 첫 번째 ..
· iOS
function 공부 중 throws라는 개념을 배우다 알아야 할 내용이라 유튜브 야곰님 영상을 참고해 공부했다. 비밀번호입력 함수 같은 오류가 발생할 수 있는 함수를 만들 때 먼저 오류의 케이스를 나눠줘야한다. 이렇게 비밀번호가 틀렸을 때와 비었을 때 두 가지로 나눠줬다. 그 다음 비밀번호를 입력하는 함수를 작성한다. 파라미터 괄호 뒤에 throws를 입력해서 오류가 발생할 수 있음을 나타낸다. 함수 내에선 조건문을 통해 throw로 오류 케이스를 던져준다. 이렇게 오류가 발생할 수 있어서 throws를 작성한 함수는 do catch try를 통해 호출해야한다. do { try //오류가 발생할 수 있는 함수 }catch 에러 케이스 { //에러일 때 실행할 코드 } 를 기본 형태로 생각하면 된다. 여..
· iOS
function 공부 중 How many parameters should a function accept? 이라는 질문에 순간 꽂혔다. https://www.hackingwithswift.com/quick-start/understanding-swift/how-many-parameters-should-a-function-accept hackingwithswift에선 "한 String의 길이가 어느 정도까지 길 수 있나요?"와 같은 질문이라고 했다. 간단히 말하면 답이 없다는거다. 아예 안쓸 수도 있고 20개를 쓸 수도 있다. 그래서 최대한 효율적으로 적은 파라미터를 사용하기를 권장한다. 그게 잘 쓴 코드니까. 반복문을 써서 100개까지 만들어봤는데 문제없이 잘 됐다. 10000개를 도전해봤다. 맥 사양만 ..
changjaemun
ito