본문 바로가기

전체 글380

iOS NSStream 이용한 채팅앱 예제 iOS NSStream 이용한 채팅앱 예제 ✅ iOS 네이티브 소스 SocketSessionViewController.h #import @interface SocketSessionViewController : UIViewController @end SocketSessionViewController.m #import "SocketSessionViewController.h" @interface SocketSessionViewController () //텍스트 필드 @property (weak, nonatomic) IBOutlet UITextField *idTextField; @property (weak, nonatomic) IBOutlet UIView *sessionView; @property (strong.. 2021. 3. 17.
[스탠포드]Swift 강좌 - MVC 패턴 [스탠포드]Swift 강좌 - MVC 패턴 @정의 1.Model : 앱이 무엇이냐? 무엇에 대한 집합. UI 와 독립되어 있다. 2.Controller : 어떻게 화면에 표시할 것인지에 대해 관심을 가진다. 3.View : 버튼, 라벨 등 UI에 관련된 객체들. Controller 의 통제를 받는다. @서로의 관계 1.모델과 컨트롤러 : 컨트롤러는 모델에 접근할 수 있다. 하지만 모델은 Notification & KVO 방식을 통해 모델의 변화를 컨트롤러에게 알릴 수 있다. 2.모델과 뷰 : 모델은 UI에 독립적이며 View와 소통할 수 없다. 3.뷰와 컨트롤러 : 컨트롤러는 View에 대해서 outlet을 이용해서 View에게 직접 접근할 수 있다. 뷰는 target - Action 구조로 사용자의 행.. 2021. 3. 9.
[스탠포드]Swift 강좌 - ios 구조 [스탠포드]Swift 강좌 - ios 구조 ios는 4개의 계층으로 구성되어 있다. 4계층 : Cocoa Touch(UIKit) : UI를 담당하는 부분. 버튼, 텍스트필드 등. Alerts, Core Motion, WebView, View Hierarchy, Map Kit, Image Picker, Controls, Camera, Multi-Touch 등 3계층 : Media : Core Audio, OpenAL, PDF, Audio Mixing, Audio Recording, Core Animation, Video PlayBack, OpenGL ES, JPEG, PNG, TIFF 2계층 : Core Service(Foundation) : Collections, Core Location, 주소록, Ne.. 2021. 3. 9.
jwt 토큰 - java로 생성하기 예제 jwt 토큰 - java로 생성하기 예제 1.스프링 프로젝트 생성 2.jwt 라이브러리 추가 io.jsonwebtoken jjwt 0.9.1 3.Utils 클래스 추가 JsonUtil.java import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.ObjectMapper; @Component public class JsonUtil { @Bean public ObjectMapper objectMapper() { return new ObjectMapper(); } } JWTException.java public cla.. 2021. 3. 8.
swift 기초 - assert , guard , protocol swift 기초 - assert , guard , protocol [1] assert 와 guard 애플리케이션 동작 도중에 생성하는 다양한 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리할 수 있다. assert(condition:Bool, message:String) assert 함수는 디버깅 모드에서만 동작한다. 배포하는 애플리케이션에서는 제외 된다. 주로 디버깅 중 조건의 검정을 위하여 사용한다. [1-1] 기본 예제 var someInt : Int = 0 //조건에 부합하므로 지나간다. assert(someInt == 0, "someInt != 0") someInt = 1 //조건에 부합하지 않으므로 지나가지 않는다. //assert(someInt == 0, "some.. 2021. 3. 5.
JWT - JSON Web Token 이란 - 개념 JWT - JSON Web Token 개념 1. 전통적인 웹어플리케이션 기본 구조 문제점 1 - 이용자가 늘어나서 서버 등 장치를 더 늘려야 된다면? 클라이언트는 문제가 안된다. 웹어플리케이션도 문제가 안된다. Api server 도 스케일 아웃해서 늘리면된다. 문제는 Database 다. 스케일 아웃 해서 병렬처리 하면되는데, 비용이 많이 든다. 그래서 가장관리하기 귀찮은 데이터 베이스를 지울 수 있다면? 유저 데이터를 유저(클라이언트)가 직접관리하게 한다. 유저가 데이터를 볼 수는 있지만 수정은 불가능하다. 수정은 서버만 수정 할 수 있다. JWT를 이용한 웹애플리케이션 구조는 위와 같이 생겼다. 즉, 클라이언트에 필요한 유저 정보를 저장한다. 2.세션 기반 인증 방식 - (전통적인 방식) 서버가 인.. 2021. 3. 5.
swift 기초 - 옵셔널 체이닝, 타입캐스팅 swift 기초 - 옵셔널 체이닝, 타입캐스팅 [1] 옵셔널 체이닝 [1-1] 옵셔널 체이닝 옵셔널 체이닝은 옵셔널 요소 내부의 프로퍼티로 또다시 옵셔널이 연속적으로 연결되는 경우 유용하게 사용할 수 있다. [1-2] 예제 클래스 및 인스턴스 생성 //사람 클래스 class Person { var name : String var job:String? // 직업 - 옵셔널 var home: Apartment? //집 - 옵셔널 //이름 초기화 메소드 init(name:String) { self.name = name } } //아파트 클래스 class Apartment { var buildingNumber : String //동 var roomNumber: String //호수 var guardMan : P.. 2021. 3. 5.
swift 기초 - 상속, 인스턴스의 생성과 소멸 swift 기초 - 상속, 인스턴스의 생성과 소멸 [1] 상속 스위프트의 상속은 클래스, 프로토콜 등에서 가능하다. 열거형, 구조체는 상속이 불가능하다. 스위프트는 다중상속을 지원하지 않는다. 클래스의 상속과 재정의 class 이름 : 상속받을 클래스 이름 { //구현부 } [1-1] 클래스 정의 class Person { //[1] 인스턴스 변수 var name : String = "" //[2] 인스턴스 메소드 func selfIntroduce(){ print("저는 \(name) 입니다.") } //[2] 인스턴스 메소드 2 //final 키워드 - 재정의 방지 final func sayHello(){ print("hello") } //[3] 타입 메서드 //재정의 불가 타입 메서드 - static.. 2021. 3. 4.
swift 기초 - 클로저 , 프로퍼티, 프로퍼티 감시자 swift 기초 - 클로저 , 프로퍼티, 프로퍼티 감시자 [1]클로저 코드의 블럭 일급 시민 변수, 상수 등으로 저장, 전달인자로 전달이 가능 함수 : 이름이 있는 클로저 정의 { (매개변수 목록) -> in } [1-1] 함수를 사용한다면 func sumFunction(a:Int , b:Int) -> Int { return a+b } var sumResult: Int = sumFunction(a: 1, b: 2) print(sumResult) //3 [1-2] 클로저 정의 및 할당 var sumCloser : (Int, Int) -> Int = { //매개변수 목록 -> 반환타입 (a:Int , b:Int) -> Int in //실행코드 return a + b } [1-3] 클로저의 사용 sumResu.. 2021. 3. 4.