태그 :: 개발관련
전체 82개
Go언어에서 ShellExcute, ShellExcuteEx 함수 사용하기
Go언어에 exec 패키지를 통해 exec.Command().Run 이나 Start등으로 외부 명령을 실행할 수 있으나 이 함수들의 단점은 CreateProcess 기반인데다 부가적인 옵션이 거의 존재하지 않습니다. 예를들면 Run 함수의 경우에는 실행시킨 명령이 종료되기 전까진 대기 …
현재 윈도가 32비트인지 64비트 인지 확인
Go언어는 개발하는 컴퓨터의 OS나 아키택처 상관 없이 다양한 플랫폼을 대상으로 실행파일 빌드가 가능합니다만. runtime 패키지의 GOARCH나 GOOS 등은 컴파일시에 해당 바이너리가 타겟으로 잡은 정보가 나올뿐 실제 현 시스템에 대한 정보를 대변하진 않습니다. 예를들어 64비트 …
특정 경로의 총 파일 사이즈, 폴더 갯수, 파일 갯수 얻기
지정한 경로내의 총 파일 크기의 합과 폴더, 파일의 갯수를 리턴해주는 함수입니다. 관리자 대시보드등에서 특정 경로의 사용용량등을 표시하는데 쓰시면 되겠습니다. Go / * dirUsage / func dirUsage(currentPath string, info os.FileInfo, …
JSON 오브젝트 사이즈 얻기
일반적으로 자바스크립트에서 배열등의 크기를 얻을떄는 .length 를 통해 얻습니다만 .. 이게 JSON 파싱등을 통해서 얻은 오브젝트에 포함된 경우에는 length 변수의 값으로는 얻어지지 않습니다. 그런경우 참고하세요. JavaScript function …
mysql/mariadb DATETIME -> 년/월/일 시:분:초 변환
JavaScript function convDateFormat(dbDate){ var date = new Date(dbDate) var year = date.getFullYear(); var month = (1 + date.getMonth()); month = month >= …
바이트를 KB, MB, GB 등의 Human Readable로 변환
JS작업을 하다보면 .. 바이트 단위의 파일 사이즈등을 MB 등의 단위로 표시해야 할 경우가 있습니다. 그런경우에 사용가능한 .. 변환 함수입니다.. JavaScript function bytesToHumanSize(bytes) { var sizes = ['Bytes', 'KB', …
CreateProcessAsUser - 서비스에서 GUI포함한 프로그램 실행
일반적으로 윈서 서비스 프로그램은 일반 어플리케이션과 다른 영역에서 실행되기 때문에.. 서비스가 SheelExecute나 CreateProcess 함수등으로 실행한 프로그램들은 GUI를 포함하고 있다하더라도 화면에 표시되지 않습니다. 이러한 이유로 서비스 프로세스에서 .. GUI를 포 …
ShellExcute - 프로세스 종료까지 대기
MFC나 API 에서 외부 실행파일을 실행하는데 가장 많이쓰는게 ShellExcute 인데요 .. 간혹 .. 실행시킨 프로세스가 종료될때까지 대기해야 하는경우가 있습니다 그런때 사용하면 됩니다. C++ ::ZeroMemory(&sei, …
CreateProcess 예제
보통 다른 프로그램을 프로그래밍 적으로 실행을 하려면 ShellExcute 함수를 많이 쓰긴 합니다만.. 다른 이유로 CreateProcess 로 실행을 해야 하는 경우도 있지요 .. PID로 뭔가를 해야 한다거나 .. 등등... 그런때 쓰시면 됩니다. C++ / * …
TEA Encryption Algorithm, TEA 암호화 알고리즘
C++ // Encryption ( 8 Byte ) void encipher( unsigned long const v, unsigned long const w, const unsigned long const k ) { register unsigned long y = v[0], z = …
base64 인코딩 / 디코딩
C++ /—— Base64 Encoding Table ——/ static const char MimeBase64[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', …
Go언어로 윈도 서비스 어플리케이션 만들기
최근에는 MS의 Visual Studio도 기본적으로 무료로 사용가능하지만.. 무료버전으로는 서비스 어플리케이션은 개발할 수가 없습니다. ( 물론 Professional 버전 등에서 관련 리소스들을 복사해와서 꼼수로 개발환경을 구성가능하기도 하지만 ㅎㅎ ) 여튼 .. Go로도 윈도 서 …
[MFC] 문자열 분리 - Split String
C++ / * SplitString / void SplitString(TCHAR strData, TCHAR Seperator, CStringArray& arr) { CString data = strData; int Position = 0; CString Token; Token …
ANSI(CP949) 한글 조사 처리
C++ // kstbl.h #ifndef KSTBL_H #define KSTBL_H /* KS 완성형 2350자의 조합형 코드 */ unsigned KStbl[2350]={ 0x8861,0x8862,0x8865,0x8868,0x8869,0x886a,0x886b,0x8871, …
파일복사 함수
기본적으로 파일을 이동시키거나 삭제하는 함수는 제공되고 있지만 복사의 경우 따로 구현을 해야 합니다. Go / * 파일 복사 함수 / func copyFile(srcFile string, destFile string) error { // 기존 파일이 있으면 삭제 if , err := …
프로그램 실행경로를 실행파일 위치로 고정
간혹 프로그램을 어디서 실행했느냐 따라서 .. 상대경로로 지정된 코드들이 파일을 못찾는 경우가 생깁니다. 이럴경우 실행파일의 위치로 실행경로를 조정해주면 됩니다. Go if err != nil { return } exPath := filepath.Dir(ex) currDir, …
올바른 이메일 주소, 알파벳, 숫자 체크(Regexp)
Goa-zA-Z0-9?(?:\.a-zA-Z0-9?)$") return er.MatchString(email) } /** 알파뱃 , 숫자 체크 / func isAlphaNumString(str string) bool { match, _ := …
간단한 파일 다운로드(HTTP GET)
프로그래밍을 하다보면 HTTP GET방식으로 파일을 다운받아 저장해야할 일이 종종 있습니다. 그런떄 사용가능한 GET 방식의 간단한 파일 다운로드 예제입니다. Go func downloadFile(filepath string, url string) error { // Create …
윈도 API를 이용한 wav 사운드 파일 재생
간단히 소리로 무언가를 알려야 할경우에 유용한 코드입니다. 구글링 중에 얻은 코드인지 깃헙 돌아다니다 발췌한 코드인지 기억이 가물가물해서 출처가 애매하네요 ;; Go package main import ( "syscall" "unsafe" …
현재 날짜, 시간 구하기
Go / * 현재 날짜 및 시간 문자열로 얻기 / func currDateTimeStr() string { t := time.Now() return fmt.Sprintf("%04d%02d%02d_%02d%02d%02d", t.Year(), t.Month(), …



