프로그램 개발 관련 각종 팁 모음

이전 달의 파일을 특정 디렉토리로 이동시키는 배치 파일

@echo offrem 이전 달의 파일을 하위 디렉토리로 이동rem    by isulSET ROOT=r:SET DS=%DATE%FOR /F "tokens=1-4 delims=-" %%A in ('echo %DS%') Do SET YY=%%A&SET MM=%%B%SET /a MM=1%MM%-101IF %MM% GTR 9 GOTO NEXTSET MM=0%MM%: NEXTIF %MM% EQU 00 GOTO YEARGOTO END: YEARSET /a YY=%YY%-1SET MM=12: ENDSET DIRNAME=%YY%%MM%mkdir %ROOT%\%DIRNAME%echo move file: %DIRNAME%* → %ROOT%\%DIRNAME%\ move %ROOT%\%DIRNAME%* %ROOT%\%DIRNAME%\

Continue Reading

안드로이드(Android) 에뮬레이터(emulator)에서 시리얼 통신하기

에뮬레이터 실행C:\android\tools\emulator.exe -avd Android.2.0.1 -verbose -qemu -serial COM4안드로이드 에뮬레이터에 쉘 접속c:\adb kill-serverc:\adb devicesC:\adb shell안드로이드 에뮬레이터 쉘에서 명령 실행#cd /data/bin# ./busybox microcom -s 300 /dev/ttyS2./busybox microcom -s 300 /dev/ttyS2connected to '/dev/ttyS2' (300 bps), exit with ctrl-X...*0100P3*000114.2696*0100P3*000114.2695시리얼 통신용 프로그램을 만들어서 테스트# ./seriald./seriald ttyS0 ttyS1 ttyS2recv: *000114.2712

Continue Reading

MyEclipse에 Flex Builder Plugin 설치하기

1. 설치 시 MyEclipse가 설치된 디렉토리는 "c:\Program Files\Genuitec\Common\"로 선택하고, 진행 시 경고 메시지가 표시되면 그냥 강제로 설정하고 진행합니다.2.Flex Builder Plug-in 설치"Add from Local Folder"을 클릭하여 "Flex Builder 3 Plug-in"을 설치한 디렉토리 하위 디렉토리인 "com.adobe.flexbuilder.update.site"을 선택합니다. (c:\Program Files\Adobe\Flex Builder 3 Plug-in\com.adobe.flexbuilder.update.site)Help - Software - Windows - Preferences - Flex - Installed Flex SDKs에서 아래 그림에서 보이는 것처럼 수정합니다.Flex 0.0 -> C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\2.0.1Flex 0.0(1) -> C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0적용(Apply)하면 프로젝트 생성 시 Flex가 표시됩니다.

Continue Reading

TMS TDBAdvGrid component에서 UTF-8으로 설정된 DB의 Memo 칼럼의 한글이 깨어질 경우 해결 방법

TMS TDBAdvGrid component에서 UTF-8으로 설정된 DB의 Memo 칼럼의 한글이 깨어질 경우 해결 방법DBAdvGrid.pas의 아래 코드를if not ShowMemoFields thenbegin  Value := '(MEMO)'endelse  Value := aField.AsString;다음과 같이 수정if not ShowMemoFields then begin   Value := '(MEMO)' end else   Value := Utf8ToAnsi(aField.AsString);

Continue Reading

Free pascal에서 SQLite 사용하기

Free Pascal이나 Lazarus에 기본으로 있는 sqlite 관련 컴포넌트를 리눅스 환경에서 사용할 경우 Close나 Free를 호출할 경우 알 수 없는 에러가 발생하더군요.그래서 sqlite 라이브러리를 직접 호출하는 방법을 사용했습니다.아래는 소스 코드입니다.uses sqlite3;procedure TAlertD.InsertMessageToDB(email, contents, ip: string);var  rc: longint;  db: Psqlite3;  query: string;  stmt: Psqlite3_stmt;  idx0, idx1, idx2, idx3: Integer;begin  rc := sqlite3_open(PChar(ExpandFileName(ChangeFileExt(ParamStr(0), '.db3'))), @db);  if (rc <> SQLITE_OK) then    begin      WriteLn('Can''t open database');      sqlite3_close(db);      Exit;    end;  rc := sqlite3_exec(db, 'BEGIN', nil, nil, nil);  if rc <> SQLITE_OK then    begin      WriteLn('Can''t begin Transaction: ', sqlite3_errmsg(db));      sqlite3_close(db);      Exit;   …

Continue Reading

Peak Detection

Introduction Musical instrument signals generally consist of a transient portion and steady state or quasi-periodic portion. The transient part is usually the attack of the signal and the steady state the portion that follows the attack part. When investigating time variant signals it is critical to make use of both time and frequency domain analysis techniques. Some important features in musical signals include duration, amplitude modulation, pitch, spectral harmonicity, spectral envelope, spectral centroid and the like. Attack time is especially considered a salient feature of musical timbre (Eagleson and Eagleson 1947; Saldanha and Corso 1964; Elliot 1975) and has been…

Continue Reading

TCP TIME-WAIT 상태 이해하기

TIME-WAIT 상태란, 연결 종료 시 마지막 패킷 전송 실패를 대비하기 위한 상태이다. TCP 연결 종료과정은 four-way handshaking을 하게 된다. TCP 에서 연결을 종료를 그림으로 설명하면 다음과 같다. A : B 야, 이제 전화 끊자B : 어~ 잠시만 기달려주셈B : 이제 됐다, 전화 끊으삼A : 끊어야지  마지막에 A 가 끊어야지 하고, TIME-WAIT 에 들어갑니다.이유인즉, TIME-WAIT 에 있는 동안 혹시나 마지막에 B 에게 보낸 ACK 메세지가도착하지 않았을 경우, B 에서 A 에게 다시 ACK, FIN 메세지를 보내게 됩니다.그러면 A 는 TIME-WAIT 에서 빠져나와서B 에게 ACK 메세지를 보내고 다시 TIME-WAIT 에 들어가게 됩니다. For-way handshaking 과정이 끝난 상태에서 A의 소켓이 바로 소멸되는 것이…

Continue Reading

X connection to localhost:10.0 broken (explicit kill or server shutdown).

X connection to localhost:10.0 broken (explicit kill or server shutdown).Starting RapidMiner using the non-GUI script named "rapidminer" should not cause RapidMiner to acquire any X resources. Nevertheless the Tomcat server sometimes tries to connect to a certain display port as defined by the DISPLAY variable. There are usually two options to avoid this behaviour:1. Try to call unset DISPLAY before you start the Tomcat server. This normally ensures that Tomcat runs in headless mode.2. If, for some purposes, you need a DISPLAY variable set, try to run Tomcat/Java using the option -Djava.awt.headless=true in order to run server and java processes…

Continue Reading
Close Menu