App Client에서 FileUpload 하는 방법은 multipart/form-data octet-stream으로 나눠집니다. Alamofire 를 활용하여 multipart/form-data 파일 업로드를 구성하면 다음과 같이 구성할 것입니다. 업무를 하다보면 간혹 파일 업로드를 octet-stream으로 요구 할 때가 있습니다. octet-stream 파일 업로드는 위의 multipart/form-data 와 동일한 방식으로 구성하되 header에 content-type을 application/octet-stream 을 추가로 선언하면 됩니다. 마무리 간단히 파일 업로드 하는 방법에 대해서 알아봤습니다. octet-stream , multipart/form-data 방식으로 파일 업로드 시 도움이..
STOMP을 Swift 환경에서 사용하는 방법에 대해서 알아보겠습니다. API DESC StompClientLib https://github.com/WrathChaos/StompClientLib 위에 명시된 라이브러리를 Android .gradle 에 dependencies 합니다. STOMP Client STOMP Client 사용법은 다음과 같이 나눌 수 있습니다. // 1. INIT let url = NSURL(string: "ws://[도메인]/connect/websocket") let intervalSec = 1.0 public var soketClient = StompClientLib() // 2. CONNECT func registerSocket(){ if(soketClient.isConne..
채팅을 구현하는 방식은 XMPP, Websocket 등 다양한 방식으로 구현하고 있습니다. 이번 포스트는 필자가 직접 사용하였던 STOMP에 대해서 간략하게 공유하려고 합니다. 필자의 주관적인 이해한 내용을 적다보니 잘못 기입된 부분이 있을 수 있습니다. 잘못 된 부분에 대해 댓글로 남겨주시면 수정 하겠습니다. STOMP 무엇인가? Simple (or Streaming) Text Oriented Message Protocol 의 약자인 STOMP는 텍스트 기반의 메세징 프로토콜 입니다. STOMP 사용 환경은 TCP 나 WebSocket 과 같은 신뢰성있는 양방향 streaming network protocol 상에 사용될 수 있습니다. 문자로 설명으로 보는 것보다 STOMP 구조를 보면 이해하시는데 도..
iOS 이메일 보내는 방법을 공유하겠습니다. iOS 이메일을 보내려면 MessageUI 가 필요합니다. 시작하기 ■ 사용자가 이메일 기능을 사용 가능한지 체크합니다.주의사항 iOS 이메일을 보내기 테스트 시 시뮬레이션에서는 동작하지 않으며 iOS 디바이스(iPhone)에서 이메일 테스트 해야합니다.import Foundation import UIKit import MessageUI class WelcomeViewController: UIViewController, MFMailComposeViewControllerDelegate { override func viewDidLoad() { super.viewDidLoad() if !MFMailComposeViewController.canSendMail(..
클로저에 대해서 공부한 내용을 요약 정리 했습니다. 클로저란 무엇일까? 클로저는 함수를 객체로 사용하는 것을 클로저(Closer)라고 합니다. 클로저?클로저는 함수 객체를 말합니다.클로저의 형태는 함수나 코드 블록을 포함합니다.클로저가 정의된 콘텍스트까지 포함합니다. 1. 함수 타입1234567//함수 정의func sayHI(){ print("Hi")}//함수참조let hi = sayHI()hi 함수 객체를 참조 변수로 사용할 때의 타입을 말합니다. 함수타입은 파라미터로도 사용할 할 수 있습니다. 정리하자면, 함수 타입은 함수의 구성 요소의 파라미터, 반환 타입으로 구성됩니다. 12345678// 함수타입 (Int, Int) -> Intfunc add(i: Int, j: Int) -> Int{ retur..
Template 만들기xcode 에서 기본적으로 제공하는 것이 아닌 자신이 직접 만든 Template을 사용할 수 있는 방법은 없을까? 생각을 해봤을 것입니다. Template 만드는 방법과 적용 방법을 공유 하겠습니다 Template 만드는 방법Template을 만들기 위해서는 총 3가지 종류의 파일이 필요하게 됩니다.1. FILEBASENAME.swift 2. TemplateIcon.png, TemplateIcon@2x.png 3. TemplateInfo.plist ■ __FILEBASENAME___.swiftTemplate 으로 표현할 swift 파일을 의미하며 FILEBASENAME 파일명 형태를 유지하며 저장하여야 합니다. 사용자가 Template 으로 생성한 파일 이름이 FILEBASENAME..
XCODE로 코딩하다보면 UITextView에 대한 가로 정렬은 있으나 세로 정렬이 없다는 것을 발견하게 됩니다. 이번 포스트로 UITextView에서 세로 정렬하는 방법을 소개하려고 합니다. 원리1. UITextView 모든 글이 들어갔을 때 크기 * zoomScale 2. UITextView Bounds 크기 - 1번 결과값 (UITextView 모든 글이 들어갔을 때 크기 * zoomScale) 3. 2번 결과 값 / 2 의 값과 1 중 최고 값을 가져옵니다. 4. 3번의 결과 값을 UITextView의 ContentOffSet y 값으로 설정 합니다. 1번 ~ 4번을 수식으로 표현하면 다음과 같습니다.contentOffset.y = -(max(1, (UITextView 모든 글이 들어갔을 때 크기..
다양한 부분에서 활용하는 패턴인 싱글턴 패턴에 대해서 알아보고 Swift에서는 어떻게 싱글턴 패턴을 구현하는지 공유하겠습니다. 싱글턴 패턴(Singleton pattern)싱글턴으로 구현된 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이며, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 요약하자면, 하나의 객체가 생성되어 재활용 하는 패턴을 의미합니다. Object-C 에서의 싱글턴object-c 에서는 싱글턴 패턴을 구현할 때에 dispatch_once_t 을 사용합니다. void dispatch_once(dispatch_once_t *predicate, dispatch_block_t block); Q. dispatch_once_t 무엇인가? A. ..
- 고시문
- 미션차이나센터
- 탁구
- 코틀린
- 디자인패턴
- 선교
- missioon
- view
- IT
- missionchina
- Android Studio
- push
- flutter
- DI
- java
- MCC
- IOS
- 안드로이드
- Android
- RXjava
- 패턴
- 스코어헬퍼
- swift
- 알고리즘
- issue
- 임용고시
- 고시문헬퍼
- Kotlin
- 점수판
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |