분류 전체보기 68

[Clean Code 를 읽으며] 0장. 들어가며

요약 0장 요약 정리 링크 이전까지는 책을 읽으면 그냥 혼자 눈으로 보고 생각하고 넘어갔는데 클린코드를 다시 읽으면서 이번에는 내용 정리를 남기고, 나의 생각을 덧대어 블로그에 남길까 합니다! 요약정리는 깃헙에 작성될 예정이고 책을 읽으면서 드는 제 생각은 블로그에 기록 할 예정입니다. . . . . 생각 코딩 공부를 할 때는 다른 사람의 코드를 보고 따라하며 감을 익혀나간다. 이 감을 잡는 과정에서 다른 사람의 코드가 깨끗하지 않으면 잘못된(?) 방식으로 코드를 작성하는 법을 배우게 되는 것 같다. 나도 처음 코딩을 접했을 때 프로그래머마다 작성하는 코드 스타일, 네이밍 센스가 모두 달라서 어느 방식을 따라가야 하는지 헤매었다. 특히 가르쳐줄 사람이 없고, 가르쳐 준다고 해결되지 않는 분야라는 것을 알..

기타 개발관련 2022.06.07

iOS 개발자를 준비 + 면접 대비를 위한 레포 추천

는 제 레포 입니다 *^^* 혹시 추가적으로 정리되었으면 하는 주제/내용이 있다면 댓글 혹은 PR 날려주시면 추가하여 작성하도록 하겠습니다. 계속 해서 업데이트 중이니 참고해주세요~! https://github.com/keenkim1202/KEENs_TIL GitHub - keenkim1202/KEENs_TIL: KEEN의 Holy한 iOS 필수 개념 및 트러블슈팅 기록 KEEN의 Holy한 iOS 필수 개념 및 트러블슈팅 기록. Contribute to keenkim1202/KEENs_TIL development by creating an account on GitHub. github.com

면접대비 2022.05.21

같은 api 통신을 여러번 반복해서 다수의 데이터를 가져오고 싶을 때

Trouble 여러 지역의 날짜 정보를 같은 fetchWeatherInfo(woeid: ) 라는 메서드를 반복 실행하여 데이터를 가져오고 싶었다. 그리고 모든 지역의 날짜 정보를 모두 fetch 완료 하였을 때 tableView를 갱신해주고 싶었다. Shooting 지역 정보가 들어있는 locations 배열을 순회하며 dispatchGroup 을 사용하여 날씨정보를 fetch 해오는 메서드를 group에 담는다. group 안에 있는 메서드를 순차적으로 수행하며 모든 데이터를 fetch 해온 후 main queue에 알리고(notify) 로딩화면을 멈춘 후 tableView를 갱신해주었다. func fetchData(locations: [Location]) { let dispatchGroup = Dis..

Trouble Shooting 2022.05.10

iOS 에서의 MVC, MVP, MVVM 변천사 간단 정리 - iOS

애플의 MVC View : 일관성 있는 앱의 느낌을 유저에게 전달하기 위해선 높은 재사용성이 필요하다 Model : 도메인 관련 데이터를 캡슐화하기 때문에, 같은 형태의 데이터를 다른 곳에서 또 쓰는 경우가 많으므로 또한 높은 재사용성이 필요하다 → View, Model을 서로 떨어뜨려 의존성을 없애고 높은 재사용 성을 취함. 애플이 원하던 대로 View와 Model은 서로 모르게 되었으나, 대규모 협업에서 Controller의 역할이 비대해졌다. 레이아웃 코드 유저 입력 프로세싱 비즈니스 로직 데이터 변환 화면 전환 생명주기 콜벡처리 네트워크 통신 → 이렇게 Massive View Controller 를 해결하기 위해 Controller의 역할을 덜은 MVP 가 나타나게 되었다. MVP : 마틴 파울러..

iOS 2022.05.05

최상단으로 스크롤 시에만 보이는 뷰 구현(아래로 스크롤 시 사라지는 뷰)

Trouble 영화 검색앱을 만드는데 최상단으로 스크롤 시에는 보이고, 아래로 스크롤 시 사라지는 뷰를 표현해주고 싶었다. 상단의 작은 뷰(SomeView)와 웹뷰로 화면이 구성되어있음 아래로 스크롤을 하면 안보이고, 다시 위로 스크롤하면 보이는 뷰를 넣고 싶었음 view의 상단 제약조건의 contentOffset을 빼주어 구현함. (함께 있는 뷰가 UIScrollView를 상속받고 있다면 아래의 방법으로 적용 가능) 구현 * SnapKit을 사용하여 제약조건을 설정하였습니다. class SomeView: UIView { // 변수 선언 var topConstraint: Constraint? = nil ... // 제약조건 설정 func setConstraints() { infoView.snp.makeC..

Trouble Shooting 2022.04.29

새싹(SeSAC) 1기 iOS개발자 데뷔과정 참여 및 수료 후기

안녕하세요 ! 작년 9월쯤부터 약 6개월간 새싹의 ‘iOS 앱 개발자 데뷔과정'을 참여했었는데요 늦게나마 그에 대한 후기를 블로그에 남겨보고자 합니다ㅎㅎ (사이트에서 후기 남기는 기한을 깜박했네요....^^;) 간단하게 새싹에 참여하기 전 저의 상태에 대해 말씀드리면 ,,, 저는 전혀 관련없는 타과에서 iOS개발자가 되고 싶다는 꿈을 안고 컴퓨터공학과로 편입해왔고 전공수업을 듣는데 필요한 linux나 c 등을 배우는 동시에 운영체제, 네트워크 등의 수업을 같이 들었습니다. 열심히 해서 학점은 잘 나온 편입니다만,, 아무래도 남들보다 뒤쳐지는 기분이 늘 있었죠.. 학교 과목 중 swift와 iOS 관련 수업이 있어 수강하였으나 기초가 많이 부족하여 간단한 코드를 보는 것도, 에러 문구를 봐도 에러를 이해하..

끄적끄적 2022.04.29

ARC & Retain Cycle 예제로 살펴보기 - iOS

편의상 RC(Reference Count, 참조카운트) 라고 작성하였습니다. 예제를 진행하기 전에 혹은 아래의 글을 읽다가 '클래스, 인스턴스, 객체'가 무엇인지 잘 모르겠다면 여기를 ! 'strong, weak, unowned' 키워드가 무엇인지 잘 모르겠다면 여기를 ! 'ARC와 RetainCycle'이 무엇인지 잘 모르겠다면 여기를 ! swift파일을 하나 생성하여 모델을 생성 아래와 같이 생성하였습니다! 두 모델 Person, Mac은 서로의 타입의 프로퍼티를 가지고 있습니다. (사람은 맥북을 소유하고있고, 맥북은 주인이 존재한다! 의 느낌입니다.) 그리고 다시 ViewController로 넘어와서 다음과 같이 각각 Person, Mac 타입의 변수를 선언해주고 시작을 해봅시다! [ 서로를 참조하..

iOS 2022.04.17

Push Notification 과 APNS - iOS

Notification에 대해 공부하고 정리하려니 끝도 없어서 오늘은 Push Notification의 개괄적인 내용에 대해 우선작성하고 추후에 PushNofigication을 보내보는 실습 프로젝트에 대해 업로드 하면서 자세히 작성하고자 합니다! . . . . Push Notification 이란? iOS입장에서 알림을 받는 상황은 두 가지가 있습니다. 1. forground 상태일 때(사용자가 앱을 사용중일 때, 화면에 보여질때) 2. backgorund 상태일 때(사용자가 앱을 사용하지않고 있을 때, 화면에 보여지지 않을 때) foreground 상태일 때는 앱에서 특정 시점에 알림을 보내면 되지만, "만약 background 상태이면..? 앱이 실행중이지 않은 상태라면..?" 어떻게 처리해주어야..

iOS 2022.04.14

Class와 Struct에 대하여 간단정리 - Swift

구조체와 클래스는 OOP를 위한 필수요소로 프로그램 코드를 추상화하기 위해 사용한다. Q. 클래스/구조체로부터 A인스턴스를 생성하고, B인스턴스에 A인스턴스를 대입한 후 B인스턴스의 값을 변경하면? Class 참조 타입(referenceType) 이다. 하나의 복제된 데이터를 할당한 인스턴스들이 함께 공유한다. 참조타입의 인스턴스들은 하나의 복제된 데이터를 공유한다. (즉, B인스턴스에는 A인스턴스의 참조 값이 전달된다.) 매번 새로운 인스턴스를 만들 때마다 같은 메모리 주소를 참조한다. - 상속이 가능하다. - 프로토콜 사용 가능하다. - extension 을 할 수 있다. - subscript 사용 가능하다. - 타입캐스팅이 가능하다. - Reference Count 계산에 포함된다. ex) clas..

Swift 2022.04.12

수도코드(Pseudo-code)란?

알고리즘 관련 도서를 읽다보면 위와 같은 형태의 코드가 자주 보입니다. 🤔 위와 같이 작성한 코드를 수도코드(의사코드) 라고 부르는데, 처음에 알고리즘 책을 봤을 때는 프로그램밍의 '프'자도 모르는 상태였기 때문에... 수도코드가 실제 코드인줄 알고 IDE에 작성했다가 오류가 나서 왜 나는지 이해를 못했던 시절이 있습니다..^^.. 회사에 지원해서 과제를 하거나, 혹은 회사에서 협업을 위해 수도코드를 사용하는 경우가 있는데요, 어렴풋이 알고있던 수도코드란 무엇이고 특별한 작성 방법이나 규칙이 정해져있는걸까? 하는 생각이 들어서 찾아보다가 간단히 정리하게 되었습니다. 📌 알고리즘을 표현하는 방법 중 하나. 일반적으로는 자연어를 이용해 만든 문장을 프로그래밍 언어와 유사한 형식으로 배치한 코드를 말한다. 자..

기타 개발관련 2022.04.06
반응형
1 2 3 4 5 ··· 7