본문 바로가기

전체 글

(206)
[iOS] Static, Dynamic Library, Framework Xcode에서 Cocoapods, Carthage, SPM 같은 도구를 사용하여 외부 프레임워크를 사용합니다. 프레임워크가 어떻게 구성되어 있고, 동작하고, Static Framework와 Dynamic Framework의 차이가 무엇인지 알아보려고 합니다. Framework 프레임워크는 공유 라이브러리와 헤더 및 다른 리소스의 하위 디렉토리를 포함하는 번들입니다. 프레임워크는 Dinaymic shared library, nib 파일, 다국어 문자열, 헤더 파일, 레퍼런스 문서와 같이 공유 리소스를 패키지로 캡슐화하는 계층 구조 파일 디렉토리 입니다. 리소스 사본은 프로세스 수에 상관없이 항상 물리적으로 메모리에 상주하며 리소스 공유로 메모리를 차지하는 공간을 줄이고 성능을 향상 시킵니다. 번들이라면 실..
[iOS] Compositional Layout 에 관하여 CollectionView를 무작정? 쓰다가 레이아웃 잡을 때 감으로 때려 맞추는 일을 그만하기 위해서 정리를 해보려고 합니다.. Layout 우선 레이아웃을 사용하는 이유는 컬렉션 뷰의 컨텐츠를 정렬하기 위해서입니다. 레이아웃이 잘 잡혀있으면 컨텐츠를 그냥 넣기만 하면 레이아웃대로 구성이 되기 때문이죠! 이 레이아웃을 커스텀 하는 방법으로는 두 가지 방법이 있습니다. UICollectionViewFlowLayout UICollectionViewCompositionalLayout 우선 flow 레이아웃은 iOS 6.0+ , compositional 레이아웃은 iOS 13.0 + 에서 사용 가능합니다. flow 레이아웃이 훨씬 오래됐다는 것을 알 수 있죠 두 레이아웃 객체 모두 UICollectionVie..
[두깃] UI리팩토링, 토스트메세지 추가 UI리팩토링 클론코딩 강의를 듣다가 UI 제약을 거는 부분을 UIView를 extension 해서 함수 하나로 모두 처리하는 것을 보고 감명을 받아.. 요 플젝에서도 적용해보기로 했다. 이건 제약만 걸어주는 코드로 함수하나로 처리할 수 있도록 만들어 놓은 것이다. extension UIView { func anchor(top: NSLayoutYAxisAnchor? = nil, leading: NSLayoutXAxisAnchor? = nil, trailing: NSLayoutXAxisAnchor? = nil, bottom: NSLayoutYAxisAnchor? = nil, paddingTop: CGFloat = 0, paddingLeading: CGFloat = 0, paddingTrailing: CGFl..
[iOS] 카카오 로그인 이해하기 로그인.. 간단해보이지만 이해하기 어려운 부분이 아닐까..ㅠㅠ 프로젝트에서 간편 로그인 기능을 사용하기로 했기 때문에 간편 로그인 기능도 OAuth2 프로토콜 기반의 사용자 인증 기능이라 공부해보려고 합니다. OAuth 2.0 주요 용어 Authentication 인증, 접근 자격이 있는지 검증하는 단계입니다. Authorization 인가, 자원에 접근할 권한을 부여하는 것입니다. 인가가 완료되면 리소스 접근 권한이 담긴 Access Token이 클라이언트에게 부여됩니다. Access Token 리소스 서버에게서 리소스 소유자의 보호된 자원을 획득할 때 사용되는 만료 기간이 있는 Token 입니다. Refresh Token Access Token 만료시 이를 갱신하기 위한 용도로 사용하는 Token 입..
[Swift] 프로그래머스 Lv1. 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 정규식으로 풀어보려했지만 그냥 구현하고 싶어 구현 하다가? filter 에 조건을 여러개 넣었더니 시간안에 타입체크 할 수 없다고 쪼개보라고 에러가 발생했다. ID = ID.filter { ("a"
[Swift] 프로그래머스 Lv3. 표 편집 (구현) https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 생각 간단한 Row 노드를 만들어서 링크드 리스트로 구현했다. 숫자 num과 앞의 노드 숫자 prev, 뒤의 노드 숫자 next, 현재 표에 들어가 있는지 체크하는 isTable 변수 만약 범위를 벗어나는 숫자 (맨 앞의 앞, 맨 뒤의 뒤) 면 -1로 두었다. 나머지는 조건대로 구현 테스트 1, 2, 3, 4 시..
[두깃] 출시하기 까지 개인프로젝트를 기획, 개발, 출시까지 하면서 기록? 회고?를 해보려고 한다. 근데 아침까지 자소서를 적다 왔기 때문에 가볍게 적어야겠다. 프로젝트 시작 프로젝트를 시작한 이유는 여러가지가 있었다. 첫 번째로는 퇴사하고 열심히 하자! 취지로..ㅎ 두 번째로는 회사나 동아리 지원, 자기소개서..! iOS 분야의 개발경험을 적으려는데 아무리 생각해도 완성하지 못한 프로젝트로는 나라도 뽑지 않겠다라는 생각이 들었다. 당연한 얘기..! 세 번째로는 UIKit 튜토리얼을 보면서 간단한 할 일 앱을 만들어보고 싶었다! 근데 할 일 앱은 정말 이쁘고 좋은 것들도 많아서 할 일 + 다른 무언가..? 를 만들고 싶었다 ㅎㅎ 그 당시에 깃허브 repo를 정말 한 4~5개 사용하고 있었는데 문득 그냥 레포 별로 할 일 리스트..
[iOS] UIToolbar 이슈 (UIToolbarContentView, UIButtonBarStackView) "", "", "" 키보드 위에 버튼을 나타내기 위해 툴바를 사용했는데 이 오류가 처음 화면에는 안나타나고.. 다시 화면에 재진입할때 발생한다. WTF 홈페이지랑 콘솔창에서 translatesAutoresizingMaskIntoConstraints 를 확인해보라고 해서 버튼 false 툴바 false 지우고 지우고 sizeToFit도 건드려보고 별짓 다해봤는데 안되길래 구글 검색 가장 첫 글에 발견 https://developer.apple.com/forums/thread/121474 UIToolbar issue in iOS 13 | Apple Developer Forums I'm adding one UIBarButtonItem with a custom view. The custom view uses a..