본문 바로가기

분류 전체보기

Objective-C에서 SQLite 사용 예제 Objective-C에서 SQLite 사용 예제 1-1. 헤더 추가하기 Objective-C에서 SQLite를 사용하려면, 다음과 같이 헤더 파일을 추가한다. Xcode 프로젝트를 새로 생성한 후, 아무 라이브러리도 추가하지 않은 상태이다. #import 1-2. SQLite의 객체 SQLite의 사용을 지원하는 객체에는, 데이터베이스 연결 정보를 가지고 있는 sqlite3와, SQL 구문을 데이터베이스로 전송하기 전 컴파일을 하는 sqlite3_stmt 객체가 있다. 각 형식을 갖는 두 객체를 선언한다. // ... sqlite3 * database; // 데이터베이스 연결정보 sqlite3_stmt * databaseStatement; // 쿼리 구문 컴파일러 //... 1-3. SQLite 데이터베.. 더보기
Perl(CGI)로 세션 주고 받기 예제 Perl(CGI)로 쿠키 주고 받기 예제 이번 포스팅에서는 Perl(CGI)로 세션을 생성 및 사용하고 삭제하는 과정에 대해 정리해본다. 0. 준비 사항 다음의 명령어를 이용해 CGI, Cookie, Session 모듈을 설치한다. 자세한 내용은 본 블로그의 서버 구축 관련 포스팅에 정리되어 있다. $ sudo cpan install CGI $ sudo cpan install CGI::Cookie $ sudo cpan install CGI::Session macOS 한정 CGI::Session이 설치되지 않는 경우 다음과 같이 force 옵션을 써서 강제로 설치할 수 있다. $ sudo cpan cpan> force install CGI::Session Debian/Ubuntu 한정 cpan을 통한 설치.. 더보기
Perl(CGI)로 쿠키 주고 받기 예제 Perl(CGI)로 쿠키 주고 받기 예제 이번 포스팅에서는 Perl(CGI)로 쿠키를 생성, 전달 및 삭제하는 과정에 대해 정리해본다. 0. 준비 사항 다음의 명령어를 이용해 CGI, Cookie 모듈을 설치한다. 자세한 내용은 본 블로그의 서버 구축 관련 포스팅에 정리되어 있다. $ sudo cpan install CGI $ sudo cpan install CGI::Cookie 1. 쿠키로 전달할 데이터 입력받기(cookie-submit.cgi) 다음과 같이 쿠키 변수에 보관할 문자열을 받는 폼을 구성한다. 이 폼은 다음에 보여질 웹 페이지인 cookie-export.cgi에 전달될 것이다. #!/usr/bin/perl print "Content-type: text/html;charset=UTF-8\n.. 더보기
이동된 게시물입니다. 본 게시글은 블로그 개편으로 이동되었습니다. 아래 주소로 접속하여 주십시오. This article has been moved due to the the reorganization of the blog. Please visit the page linked below: この文書はブログの改編ので移動されました。下記の住所で接続して下さい。 http://blog.codingcat.kr/14 더보기
macOS에서 Apache + Perl(CGI) 구동하기 macOS에서 Apache + Perl(CGI) 구동하기 이번 포스팅에서는 macOS(10.13.5 High Sierra 기준)에서 Apache 서버를 설정하고 Perl(CGI)로 작성된 웹 페이지를 출력하는 방법에 대해 정리한다. Apache와 Perl의 설치(?) macOS에는 Apache와 Perl이 기본으로 설치되어 있다. CPAN조차도 기본으로 설치되어 있다. 특정 버전을 사용하고자 하는 것이 아닌 이상 그대로 이용하면 된다. 다음과 같이 whereis를 통해 해당 실행 파일이 존재함을 확인 정도만 하고 넘어간다. $ whereis perl $ whereis cpan $ whereis httpd CPAN으로 CGI의 설치 우선 perl이 설치된 경로를 확인한다. $ sudo perl -e 'pr.. 더보기
이동된 게시물입니다. 본 게시글은 블로그 개편으로 이동되었습니다. 아래 주소로 접속하여 주십시오. This article has been moved due to the the reorganization of the blog. Please visit the page linked below: この文書はブログの改編ので移動されました。下記の住所で接続して下さい。 http://blog.codingcat.kr/13 더보기
[CentOS & Apache] HTTP 403 오류 해소 방법 HTTP 403 오류 해소 방법 상황: CentOS 7 & Apache 구동 서버에 접속 시 위와 같이 HTTP 403 오류가 발생한다.로그를 확인해본다. $ sudo vi /var/log/httpd/error_log Permission denied: ... search permissions are missing on a component of the path의 오류 메시지를 확인할 수 있다. 즉 파일은 존재하긴 하나 외부에서 이 파일을 접근할 권한이 없다는 뜻이다. 이를 해결해보자 1. chmod로 해결하기 접근권한(permission)하면 먼저 떠올려야 할 것은 chmod일 것이다. 다음과 같이 각 파일 및 이를 포함하는 디렉터리에 x(실행 가능) 권한이 있어야 할 것이다. $ sudo ls -al .. 더보기
CentOS Minimal Intallation으로부터 서버 구축 방법 - 외부 인터넷에 연결 서버에 설치된 네트워크 카드 검색하기 CentOS 서버에 인터넷을 연결한다. 인터넷 설정이 안 되어 있어 ping이 되지 않는 상태이다. ifconfig으로 서버에 설치된 네트워크 카드를 검색한다. eth0 또는 ens33의 이름으로 네트워크 카드가 검색됨을 확인한다. $ sudo ifconfig 인터넷 설정이 안 되어 있어 IP도 잡히지 않는다. IP 설정하기 인터넷에 연결하기 위해 설정할 항목은 다음과 같다. 1. DHCP를 사용하여 자동 IP를 부여받을 경우: BOOTPROTO=dhcp, GATEWAY, NETMASK 2. 고정 IP를 부여받은 경우: BOOTPROTO=static, GATEWAY, NETMASK, IPADDR 서버 부트마다 자동으로 네트워크를 연결하고자 한다면 ONBOOT=yes를.. 더보기
Perl(CGI)에서 POST 방식, GET 방식으로 파라미터 얻기 Perl(CGI)에서 POST 방식, GET 방식으로 파라미터 얻기 PHP 등 현대적인 웹 언어와 달리 Perl은 POST/GET 방식으로 파라미터를 얻는 방식은 다소 번거롭다. 이 포스팅을 통해 정리해보고자 한다. 1. POST 방식으로 데이터를 주고 받기 먼저 주소창에 데이터가 나타나지 않는 POST 방식으로 데이터를 주고 받아보는 예제이다. 1-1. post-send.cgi POST 방식으로 웹 페이지로 데이터를 전송하기 위한 폼을 구성한다. 일반 텍스트를 입력받아 전달하는 member_id 매개변수와, 암호형 텍스트를 입력받아 전달하는 member_pw 매개변수를 정의한다. #!/usr/bin/perl print "Content-type: text/html\n\n"; print $ENV{'QUER.. 더보기
Perl에 HTTP, CGI 모듈 설치하기 Perl에 CGI 모듈 설치하기 1. CPAN을 설치하기 Perl로 작성한 웹 페이지에 Cookie, Session 등의 기능을 적용하기 위해서는 CPANComprehensive Perl Archive Network으로부터 CGI 모듈을 다운로드 받아 설치해야 한다. CPAN은 Perl로 작성된 각종 모듈들을 다운로드 받을 수 있는 네트워크이기 때문에 서버가 인터넷에 연결되어 있어야 사용 가능하다. 서버의 인터넷 연결 설정 방법은 이 포스트의 내용을 벗어나므로 생략한다. 우선 서버에 perl-CPAN 패키지를 설치한다. $ sudo yum --disablerepo=\* --enablerepo=c7-media install perl-CPAN 2. CPAN을 통해 CGI 모듈 설치하기 Perl에 CGI 모듈.. 더보기
macOS Application에서 OpenGL 사용 예제 macOS Desktop Application에서 OpenGL 사용 예제 View.h /* MainView.h : View 영역에 발생하는 각종 호출과 이벤트 처리 */ #import #import @interface MainView : NSOpenGLView @end View.m /* MainView.m : 위 클래스의 구현 부분 */ #import "MainView.h" @implementation MainView /* OpenGLView 파생 클래스들은 defaultPixelFormat이 내부적으로 호출된다. Pixel Format을 가져올 때 호출된다. */ + (NSOpenGLPixelFormat *) defaultPixelFormat { static NSOpenGLPixelFormatAttri.. 더보기
VMware에서 만든 Virtual Machine을 VMware Fusion에서 사용하기 VMware에서 만든 Virtual Machine을 VMware Fusion에서 사용하기 Windows 또는 Linux 환경에서 사용하는 가상 머신 프로그램 중 하나인 VMware Workstation은 macOS에서 VMware Fusion이라는 이름으로 사용됩니다. 이름이 다른 만큼 기능이나 호환 면에서 소소한 차이가 있습니다. 물론 큰 틀에서는 같은 프로그램이니만큼 약간의 작업만 하면 VMware Workstation에서 생성한 가상 머신(Virtual Machine)을 VMware Fusion에서 불러와서 그대로 이용할 수 있습니다. 1. 매킨토시로 Virtual Machine을 복사하기 VMware Workstation에서 생성한 가상 머신을 "폴더채로" 매킨토시에 복사합니다. 2. Virtua.. 더보기
macOS에서 리눅스 ll 명령어 사용하기 macOS에서 리눅스 ll 명령어 사용하기 Linux에서는 ll 명령어를 통해 디렉터리 내 각 파일들의 권한, 날짜 및 이름을 한꺼번에 볼 수 있다. 이는 사실 ls -al명령어의 축약형이지만 이렇게 입력하는 것보다 ll로 입력하는게 훨씬 간단하기도 하다. 아쉽게도 macOS에는 이 명령어가 없다. 그러나 쉘 스크립트를 사용해 똑같이 이를 구현할 수 있다. ll 명령어를 지원하지 않는 macOS 1. 빈 텍스트 파일 생성하기 원리는 간단하다. 터미널의 기본 명령어들은 /bin 디렉터리에 존재하지만, macOS는 이 디렉터리에 대한 접근을 허용하지 않는다. su 또는 sudo를 사용해도 접근이 되지 않는다. 정확히 말하면 이 디렉터리의 파일들을 삭제 또는 파일 추가 등을 할 수 없다. 해킹을 해서 루트 권.. 더보기
자바 프로그램에서 각종 내부 설정 관리 방법 자바 프로그램에서 각종 내부 설정 관리 방법 Java 프로그램(Android Application 포함)에서 실행 도중 자체적인 설정 사항들을 관리하고자 할 때 사용할 수 있는 클래스로는 java.util.Properties가 있습니다. 이 클래스를 통해 텍스트 파일 형태로 응용 프로그램에서 내부적으로 사용하기 위한 각종 설정 값들을 저장하고 불러올 수 있습니다. Properties 클래스를 통해 설정 값 저장하기 Properties 클래스를 통하여 설정 값을 저장하기 위해서는 setProperty메서드를 사용합니다. Object java.util.Properties.setProperty(String key, String value); key설정 값에 부여될 이름입니다. value저장할 값입니다. 만일 .. 더보기
이동된 게시물입니다. 본 게시글은 블로그 개편으로 이동되었습니다. 아래 주소로 접속하여 주십시오. This article has been moved due to the the reorganization of the blog. Please visit the page linked below: この文書はブログの改編ので移動されました。下記の住所で接続して下さい。 http://blog.codingcat.kr/53 더보기
이동된 게시물입니다. 본 게시글은 블로그 개편으로 이동되었습니다. 아래 주소로 접속하여 주십시오. This article has been moved due to the the reorganization of the blog. Please visit the page linked below: この文書はブログの改編ので移動されました。下記の住所で接続して下さい。 http://blog.codingcat.kr/52 더보기
이동된 게시물입니다. 본 게시글은 블로그 개편으로 이동되었습니다. 아래 주소로 접속하여 주십시오. This article has been moved due to the the reorganization of the blog. Please visit the page linked below: この文書はブログの改編ので移動されました。下記の住所で接続して下さい。 http://blog.codingcat.kr/51 더보기
Win32에서 IDispatch 인터페이스를 활용한 객체 사용 방법 Win32에서 IDispatch 인터페이스를 활용한 객체 사용 방법 본 포스팅에서는 Win32 C++에서 IDispatch Interface를 사용하여 Component Object Model 객체를 생성하고 그 객체의 메서드와 프로퍼티에 접근하는 방법에 대해 알아보겠습니다. 1. IDispatch 인터페이스 IDispatch 인터페이스interface는 COM(Component Object Model) 기반 프로그래밍을 할 때 COM 서버에 등록된 각종 개체들을 연동하는 과정에서 개체들이 제공하는 각종 인스턴스instance, 프로퍼티property, 메서드method 등을 현재 작성중인 코드와 연계시켜주는 역할을 하는 인터페이스입니다. 1-1. COM/OLE의 사용 시작과 종료 IDispatch 인터.. 더보기
Win32 C++에서 Microsoft Excel 파일 다루는 방법 Win32 C++에서 Microsoft Excel 파일 다루는 방법 본 포스팅에서는 C#에서 Microsoft Excel 파일 다루는 방법(http://tapito.tistory.com/582)을 참고하여 Win32 C++ 개발 환경에서 MFC를 사용하지 않고 OLE/Automation으로 Microsoft Excel 파일을 읽고 쓰는 방법에 대해 설명합니다. 프로젝트 생성 및 초기 코드에 대해서는 설명하지 않습니다. 1단계. Microsoft Excel Application 로드하기 및 종료하기 1-1. Microsoft Excel Application 실행하기 Excel.Application형 인스턴스를 생성하는 것으로써 Microsoft Excel Application이 내부적으로 실행됩니다. Ex.. 더보기
Borland C++ Borland C++ Borland C++은 x86 기반의 16비트 프로그램(도스 및 윈도우용)을 개발할 수 있는 도구입니다. Borland C++ 2.0(+ Application Frameworks) 지원 아키텍처: x86 (MS-DOS, Windows 3.x) 설치 이미지 형식: .img (RAR 압축됨) 다운로드: 3.5 플로피 이미지 및 패치 설치 파일의 출처: WinWorld: Borland C++ 2.0 (DOS) - WinWorld https://winworldpc.com/product/borland-c/20 Borland C++ 3.1(+ Application Frameworks) 지원 아키텍처: x86 (MS-DOS, Windows 3.x) 설치 이미지 형식: .img (RAR 압축됨) .. 더보기
Windows API로 콘솔(터미널) 입/출력하기 Windows API로 콘솔(터미널) 입/출력하기 본 포스팅에서는 Windows API로 콘솔(터미널)을 띄운 후 이 콘솔로부터 입력 및 출력을 수행하는 과정에 대해 다룹니다. Windows API 콘솔 입출력은 디버그를 위한 문자열 출력 및 GUI에 영향을 주지 않는 각종 테스트 등에 활용될 수 있습니다. 1 단계. 창 띄우기 콘솔 창을 띄우기에 앞서 우선, Windows API로 다음과 같이 빈 창을 띄우겠습니다. /* winmain.c */ #include TCHAR g_szClassName[] = TEXT("ConsoleWindow"); TCHAR g_szWindowName[] = TEXT("Console Window Example"); HINSTANCE g_hInstance = NULL; LRE.. 더보기
C#에서 Microsoft Excel 파일 다루는 방법 C#에서 Microsoft Excel 파일 다루는 방법 본 포스팅에서는 Component Object Model(이하 COM) 객체를 로드하여 C# 프로그램에서 Microsoft Excel 형식의 데이터를 읽거나 기록하는 방법에 대해 설명합니다. 1단계. C# 프로그램에서 Microsoft Excel COM 객체 참조시키기 [참조] - [참조 추가(R)...]를 클릭합니다. "참조 관리자" 화면이 뜨면 [어셈블리] - [확장] 메뉴를 클릭합니다. 그 다음, "Microsoft.Office.Interop.Excel" 모듈을 체크한 뒤 [확인] 버튼을 눌러 해당 모듈을 C# 프로그램에 참조시킵니다. 2단계. Microsoft Excel Application 로드하기 Excel 파일을 입/출력할 메서드에는 다.. 더보기
[Adobe After Effects]타자효과 영상 제작 Adobe After Effects를 사용하여 위와 같은 한글타자 효과를 만드는 방법은 다음과 같다. Composition 및 Layer 생성하기 After Effects를 열고 적당한 규격과 적당한 길이의 Composition을 생성한다. 새 레이어를 생성하기 위해 [Layer] → [New] → [Solid...]를 클릭한다. 적당한 크기와 색상을 선택한 후에 [OK]를 클릭한다. 텍스트 입력 [Horizontal Type Tool (Ctrl + T)]를 클릭하여 텍스트를 추가한다. 우선, '|' 문자를 캐럿(caret)으로 사용하여 깜박거리는 효과를 내보도록 한다. 텍스트 레이어에 '|' 문자를 넣는다. [▼] 버튼을 눌러 하위메뉴를 펼친 다음, "Source Text" 옆의 타이머 버튼(Time-.. 더보기
[杵家七三] 和楽・千本櫻 (기네이에 나미 - 화악 천본앵) 和楽・千本櫻 (화악 천본앵) 歌詞: 綾部(あやべ)ふゆ(개사: 아야베 후유) 編曲: 水川(みずかわ)寿也(としや)(편곡: 미즈가와 도시야) 唄: 佳館(よしたて)杏ノ助(きょうのすけ)(노래: 요시다테 교노스케) 三味線: 杵家(きねいえ)七三(なみ)(샤미센: 키네이에 나미) 箏・十七絃: 大畠(おおはた)菜穂子(なおこ)(쟁/십칠현: 오오하타 나오코) 笛・尺八: 竹井(たけい)誠(まこと)(피리/퉁소: 다케이 마코토) 尺八: 水川(みずかわ)寿也(としや)(퉁소: 미즈가와 도시야) 打楽器: 多田(ただ)恵子(けいこ)(타악기: 타다 게이코) 原曲: 初音(はつね)ミク(원곡: 하츠네 미쿠) - 1 - おそれも知(し(らずに ハイカラ革命(かくめい) (오소레모 시라즈니 하이카라 카쿠메이) 겁이 없는 현란한 혁명. きはめて(きわめて)磊落(ら.. 더보기
Adobe Creative Suite 5 Master Collection 설치 오류 조치법 Adobe Creative Suite 5 Master Collection 설치 오류 조치법 운영체제: Windows 10 Home설치 버전: Adobe Creative Suite 5 Master Collection 오류 상황 "설치 프로그램 데이터베이스가 일치하지 않습니다. (inconsistency installer database)" 메시지 출력되면서 설치가 되지 않음 조치 사항 \Program Files (x86)\Common Files\Adobe\caps 폴더를 삭제한다. 더보기
MFC 기본 컨트롤 - ListBox의 사용법 MFC 기본 컨트롤 ListBox의 사용법 MFC에서 제공하는 기본 컨트롤에는, 1. CButton 계열의 버튼 컨트롤(BS_PUSHBUTTON: 일반적인 버튼, BS_CHECKBOX: 체크 박스, BS_RADIOBUTTON: 라디오 버튼, BS_GROUPBOX: 그룹 박스)과 2. CStatic 계열의 정적 컨트롤(SS_SIMPLE: 일반적인 텍스트 표시, SS_BITMAP: 비트맵을 표시) 3. CEdit계열의 입력 컨트롤(ES_MULTILINE: 여러 줄 편집 가능, ES_PASSWORD: 비밀번호 입력, ES_NUMBER: 숫자만 입력) 4. CListBox 계열의 리스트 박스 컨트롤 5. CTreeCtrl 계열의 트리 뷰 컨트롤 6. CComboBox 계열의 콤보 박스 컨트롤 7. CScroll.. 더보기
[App] myPlayer 1.08 myPlayer myPlayer 1.08 myPlayer는 삼성전자의 PC를 구매할 때 번들로 딸려오던 음악 재생 소프트웨어로서 Windows Media Player의 재생 모듈을 기반으로 하여 작성되었습니다. ########################################################################## 삼성전자 myPlayer Version 1.08 ########################################################################## 안녕하세요, 삼성전자입니다. myPlayer는 Windows Media Player기반으로 MP3, Wave, MIDI 등의 다양한 음악 파일과 오디오 CD를 재생할 수 있는 오디오 재.. 더보기
[App] Metrowerks CodeWarrior Metrowerks CodeWarrior Metrowerks CodeWarrior는 클래식 매킨토시에서 사용되었던 개발도구입니다. C, C++, Java 또는 Pascal을 사용하여 Mac OS용 소프트웨어 개발을 할 수 있습니다. Metrowerks CodeWarrior Pro 6.0 지원 아키텍처: PowerPC (Mac OS 8.6 ~ 9.2) 설치 이미지 형식: .toast (SIT 및 RAR 중복 압축됨) 설치 이미지 다운로드 링크: (Metrowerks CodeWarrior Pro 6의 IDE를 설치하는 이미지입니다. 1/17) (Metrowerks CodeWarrior Pro 6의 IDE를 설치하는 이미지입니다. 2/17) (Metrowerks CodeWarrior Pro 6의 IDE를 설치.. 더보기
[App] Adaptec Toast Adaptec Toast Ataptec Toast는 매킨토시용 CD 이미지 생성 및 굽기 프로그램입니다. .toast 형식의 파일을 읽거나 구울 수 있습니다. Astarte Toast CD-ROM Pro 2.5.6 Stuffit Expander로 sit 파일의 압축을 풀면 실행파일(Toast CD-ROM Pro 2.5.6)과 확장파일(Toast CD Rader)이 들어 있습니다. 우선 확장 파일을 시스템 폴더(System Folder)의 확장 파일(Extensions)에 옮겨 넣습니다. 이 과정을 재부팅을 필요로 합니다. 재부팅 후 실행파일을 클릭하면 실행됩니다. 지원 아키텍처: 68kPowerPC 설치파일 형식: .sit (RAR 압축) 설치파일 다운로드 링크: 설치 이미지의 체크섬 MD5: D8948.. 더보기
[App] Stuffit Deluxe Stuffit Deluxe, Stuffit Expander, DropStuff 매킨토시용 압축 형식인 .sit 파일을 생성하거나 읽을 수 있는 소프트웨어입니다. 파일을 압축하여 sit파일을 생성하는 프로그램은 DropStuff이고, sit 파일을 압축해제 하는 프로그램은 Stuffit Expander입니다. Stuffit Deluxe 5.5 Stuffit Expander 5.5와 DropStuff 5.5의 합본입니다. 최초 실행 시 시리얼 입력을 요구하는데 이는 동봉되어 있습니다. 지원 플랫폼: 68kPowerPC 설치파일 형식: .iso (RAR 압축) 설치파일 다운로드 링크: 설치 이미지의 체크섬: MD5: 19F9797522136774D3E852EA8E576D13SHA-1: 317B71AC5399F.. 더보기