준호씨의 블로그
평소 프로세스를 죽일 때 kill 명령어를 사용하곤 한다. 강제로 죽일 때는 kill -9 (SIGKILL) 을 쓰긴 한데, default가 뭔지 기억이 안날 때가 있다. default 는 15 (SIGTERM) 이다. kill -15 와 동일하다. kill -l 로 번호 확인 kill -l 을 실행하면 아래와 같이 각 번호에 대한 설명을 볼 수 있다. $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCH..
"내가 말할 수 있는 것은 리스프가 가장 위에 존재한다는 사실 뿐이다." 폴 그레이엄의 '해커와 화가' clojure 는 리스프를 JVM 환경에서 돌도록 만든 언어이다.
google test 는 cpp 를 기반으로 한다. 그래서 일반적인 방법으로는 c 코드나 c 라이브러리를 테스트를 할 수 없다. c 코드를 테스트 하려고 하면 "Undefined symbols" 같은 오류를 만나게 된다. c 코드를 테스트 하는 방법들에 대해 적어 본다. 개발툴은 CLion 을 사용 할 것이다. include c file 꼼수를 좀 부려 보면 include 할 때 h (header) 파일이 아니고 c 파일을 include 하면 된다. june.h june.c 로 된 코드가 있다면 #include "june.h" 대신 #include "june.c" 로 하면 된다. 하지만 include c 파일을 한다는게 좀 그렇다. 어쩔 수 없는 상황에서는 쓰게 될 것도 같은데 실제로 이런 경우는 겪어 ..
레거시 시스템을 만지다 보니 안쓰는 라이브러리가 있어서 관련 컴파일 옵션을 지웠다. 그 중 하나가 libgd 인데 그래픽 처리와 관련된 라이브러리였다. 참고 삼아 남겨본다. 예제 /* Bring in gd library functions */ #include "gd.h" /* Bring in standard I/O so we can output the PNG to a file */ #include int main() { /* Declare the image */ gdImagePtr im; /* Declare output files */ FILE *pngout, *jpegout; /* Declare color indexes */ int black; int white; /* Allocate the image..
디스크 용량이 또 부족하다. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/disk1s1 466G 459G 179M 100% / /dev/disk1s4 466G 6.1G 179M 98% /private/var/vm /dev/disk1s2 466G 23M 179M 12% /Volumes/Preboot 1 무엇을 정리 해야 하나 사진, 동영상, iMovie, Final Cut Pro X, iLifeMediaBrowser osx - 디스크 정리. 사진, 동영상 파일 관련. iMovie, Final Cut Pro X, iLifeMediaBrowser http://junho85.pe.kr/1009Final Cut Pro X프로젝트 파일 문제 http://jun..
끄적끄적 메모메모. 아직 제대로 써 본 적은 없다. Mocha https://mochajs.org/ Karma Jest https://jestjs.io/ https://www.jetbrains.com/help/webstorm/running-unit-tests-on-jest.html Protractor Cucumber 참고 Testing JavaScript - WebStorm Help
절대경로 use lib '/Users/junho85/perl-lib'; 상대경로 FindBin 모듈 이용 use FindBin; use lib "$FindBin::Bin/./lib"; perl 모듈 경로 perl -V 해 보면 기본적으로 참조 하는 라이브러리 경로들을 확인 할 수 있다. @INC: /Users/junho85/perl5/lib/perl5 /Users/junho85/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/darwin-2level /Users/junho85/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1 /Users/junho85/perl5/perlbrew/perls/perl-5.26.1/..
C 언어를 처음 할 때에는 변수 선언은 가장 위에만 했어야 했고, for loop index 변수는 밖에서 선언하고 사용 했어야 했다. 하지만 C 언어도 세월이 흘러 그러한 제약들이 사라진지 이미 오래 되었다. C 언어 표준들에 대해 간단히 메모 해 본다. C11 - 2011 https://en.wikipedia.org/wiki/C11_(C_standard_revision)) C99 - 1999 https://en.wikipedia.org/wiki/C99 gcc --std=c99 for loop 에 초기화 변수 선언 가능 for (int i=0; i

알고리즘 문제 풀기에서 단골로 나오는 것중 하나가 순열입니. 리스트가 있을 때 서로 겹치지 않게 모든 경우로 표현하는 것입니다. 예들 들어 1과 2가 있으면 다음과 같은 조합을 만들 수 있습니다. 1 2 2 1 만약 1, 2, 3이 있다면 다음과 같은 조합을 만들 수 있겠죠? 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 순열은 factorial 로 경우가 수의 늘어납니다. 1! = 1 2! = 1 x 2 = 2 3! = 1 x 2 x 3 = 6 4! = 1 x 2 x 3 x 4 = 24 순열을 직접 구현 할 수도 있겠지만, 빠르게 해답을 찾으려면 itertools 를 사용할 수 있습니다. (python 만세) import itertools for perm in itertools.per..
CMake 를 적용 하면 좋은점? 여러 장점이 있지만 개인적으로 느끼는 최고의 장점은 바로 CLion 에서 잘 지원 한다는 점이다. CMake 설정을 안한 CLion 개발 환경은 그냥 조금 더 좋은 에디터 정도이다. CMake 설정을 하면 IntelliJ 에서 Java 프로그래밍을 할 때의 기분으로 C 나 C++ 개발을 할 수 있게 된다. 요즘 레거시 C 코드 작업을 많이 하고 있는데 CLion 이 없었다면 끔찍 했을 거 같다. 간단하게 시작하자 프로젝트 최상위 디렉토리에 CMakeLists.txt 를 만든다. project(myproject C) 를 지정하면 디렉토리명으로 나오던 프로젝트명이 내가 지정한 프로젝트명으로 나온다. 하위 디렉토리에와 연결 lib 디렉토리가 있다고 가정하자. lib 디렉토리에..