전체 글

전체 글

    Backend - Frontend 데이터 흐름

    Client-Server Model Client: 어떤 서비스를 사용하는 사용자(웹사이트, 모바일기기등..). Server: 클라이언트 측에서 화면에 표시되는 데이터, 자료를 처리하는 시스템. 서버와 클라이언트는 상호작용하면서 처리하게된다. 사용자가 어떤 프로그램을 바라보고 있을 경우 프로그램으로하는 다양한 형태의 행위같은 입력을 받아서 처리하는것을 프론트앤드라고 통칭한다. 백앤드(서버)는 프론트앤드와 약속한 규칙에 따라서 이러한 여러 입력들을 처리하거나 전달하게 된다. 이런 프론트앤드와 백앤드는 인터넷으로 연결되게 된다. 곧 클라이언트(Frontend), 서버(Backend) ex) IOS개발 = 프론트앤드 -> 모바일 -> IOS 로그인 데이터 흐름: 1. 사용자가 프론트엔드에서 아이디와 비밀번호를 ..

    Login

    대부분 앱에서는 사용자의 신원정보를 필요로 하기 때문에 필수적인 기능이라고 할 수 있다. 로그인 기능을 사용하게되면 사용자가 앱 내에서 활동한 기록, 정보들을 각 계정마다 클라우드에 안전하게 보관할 수 있으며, 어느 기기, 어느곳에서 로그인을 하더라도 각 사용자마다 일관성 있는 서비스를 제공할 수 있다.

    IOS - charts library

    다양한 차트들을 쉽게 나타낼 수 있게 해주는 라이브러리 관련 주소 - https://github.com/danielgindi/Charts GitHub - danielgindi/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. - GitHub - danielgindi/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroi... gith..

    IOS - COCOAPODS

    COCOAPODS: - IOS, macOS, tvOS, watchOS등 애플 플랫폼에서 개발을 할때 외부 라이브러리를 관리하기 쉽도록 도와주는 의존성 관리도구. - 프로젝트에서 필요한 외부 라이브러리를 코코아팟을 통해 쉽게 관리하고, 사용할 수 있다. 설치방법: 터미널에서 $ sudo gem install cocoapods 적용 방법: 터미널에서 ls, cd키워드를 이용해서 프로젝트 폴더 내부로 진입한다. ls: 현재 위치 상의 폴더와 파일을 나타내는 커맨드 cd 이동할위치: 이동할위치로 이동하게되는 커맨드 프로젝트 폴더 내부에서 pod init을 입력하게되면 프로젝트에 Podfile이라는 프로그램이 생성된다. 프로그램을 열어서 pod '라이브러리 이름' 형식으로 라이브러리를 추가해주면 된다. 라이브러리..

    IOS - Alamofire를 이용한 API 데이터화.

    https://api.corona-19.kr/ Corona-19-API 코로나바이러스감염증-19에 대한 무료 API 서비스를 제공합니다. api.corona-19.kr api키를 발급받고 https://api.corona-19.kr/korea/country/new/?serviceKey={api 키} 입력 중괄호는 지워야함. //시도별 현황 api response JSON. (2022년 2월 22일자) { "resultCode": "0", "resultMessage": "정상 처리되었습니다.", "korea": { "countryName": "합계", "newCase": "99,573", "totalCase": "2,157,734", "recovered": "936,891", "death": "7,508..

    IOS - Alamofire을 이용한 HTTP통신

    Alamofire: - Swift기반의 HTTP네트워킹 라이브러리 - URLSession에 기반한 라이브러리 - 네트워킹 작업을 단순화 하고, 다양한 메서드와 JSON파싱등을 제공한다. - 연결가능한 request, response를 제공하고 URL JSON 형태의 파라미터 인코딩 지원. - file, data, String, multipart등 업로드 기능 제공 - HTTP response검증과 광범위한 단위테스트 및 통합테스트를 제공 URLSession 대신 Alamofire를 사용하는 이유 코드의 간소화, 가독성 측면에서 도움을 주고 여러 기능을 직접 구축하지 않아도 쉽게 사용할 수 있음 1. request메서드를 이용하여 HTTP요청을 할 수 있고, 전달인자를 이용하여 요청에 필요한 정보를 쉽게 ..

    Swift - Codable Protocol

    Codable Codable은 Swift의 Decodable과 Encodable프로토콜을 결합한 프로토콜이다. 이들은 사용자 정의 유형에 대한 데이터 디코딩 및 저장 또는 전송될 인코딩 데이터의 표준을 제공한다. JSON과 함께 Codable을 사용하면 데이터 개체를 반환하기 위해 코드 구문 분석에 필요한 모든 검사가 필요하지 않으며 데이터가 복잡해짐에 따라 다양한 복잡성을 처리하여 코드를 가능한 최소화하며 깔끔하게 유지한다. 이러한 코드는 읽기 쉬우며 유지관리가 가능하며 데이터가 복잡해 지면 해당 데이터를 Swift객체로 구문분석하는 코드가 많아지고 유지관리가 힘들어 진다. 예시를 들어보자. // JSON Data: { "id": 1234, "src": "//api.someHost.com/version..

    IOS - URL Session을 이용한 HTTP통신

    URL Session을 이용한 HTTP통신 웹 통신과 Protocol - 인터넷 상에서의 통신을 말한다.(소식을 전한다) - 많은 정보들이 주고 받기에 인터넷에는 엄격한 규약이 존재한다. 이것을 Protocol 이라고 부른다. ex) 메일을 주고받을때 - SMTP 파일을 주고받을때 - FTP 브라우저, 웹서버와 통신할 때 - HTTP HTTP(Hyper Text Transfer Protocol) - Hyper Text를 전송하기 위한 프로토콜 - HTML문서를 주고받을 때 사용 요청: request 응답: response 클라이언트에서 서버에 요청을 하면 그에 맞는 응답 결과를 돌려준다. Http패킷 헤더에는 보내는사람의 주소 받는사람의 주소, 생존시간 바디에는 우리가 전하고자하는 실제 내용이 담겨있다...

    IOS - Timer

    Timer: - 특정 시간이 지난 후에 이벤트를 발생시키거나 반복적인 주기로 특정작업을 수행하는등의 행위를 하는 이벤트. - Swift에서 Timer라는 클래스로 타이머를 구현할 수 있다. - GCDapi에있는 디스패치소스타이머로 구현할 수 있다. GCD(Grand Central Dispath api) - ( 작업을 병렬적으로 처리하기위해 애플이 제공하는 API) - 쓰레드를 만들거나, 관리해야하는 어려운 작업들을 맡아서 해줌. - GCD를 이용하면 개발자는 그저 태스크들이 담긴 큐를 만들고 그 큐를 GCD에 던져버리면 GCD가 모든 쓰레드를 관리해줌.

    IOS - ObserverPattern

    옵저버패턴: - 한 Object의 상태가 바뀌면 그 Object를 구독하는 다른 객체들에 연락이 가고 자동으로 내용이 갱신되는 디자인 패턴으로 1:N의 관계를 정의함. - 관찰중인 객체에서 발생하는 이벤트를 여러 다른 객체에 알리는 메커니즘을 정의할 수 있는 디자인패턴. - 다른 객체의 상태가 변경될 때 마다 어떤 이벤트를 실행하고 싶을 때 주로 사용. - 주로 MVC패턴에서 사용. - Model은 ViewController의 타입에 대해 알 필요 없이 상태가 변경될 때 마다 이를 ViewController에 전달. - 여러개의 ViewController가 하나의 Model의 변경사항을 사용할 수 있게 됨. 디자인 패턴들은 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합되는 디자인을 사용해야..