IOS
-
3주차 피드백 정리 2 (yagom)IOS/클린코드 2021. 3. 13. 03:50
요약 : 1. 변경사항을 날려도 아쉽지 않은 만큼 (즉, 실행취소를 한다고 생각해도 허탈하지 않을 정도) or 한 문장으로 변경사항을 명확히 나타낼 수 있는 만큼 2. 코드의 길이가 길어지면 가독성을 해칠 수 있다. 따라서 가독성을 위해서 코드 길이를 늘렸다면 가독성을 해치지 않을 정도까지만 늘리자! 3. 1. 커밋은 돌아갈 수 있는 세이브 포인트와 유사하다고 생각한다고 이야기 했는데, 지금의 커밋단위는 되돌아가기 적절한 만큼의 단위일까요? -> 단위에 대해서 고민 중이 었는데 야곰의 기준을 일단 모방하고 나중에는 협업자들과 커밋단위에 대한 규칙을 세워야 될 것 같다는 생각이 듭니다. 야곰의 커밋 단위 기준을 알려주셔서 감사합니다! 2. ac8f9dc 커밋은 커밋 메시지와 다른 내용의 변경사항도 포함이 ..
-
3주차 피드백 정리 (yagom)IOS/클린코드 2021. 3. 9. 08:37
메서드를 나누는 기준은 '한 가지 동사로 이름을 나타낼 수 있는가'이다. guard는 이곳을 지나가는 필수조건인 경우에 사용한다. 반대로 if는 부가적으로 조건을 따져 수행할 일에 대해 사용한다. switch는 좋은점도 있지만 단점도 많습니다. default도 그 질문의 연장선인 것 같아요. 본인이 작성한 코드만으로 결론이 잘 나지 않는다면 검색해보면 더 좋은 글들을 많이 마주해 볼 수 있을것 같아요. 프로퍼티의 이름은 명사형으로 지을 것! 메서드의 이름은 동사형으로 지을 것! 중복된 단어를 사용하지 않도록 주의할 것! 문자열 상수를 로직 코드에서 최대한 사용하지 말 것! 어떤 수가 의미하는 바를 알도록 코딩할 것! 조건문안에 조건문이 들어가면 가독성에 좋지 않고 중복될 수 있는 조건이 생길여지가 크므로..
-
2주차 피드백 정리 (붱이)IOS/클린코드 2021. 3. 9. 08:09
while문은 조건에 따라 반복을 수행하는 구문이에요 while (condition) { // do something } 항상 condition을 true로 설정하면 while true 까지만 읽었을 때는 이 구문은 무한히 반복된다고 오해할 수 있을 것 같아요. 대신 var isContinue: Bool while isContinue { // do something } 과 같은 형태로 condition을 잘 이용하면 특정 조건에 따라 반복되는 것이라는 걸 명시적으로 잘 표현할 수 있을 것 같아요 computer의 number가 random으로 결정된다는 사실까지 변수명에 표현하고 있군요. 자세한 설명이 될 수 있겠지만, 우리가 표현하고자 하는 의도를 명확하고 간결하게 네이밍해보는 건 어떨까요? 주석으로 ..
-
앱 개발 기록 5. AlamofireIOS/프로젝트 2021. 3. 3. 03:33
Alamofire는 iOS의 REST API 통신을 지원해주는 라이브러리이다. 기본 Url 뒤에는 ?을 사용하여 기본인자 정보들을 적고, 기본인자사이에는 &을 붙여 구분지어준다. 그러나 제공하는 api마다 상세한 방식은 다를 수 있으니, doc을 꼭 읽어봐야 한다. ex: api.openweathermap.org/data/2.5/weather?id=1835847&appid=b39aeb1e660919371efad86125f1a70d&units=metric&lang=kr api.openweathermap.org/data/2.5/weather (기본 URL) ? (기본URL과 기본인자를 구분하기 위한 특수문자) id=1835847 (기본 인자) & (기본인자를 구분하기 위한 특수문자) appid=b39aeb1..
-
앱 개발 기록 4. RESTIOS/프로젝트 2021. 3. 1. 22:03
REST란 REST는 HTTP 프로토콜로 데이터를 전달하는 프레임워크이다. 단순한 HTTP 요청과 그 결과를 단순한 XML등의 포맷으로 돌려주는 구조이다. UDDI를 통해 등록하고, 탐색하는 등의 과정을 거치는 SOAP기반 서비스와 다르게, REST는 중간 매개체 없이 리소스제공자가 직접 리소스 요청자에게 제공을 할 수 있어, 간단하다. REST원리를 따르는 시스템을 종종 RESTful이라는 용어로 지칭(거의 같은의미로 봐도 된다.) 장점 : SOAP보다 처리(및 개발)가 쉽다. (RESTful웹서비스는 인터넷 서비스업체들이 응용개발자들에게 손쉬운 데이터제공을 목적으로 시작되었다.) 단점 : SOAP와 반대로 표준규격이 부족하여 함축적이지 않고 안정성이 덜하다. API를 처음 접하는 사람입장에서, SOA..
-
앱 개발 기록 3. HTTP 메서드 : GET, POST, PUT, PATCH, DELETEIOS/프로젝트 2021. 3. 1. 21:24
HTTP Method란 HTTP Method란 정의적으로 해석하면 다음과 같습니다. 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식. 쉽게 말하면 서버에 요청을 보내는 방법 입니다. 메소드 설명 GET 요청받은 URI의 정보를 검색하여 응답한다. POST 요청된 자원을 생성(CREATE)한다. PUT 요청된 자원을 수정(UPDATE)한다. PATCH PUT과 유사하게 수정(UPDATE)할 때 사용한다. PATCH는 해당자원의 일부를 교체하는 의미로 사용. DELETE 요청된 자원을 삭제 한다. HEAD 메세지 헤더를 취득한다. OPTIONS 제공하고 있는 메소드를 문의한다. Method GET 서버에게 Resource를 보내도록 요청하는데 사용 (..
-
앱 개발 기록 2. 카카오톡 소셜 로그인 구현하기IOS/프로젝트 2021. 3. 1. 04:15
시작하기 전에 카카오 로그인은 사용자를 인증하고 토큰을 발급하는 기능입니다. 토큰은 액세스 토큰(Access Token)과 리프레시 토큰(Refresh Token) 두 종류입니다. 액세스 토큰은 사용자 정보 기반의 API를 호출하는 데 쓰이고, 리프레시 토큰은 일정 기간 동안 사용자 인증 절차를 거치지 않고도 액세스 토큰을 갱신할 수 있도록 해 주는 역할입니다. 토큰은 OAuth 2.0 사양에 따라 다음 절차를 거쳐 발행됩니다: 카카오계정 인증 사용자 동의(이미 동의한 경우 건너뛰기) 인가 코드(Authorization Code) 발급 인가 코드로 토큰(OAuthToken) 발급 1단계에서 사용자의 카카오계정을 인증하는 방식에 따라, iOS SDK를 사용한 카카오 로그인 구현 방법은 두 가지로 나뉩니다:..
-
앱 개발 기록 1. cocoapods & alamofireIOS/프로젝트 2021. 2. 28. 19:26
먼저 카카오톡 소셜로그인부터 구현하도록 하겠다. developers.kakao.com/docs/latest/ko/kakaologin/ios 위의 링크를 따라해보자. 모듈을 설치하기 위해서는 cocoapods이라는 것을 설치해야 한다. www.youtube.com/watch?v=V1juAGwidcM&feature=youtu.be cocoapods 설치 관련 링크이다. (ios 같은 경우는 API 통신을 위해서 라이브러리를 많이 다운 받아서 사용하는데 이 라이브러리를 다운 받기 쉽게 해주는 패키지 관리자가 존재하는데 이것을 cocoapods이라고 한다.) CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has ove..