전체 글

iOS 개발

BaseViewController란?

BaseViewController란? BaseViewController는 UIViewController를 상속받는 커스텀 뷰컨트롤러를 뜻한다. 이러한 BaseViewController를 사용하는 이유는 개발자가 사용하기 편하게 커스텀 한 후 ViewController를 생성할 때 UIViewController가 아닌 BaseViewController를 상속받아 사용하기 위함이다. 기존: MyViewController: UIViewController 커스텀: BaseViewController: UIViewController -> MyViewController: BaseViewController BaseViewController에 들어가야 할 내용 중복적으로 사용하게 되는 부분들을 주로 넣는데 가령, - 앱..

기타

Adjust 정리

Adjust는 모바일 앱 딥링킹을 위한 라이브러리. 모바일 앱 딩링킹은 사용자가 웹 페이지 또는 다른 앱에서 URL을 클릭할 시 앱을 실행하고 페이지를 여는 기술이다. 가령 음악 앱을 출시했을 경우, 웹 사이트에서 짧은 미리듣기를 제공한 후 해당 음악 앱으로 연결할 수 있다. 이처럼 사용자 경험을 원활하게 하고 전환율과 유지율을 크게 높일 수 있다. 또한 이런 딥링킹은 광고에서도 유용하다. 예를 들어 웹 사이트에서 상품을 미리 보여주고, 사람들이 웹 사이트가 아닌 앱에서 이 내용을 보기를 원할 때 딥링크가 유용한 수단이 된다. 앱이 이미 설치된 경우 사용자가 링크를 클릭하면 앱이 열리고 제품이 바로 표시되도록 할 수 있다. 딥링크의 주요 목적은 사용자를 유지하는 것에 있다. 궁극적으로 딥링킹은 앱 생태계..

iOS 개발/HIG

[HIG] Human Interface Guide 정의

iOS 신입 개발자로써 공부해두면 좋을 게 무엇이 있을까 고민하다가 HIG에 대해 자세히 공부한 시간은 없다는 것을 깨달아 남는 시간을 활용해 HIG를 정리하는 시간을 갖고자 했다. HIG란? Human Interface Guide의 약자로, 애플스러운 앱을 만들기 위한 디자인 가이드 라인 HIG가 필요한 이유 - 리젝 사유 대비 - 디자이너, 기획자와의 원활한 소통 앱 스토어에 2개의 서비스를 출시하면서 HIG를 따르지 않아 리젝이 된 경우도 있었고, 기획자 디자이너 분들이 설계한 화면을 보고 이 부분은 리젝 사유일텐데..? 이렇게 생각한 적이 있었기 때문에 내가 확실히 알아두어야 할 필요가 있다고 생각했다. HIG의 핵심 가치 1. 명확성(Clarity) - 글자는 어떠한 크기로 설정하던 알아보기 쉬..

iOS 개발/RxSwift

[RxSwift] RxSwift와 MVVM 예제 - 로그인

대부분의 모든 서비스에서 필요한 로그인을 예제로 들어 RxSwift와 MVVM에 대해 공부해보고자 한다. snapkit과 then 라이브러리를 활용한 예제가 블로그에 잘 정리되어 있어서 해당 코드를 참고했다. 참고 사이트: https://pino-day.tistory.com/15 우선, 로그인 및 회원가입에서는 유효성 검증 과정을 필요로 한다. 유효성 검증 과정의 예시로는 이메일과 패스워드 형식이 맞는지, 텍스트 필드에 입력값이 존재하는 지 등이 있겠다. [ViewModel] ViewModel은 View를 위한 Model이라는 뜻으로 알고 있다. 즉, 현재 우리는 로그인 기능을 만들고 있으므로, ViewModel에는 로그인 기능에 필요한 비즈니스 로직이 들어가야 한다. 유효성 검증의 예시로 이메일과 패스..

회고

iOS 신입 개발자 이력서 및 면접 준비 회고

iOS 개발자로 입사하기 위해 2023년 2월부터 4월까지 대략 2개월 동안 취업 준비를 했던 내용을 정리해보려고 한다. 해당 내용은 코딩테스트에 취약한 iOS 신입 개발자 분들이 참고하면 어느 정도 도움이 될 수 있을수도(?) 있다. (글솜씨가 좋지 못한 것은 양해를 부탁드립니다) 우선, iOS 개발자라는 꿈은 컴퓨터공학과 진학 후 부터 계속해서 꿈꿔왔던 목표이기도 했다. 그러나 3학년까지 내가 이뤄온 성과는 동영상을 보며 간단한 화면 이동과 API 연동을 살짝 맛본..? 프로젝트가 끝이었던 것 같다. (계속 말하다 보면 길어질 것 같아서 여기서는 취업을 위해 준비한 내용만 기록하도록 하겠다...) 4학년 때 정말 운 좋게 좋은 친구들을 만나 대외 팀 프로젝트를 진행했고, iOS 개발을 단독으로 맡아 ..

기타

[iOS 면접 실제 질문 모음]

취업을 준비하면서 받았던 면접 질문들을 정리해 보려고 한다. 1. 지원동기 1.1 다른 기업도 많은데 왜 우리 기업인지.. 2. 사전과제 중 delegation pattern을 자세히 쓰지 않았는데 더 자세히 말해줄 수 있는지 3. SwiftUI의 장점이 뭐라고 생각하는지 4. 의존성 관리도구를 cocoapod, spm 둘다 쓴 이유는 무엇이고, 둘 중 어느 것이 더 편하다고 느껴졌는지 5. MVVM패턴은 적용해보신 거 같은데 더 기초적인 MVC를 적용해보지 않은 이유는 무엇인지 6. 포트폴리오를 보면 안드로이드 프로젝트도 존재하는데, 안드로이드에서 iOS로 넘어온것인지 7. 안드로이드와 iOS 중 iOS를 택한 이유 7-1. 회사에 입사를 하게 되면 iOS관련 일을 하게 되겠지만 만약, 안드로이드 관련..

CS

[CS] iOS 면접 질문 정리

1. Bounds와 Frame의 차이점을 설명하시오 Bounds와 Frame은 모두 CGRect 타입이며 원점을 나타내는 데이터(origin)와 size를 나타내는 데이터를 갖고 있다. Bounds는 자신만의 좌표시스템에서의 View의 위치와 크기 값이고 origin은 디폴트로 (0,0)으로 설정되어 있으며 주로 View 내부에 그림을 그릴 때 drawRect를 사용한다. Frame은 superView(한단계 상위 뷰)의 좌표시스템 안에서 view의 위치와 크기 값이고 주로 View의 위치나 크기를 설정하는 경우 사용한다. 2. 실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오. 시뮬레이터는 Mac에서 실행되는 앱이기 때문에 CPU, 메모리 및 네트워크 연결을 비롯한 컴퓨터..

CS

[CS] 인텔리픽 모의면접 질문 정리

보호되어 있는 글입니다.