https://medium.com/swiftfy/swift-6-0-protocol-extensions-powerful-new-tricks-you-need-to-know-2e4a8372ed2f Swift 6.0 Protocol Extensions: Powerful New Tricks You Need to KnowUnleashing the Full Potential of Protocols with New Enhancements in Swift 6.0medium.com Swift 6.0에서 프로토콜 익스텐션의 추가된 기능들에 대해 설명해주고 있다1. Parameterized Extensionsprotocol Cacheable { associatedtype Key associatedtype Value..
전체 글
IOS 주니어 개발자의 잡다한 이것저것Alamofire vs URLSession: a comparison for networking in Swift Alamofire vs URLSession: a comparison for networking in SwiftAlamofire and URLSession both help you to make network requests in Swift. The URLSession API is part of the foundation framework, whereas…medium.com- 요약-Alamofire는 쓰기 편하고 retry 등의 기능을 지원한다. URLSession이 등장한 이후로는 굳이 필요없다면 쓰지 않아도됨. 하지만 커스텀하기 귀찮거나 편하게 쓰고 싶다면 Alamofire를 사용해라. 큰 규..
SwiftUI: Why You Need AnyView SwiftUI: Why You Need AnyViewAnyView’s “performance problems”… and solutions.medium.com AnyView, 정말 나쁘기만 할까?SwiftUI에서 AnyView는 종종 피해야 할 기능처럼 언급됩니다. 하지만 그 이유를 제대로 설명할 수 있는 사람은 드물며, 많은 경우 단순히 "안 좋다"는 소문에 의존하고 있죠. 이번 포스트에서는 AnyView에 대한 오해와 진실을 정리하고, 실제로 어떤 상황에서 유용하게 활용할 수 있는지를 풍부한 예시와 함께 소개합니다.✨ 다양한 View 타입을 리턴하는 방법SwiftUI는 some View를 사용하는 구조이기 때문에, 조건에 따라 서로 다른 View 타..

Swift에서Hashable이 Equatable을 채택하는 진짜 이유는 Hash Collision 때문이다. 글을 쓰게 된 계기.. 며칠 전 회사에서 일을 하며 DiffableDatasource을 사용하고 있었다. 이때 SnapShot에 해쉬값이 동일한 아이템을 넣었는데 크래쉬가 나지 않았다!!! 이유를 알기 위해 문서를 찾다 보니 아래와 같은 내용이 있었다. Updating Collection Views Using Diffable Data Sources Two identifiers that are equal must always have the same hash value. However, the converse isn’t true; two values with the same hash value ar..

이번에 회사에서 소셜로그인을 담당하게 되어 작업 중이었는데 Tuist 사용하는 프로젝트에 Google Sign-In 라이브러리가 추가시 빌드 에러가 발생하였습니다. could not build module 'GTMAppAuth 대충 이런 종류에 모듈을 찾을 수 없다는 에러가 마구마구 떠버려 몇시간을 서치한 결과.. 트위스트 에러였습니다. GoogleSignIn 6.2.0 이후 버전에는 트위스트에서 특정 헤더를 찾지 못하는 버그가 있어 이런 에러가 발생한 것이였습니다. 다시 여러번 시도해보니 6.2.0 버전은 정상적으로 빌드가 가능했습니다. 하지만 7.0.0 부터 swift concurrency와 info.plist에 키를 넣을 수 있는 등 여러 기능이 추가되었기 때문에.. 깃 이슈를 살펴본 결과 해결 방..

군대에서 심심할떄 했던 개발 프로젝트 및 썰 군대에서 한 프로젝트 환경 군대에서 운이 좋게도 Python 2.7이 설치되어 있었다. 우리가 사용하는 프로그램이 python과 java로 이루어진 프로그램이였기 때문인데 일하면서 틈틈히 python으로 2048, 테트리스, 포커 등 게 wilybear.tistory.com 서론 간혹 친구들을 만나거나 후배들 및 여러 사람들을 만나다 보면 군대에서 개발 공부를 하고 싶은데 무엇을 해야할지 모르겠다 라는 애기를 많이 들어서 해당 글을 작성해봅니다. 개인적으로 컴공과 1~2 학년 기준 군대를 갔다왔을 때 기존에 배웠던 것만 까먹지 않는다면 절반은 성공한 것이라고 생각됩니다. 저는 군대때 감을 잃고 싶지 않아서 짬이 낮을 때는 간간히 공부를 했고 시간이 지나고 나서..

인턴 기간: 6월 14일 ~ 8월 13일 프로그래머스 2021 Summer Coding - 여름방학 스타트업 인턴 프로그램을 통해서 한 영상 편집 스타트업에서 IOS개발로 인턴을 하게 되었다. 면접은 OOP에 대해서 20분 정도의 발표와 40분 정도의 질문 면접이었고 CS관련 질문 보다는 경험 위주의 질문을 받았다. 섬머 코딩 특성상 여러곳을 동시에 넣기 때문에 다른 곳도 붙었으나 면접때 합격 시에 어떤 일을 하게 되나요? 라는 질문에 인턴 기간 동안에는 교육 및 과제를 내줄 생각이다 라고 하셔서 해당 회사에 인턴으로 입사하게 되었다. 인턴을 하는 2달의 기간 동안 처음으로 회사 생활을 해보면서 힘들기도 하였지만 새로운 경험과 직원분들이 너무 잘해주셔서 좋았던 기억으로 남았다. 첫 한달은 IOS 기초에 ..

유추(YouChu) - 유튜브 추천 서비스 애플리케이션 제작 인원: 3명 (서버, 머신러닝, 클라이언트(IOS 본인)) 제작 기간: 4월 ~ 5월 말 사용 기술: UIKit, Alamofire 앱 소개: 유추는 사용자의 유튜브 구독 목록을 기반으로 협업 필터링(Collaborative Filtering)을 통해 맞춤형 채널들을 추천해줍니다. 맞춤으로 추천되는 채널을 살펴보세요 랜덤으로 추천되는 채널들을 탐색할 수 있습니다 카테고리 별 랭킹(구독자 순)을 확인해 보세요. 앱 소개 영상 프로젝트 개요 대학교 동기 두 명과 함께 진행한 졸업 프로젝트이다. 이전에 IOS 앱을 SwiftUI로 만들었기 때문에 이번에는 UIKit을 사용해 보았다. 팀원들은 각각 추천 모델 제작(머신러닝), DB 설계 및 Rest ..