개발차

    [하이퍼커넥트] 2022 iOS Software Engineer 인턴 후기

    딱 3달만에 글을 작성하네요...! 지난 3월에 지원했던 하이퍼커넥트 Azar Studio, iOS Software Engineer 인턴 과정을 끝마쳤기 때문입니다🤓 인턴 과정을 마치고 나서 내부적으로도 피드백을 주고 받고, 회고하는 시간을 가졌지만 이와 별개로 작성해보려고 합니다. 한 달 단위로 나눠서 그 당시 들었던 감정, 중요하다고 느꼈던 부분들에 대해 짚어보면서 정리해보겠습니다! (진행했던 프로젝트, 과정에 대한 상세 내용은 언급하지 않을 예정입니다🙏🏻 그렇다보니 추상적일 수도...) 정신이 없었던 4월 3월 마지막 주부터 인턴으로 합류하여 정식으로 과제를 부여받고 진행하기 시작했습니다. 과제를 어떤식으로 진행할지 함께하는 인턴분과 이야기를 많이 나누었고, 사실상 4월에 들어서고 나서부터 본격적으..

    [하이퍼커넥트] 2022 iOS Software Engineer 인턴 지원기

    이번에 하이퍼커넥트 인턴 전형에 지원하고 결과를 받기까지의 과정을 회고해보려고 한다! 우연한 기회로 iOS Software Engineer 인턴 채용 공고를 발견했었다. 하이퍼커넥트의 메인 서비스라고도 할 수 있는 Azar 클라이언트 개발팀에서 모집하는 공고로 비디오와 AI 기반의 글로벌 서비스라는 점이 매력적으로 다가왔다. 그래서 일단 담당업무와 지원자격을 확인하고 바로 지원서를 작성했다! (이전에 작성해뒀던 이력서, 포트폴리오가 있어서 조금 더 보완하는 식으로 진행했다) 다른 인턴 공고들과 달리 "학습"에 초점이 맞춰 강조하고 있는 것 같았다. 마침 MVVM 패턴을 접하기도 했도, 끝없는 클로저 지옥에 빠져본 경험이 있어 RxSwift도 궁금해하던 찰나에 딱 맞는 좋은 기회라고 생각했다. 그리고 업무..

    [iOS] UIImage resizing (feat. UIGraphics)

    UIImage resizing UIImage가 너무 큰 경우 보통은 auto layout을 통해 너비,높이를 잡아주거나 top,leading,trailing,bottom을 주어서 정해진 마진을 지키면서 이미지가 들어가도록 구현한 경험이 있을 것이다. 만약 이미지 자체의 크기를 조절하고 싶다면 위 방법으로는 해결이 되지 않을 것이다. 이에 사용할 수 있는 방식이 이미지 리사이징이다. 이미지 리사이징을 위해 사용되는 방법은 여러가지가 있지만 이번에는 UIGraphicsBeginImageContextWithOptions(_:_:_:)를 사용하는 방식을 알아보자. 간략하게 순서를 먼저 알아보자. UIGraphicsBeginImageContextWithOptions(_:_:_:)로 비트맵 만들기 UIView.dr..

    [iOS] WWDC16: Understanding Swift Performance 1

    WWDC16: Understanding Swift Performance 1 Swift의 여러 타입들 가운데 어떤 타입을 써야할지는 여전히 매번 고민이되는 주제이다. 참조가 필요없으니까 값 타입을 쓰거나, 복사가 필요해서 값 타입을 쓰는 등 보통은 단순한 이유에서 타입을 선택하기도 한다. 이에 본 세션에서는 나름 이유를 가지고 타입을 선택할 수 있도록 도움을 주고 있다. 0. 타입을 선택하는 기준 바로 모델링과 성능을 고려하여 타입을 선택할 것을 이야기하고 있는 것이다. 이번에는 모델링은 제쳐놓고 성능에 대해서만 이야기를 나눠본다. 주로 이야기 할 부분은 총 세 가지로 나뉜다. Allocation 메모리 할당에 관한 부분 Reference Counting 참조 관리에 관한 부분 Method Dispatch..

    [iOS] Modern Collection View - Grid 구현

    Modern Collection View - Grid 구현 앞선 글([iOS] Modern Collection View - List 구현)에서는 collection View를 활용하여 list 형태의 뷰를 구현하는 방식을 봤었다. 이제는 원래 collection View의 목적이라고도 할 수 있는(?) grid(격자)형태의 뷰를 구성해보자. (List 형태를 구현할 때와 코드가 거의 유사하니 이전 글을 참고해도 좋을 것 같다.) 이 또한 iOS 14이후의 버전에 대해 지원해주는 modern한 구현 방식이 있는데, 이를 알아보기 전에 기존 방식으로는 어떻게 구현했는지 살펴보자. 기존 collectionView 구현 방식 우선 그릴 화면을 먼저 보자. 가장 흔히 볼 수 있는 grid 형태의 뷰이다. 이를 구..

    [iOS] Modern Collection View - List 구현

    Modern Collection View 구현 iOS 14 이후부터 지원하는 기능으로 이전의 방법과 아예 다른 방식으로 collection view를 만들어주고 있다. 개괄적인 순서를 먼저 보고 하나 하나 예제 코드를 통해 살펴보자! 이번에는 List 형태의 collection view를 만들어 볼 것이다. 위와 같은 뷰를 보면 "테이블뷰로 만들었네!"라고도 할 수 있지만 collection view로도 동일한 뷰를 만들 수 있다. 이제 modern하게 collection view를 list 형식을 차근차근 살펴보자. (전체 코드는 맨 아래에서 확인 가능하다) 순서 1. CollectionView 만들기 (List) 2. CollectionViewListCell 생성 2-1. UIConfiguration..