분류 전체보기380 Ios CoreData 간단한 예제로 배우기 #.완성된 화면 #.스토리 보드 #.coredata 경로확인 및 로깅 방법 1.Edit Scheme 선택 2.Run 선택 3.Arguments탭 선택 4.제일 윗부분(Argument passed on launch)에 아래 옵션 추가 -com.apple.CoreData.SQLDebug 1 -com.apple.CoreData.Logging.stderr 1 #.출력 결과 더보기 CoreData: annotation: Connecting to sqlite database file at "/Users/hyunhojeong/Library/Developer/CoreSimulator/Devices/DFF6EC41-3141-49E9-B3EF-54D24F416C31/data/Containers/Data/Applicatio.. 2020. 7. 30. SQLite 응용 #.완성화면 #.준비 *먼저 xcode 에서 libsqlite3 라이브러리를 추가 한다. #.sqlite 핵심 객체 sqlite3의 핵심객체는 sqlite3 와 sqlite3_stmt 두 가지가 있다. sqlite3는 데이터베이스 커넥션 정보를 갖고 있는 객체이고, sqlite3_stmt는 데이터베이스에 보낼 질의를 컴파일한 객체라 보면된다. sqlite3 객체는 sqlite3_open() 함수를 호출하여 생성하며,sqlite3_close() 함수를 통해 연결을 닫으면서 해제된다. sqlite3_stmt 객체는 sqlite3_prepare() 함수를 통해 질의를 컴파일하면서 생성되고, sqlite3_finalize() 함수를 통해 해제된다. #.핵심 함수 6종 *sqlite3_open : 연결 생성 *s.. 2020. 7. 29. SQLite 기초 *먼저 xcode 에서 libsqlite3 라이브러리를 추가 한다. *AppDelegate.h에 #import 를 해준다. AppDelegate.m 예제 예제파일 출처 : 아이폰에서 sqlite사용하기 2020. 7. 29. Firebase를 이용해서 좌표 저장 후 지도에 표시 #.완성된 모습 *먼저 지도표시와 위도, 경도 라이브러리를 위한 MapKit.framework 와 CoreLocation.framework를 추가한다. *info.plist 에서 위치 수집을 위한 설정을 해준다. *구글 firebase API를 사용하기위한 설치를 진행한다. (참고) AppDelegate.h AppDelegate.m ViewController.h ViewController.m Main.Storyboard 예제파일 전체거리 계산 예제 참고 1. : 폴리라인 참고 2. : iOS :지도에 매력적인 경로 그리기 2020. 7. 29. MKMapView 와 CLLocationCoordinate 이용해서 지도에 경로 표시하기 #.완성된 모습 *먼저 지도표시와 위도, 경도 라이브러리를 위한 MapKit.framework 와 CoreLocation.framework를 추가한다. *info.plist 에서 위치 수집을 위한 설정을 해준다. AppDelegate.h AppDelegate.m ViewController.h ViewController.m Pin.h Pin.m Main.Storyboard 예제파일 2020. 7. 28. 19.메시지큐, 공유 메모리, 세마포어 - ipc #.키와 식별자 시스템 V IPC를 사용하려면 IPC의 객체를 생성해야 하는데, 이를 위해 공통적으로 사용하는 기본 요소가 키와 식별자이다. #.키생성 방법 -키로 IPC_PRIVATE를 지정한다 IPC_PRIVATE를 키로 지정해 생성된 식별자를 서버와 클라이언트 모두 알 수 있게 해야 한다. fork 함수로 생성된 부모-자식 프로세스 간 통신에서 유용하게 사용할 수 있다. -ftok 함수로 키를 생성한다. ftok 함수는 경로명과 숫자값을 받아서 키를 생성한다. 따라서 서버와 클라이언트가 같은 경로명과 숫자값을 지정하면 공통 식별자를 생성할 수 있다. *상수 : IPC_PRIVATE *키 생성 : key_t ftok(const char *path, int id); *IPC 정보 검색 : ipcs [-.. 2020. 7. 21. 18.파이프 #.파이프 파이프는 두 프로세스 사이에서 한 방향으로 통신할 수 있도록 지원한다. 종류 *이름있는 파이프 *이름없는 파이프 #.이름없는 파이프 부모-자식 프로세스 간에 통신할 수 있게 해준다. 부모 프로세스에서 fork 함수를 통해 자식 프로세스를 생성하고, 부모 프로세스와 자식 프로세스 간에 통신하는 것이다. (자식 프로세스가 출력한 내용을 부모 프로세스에서 읽을 것인지 둘 중 한 방향을 선택해야 한다.) *간단한 파이프 생성 FILE *popen(const char *command, const char *mode); int pclose(FILE *stream); *복잡한 파이프 생성 int pipe(int fildes[2]); #.파이프 생성: pipen(3) #include FILE *popen(c.. 2020. 7. 20. 17.메모리 매핑 #.메모리 맵 유닉스 시스템이 제공하는 통신 기능은 크게 두가지로 구분할 수 있다. 1.동일한 시스템 안에 있는 프로세스 사이에서 통신을 수행하는 것 2.두번째는 서로 다른 시스템에서 수행하고 있는 프로세스 사이에서 통신으로 데이터를 주고 받는 것. 프로세스 간 통신 : 동일한 유닉스 시스템 안에서 수행 중인 프로세스끼리 데이터를 주고받는 것 예) 파이프(pipe) 같은 특수 파일을 이용하거나, 메모리 매핑이나 공유 메모리 같은 메모리 영역을 이용하는 방법이 있다. 또한 메시지 큐, 공유 메모리, 세마포어 등 유닉스 시스템 V에서 제공하는 IPC 방법이 있음. 네트워크를 이용한 통신 : 유닉스 시스템에서 네트워크를 이요한 통신은 TCP/IP 프로토콜을 기본으로 하고 있으며, 소켓 라이브러리를 이용한다. .. 2020. 7. 20. 16.스레드 #.프로세스와 스레드 앞에서 Fork() 함수로 프로세스를 복사하는 법을 다루어보았는데. 이방법은 자원의 효율성이 떨어진다. 프로세스의 code, data, stack, file I/o, signal table 의 정보가 모두 복사되기 때문이다. 코드의 일부만 병렬로 실행시키고 싶을때는 낭비가 아닐 수 없다.그래서 스레드의 개념이 나왔다. 스레드는 한프로세스안에서 자원을 공유하면서 빠르게, 효율적으로 작업을 처리 할 수 있다. 프로세스는 독립적인자원을 가지는 반면에 스레드는 stat, memory등 자원을 공유한다. 그리고 프로세스는 자신만의 주소공간을 가지지만 스레드는 주소공간을 공유한다. 프로세스는 IPC를 이용해야만 통신이 가능하다. 그리고 스레드의 문맥교환은 프로세스의 문맥교환 보다 빠르다. 하지.. 2020. 7. 16. 이전 1 ··· 36 37 38 39 40 41 42 43 다음