URLSession을 통한 간단한 업로드 – Swift

URLSession(NSURLSession)을 기반으로 URLSessionDataTask를 이용하면 HTTP를 통해서 서버와 간단한 데이터를 주고받을 수 있다.  Data Task를 이용하는 케이스는 흔히 키-값 쌍의 정보를 URL로 인코딩해서 주소에 포함하고 서버로부터 응답을 받는 식으로 처리하는 것이 일반적이다. 서버로 데이터나 파일을 업로드하는 경우에는 URLSessionUploadTask 클래스를 사용하는데, 이를 이용한 파일 업로드를 어떻게 구현하는지 살펴보자. 사실, 그리 크지 않은 크기의 파일 데이터는 데이터태스크를 이용해도

코어 이미지 시작하기

코어이미지를 사용한 이미지 프로세싱 방법에 대해 알아보려고 한다. 가장 먼저 코어 이미지를 사용한 이미지 프로세싱에서 가장 핵심적인 세 가지 클래스에 대해서 살펴보자.이 들 클래스는 각각 CIContext, CIImage, CIFilter 이다. 핵심 클래스들 컨텍스트 : CIContext 코어그래픽에서 컨텍스트는 실제 이미지 비트맵 데이터 영역을 캔버스로 하고, 여기에 그림을 그리는 여러가지 선과 색등에 관련된 옵션을 가지고 있는 객체였다. 이는

ZMQ 멀티파트메시지

멀티파트 메시지는 하나의 메시지 프레임 내부에 여러 개의 독립적인 메시지 프레임이 들어 있는 것을 말한다. 이는 하나의 프레임에서 처리하기 힘든 데이터 조각들을 모아서 처리할 때 유용하다. 예를 들어 바이너리 파일 데이터를 전송하려는 경우에는 보내는 쪽이나 받는 쪽이나 전송하는 데이터가 이진데이터라는 것을 알고 있다 가정하여 바이트 스트림을 전송할 수 있다. 하지만 이렇게 하면 실제 데이터 외부에

ZMQ – Poller 사용하기

PUB-SUB 패턴이나 PUSH-PULL 패턴을 사용하면 데이터를 발생시키는 1개 (혹은 여러 개의) 노드로부터 데이터를 전달받는 N개의 노드들이 돌아가는 방식의 네트워크를 구성할 수 있음을 지난 글에서 보았다. 이 때 각각의 클라이언트 노드들은 루프를 돌면서 큐에 들어온 메시지를 순서대로 처리하게 된다. 만약 개별 클라이언트가 한 번에 처리해야 할 메시지의 최대 개수가 정해져 있다면 while 무한 루프가 아닌 for

INSERT문 – 테이블에 값 삽입하기 – SQLite3

테이블에 값을 삽입할 때는 INSERT 구문을 사용한다. 이 구문은 크게 세가지 형태로 만들어질 수 있다. INSERT INTO table (columns…) VALUES (…. ); : 각 칼럼에 (정의하지 않으면 스키마의 모든 칼럼에) ( … ) 의 값을 각각 적용해서 새로운 레코드를 삽입한다. 지정한 칼럼이나 혹은 전체 칼럼과 값의 개수가 맞지 않으면 에러가 발생한다. INSERT INTO table SELECT …; : SELECT 구문을