libconfig 오픈소스 config library

http://hyperrealm.github.io/libconfig/libconfig_manual.pdf 

오픈소스 config library이고 이런식으로 쓴단다

Example application configuration file

# Example application configuration file
version = "1.0";
application:
{
    window:
    {
        title = "My Application";
        size = { w = 640;
        h = 480;
    };
        pos = { x = 350;
        y = 250;
    };
}
;
list = (("abc", 123, true), 1.234, (/* an empty list */));
books = ( { title = "Treasure Island";
author = "Robert Louis Stevenson";
price = 29.95;
qty = 5; },
{ title = "Snow Crash";
    author = "Neal Stephenson";
    price = 9.99;
    qty = 8; } );
    misc:
    {
        pi = 3.141592654;
        bigint = 9223372036854775807L;
        columns = [ "Last Name", "First Name", "MI" ];
        bitmask = 0x1FC3; // hex
        umask = 0027;     // octal. Range limited to that of "int"
    };
}
;

GCOVR 로 커버리지 측정 – 소스와 gcda파일이 다른 경로에 있을 경우

gcovr은 내부적으로 gcov를 사용하나봄

gcovr ./path/to/gcda_gcno/files.dir -r /path/to/src.dir -s -p –html –html-details –gcov-executable /usr/bin/gcov -o /path/to/output/Test.html -verbose

파일포맷 설명: 아래 링크 참조하였다.

https://educoder.tistory.com/entry/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B3%B5%ED%95%99gcov%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%BB%A4%EB%B2%84%EB%A6%AC%EC%A7%80-%EC%B8%A1%EC%A0%95

gcno – 빌드한 파일의 소스넘버가 들어있음.

gcda – 실행하면 실행카운트가 업데이트되는 데이터파일

-r 옵션 : 소스코드 디렉토리

-o 옵션 : 출력할 파일들이 저장될 경로

1. gcc의 특정 flag와 함께 테스트하고자하는 프로그램을 컴파일
   – -fprofile-arcs -ftest-coverage
   – .gcda , .gcno 파일 생성

2. 테스트하고자 하는 프로그램을 실행
   – .gcda 파일에 실행한 프로그램의 커버리지 정보가 저장됨

3. gcov 프로그램을 사용하여 커버리지 정보를 분석
   – gcov options

[Git] monorepo 상황에서 통합(PR) 전에 브랜치의 커밋들을 squash해서 하나로 모으고 리베이스 하기

monorepo 형태로 운용한다면
브랜치의 merge가 허락되지 않고
아래처럼 거부될 수 있다.

remote: Merge commits are not allowed. You should rebase rather than merge
remote: =====================================================================
...
! [remote rejected]

그 때 방법은 rebase를 통하는 것인데
rebase를 하면서 내 커밋들을 하나로 묶어서 간단하게 로그를 만드는 경우에
(이미 push로 올린 브랜치에서)
다음과 같이 하면 된다.

$ git checkout master # (또는 develop 등 메인 브랜치 이름)
$ git pull # 서버(원격 저장소)에서 다 가져온다
$ git checkout {내 브랜치 이름} # 예 git checkout feature/my-123
$ git rebase -i master # master의 내용들로 내 브랜치를 리베이스 한다.
이 때 이미 내 브랜치에서 커밋했던 내용들이 보이고, 이 중에 필요한 것들은 squash 등으로 첫 단어 이름을 바꿔 적고 저장하면 묶여진다. 그 다음 단계로 커밋 메시지 수정하라고 나온다.
$ git push -f origin {내 브랜치 이름} # 원격 저장소의 내 브랜치에 적용해서 올려준다.

서울의 평년 강수일, 기온

30년간의 기후자료. 서울 (1981~2010년)
요소 01 02 03 04 05 06 07 08 09 10 11 12
강수일수1.0mm이상 3.9 3.5 5 5.9 7 7.7 13.4 12 6.7 4.9 6.4 4.2
최고기온(℃) 1.5 4.7 10.4 17.8 23 27.1 28.6 29.6 25.8 19.8 11.6 4.3
최저기온(℃) -5.9 -3.4 1.6 7.8 13.2 18.2 21.9 22.4 17.2 10.3 3.2 -3.2

자전거 탈 때 참고..

출처: 기상청 http://www.weather.go.kr/weather/climate/average_30years.jsp?yy_st=2011&stn=108&x=15&y=6&norm=M&obs=0

비상식량으로 찐쌀

찐 쌀이 동결건조미보다 좋다는 느낌이다. 원문

그리고 3년은 간다고.. 그렇다면 이런 쌀을 사서 보관하면 어떨까? 저렴하고, 보관성 좋을 것이고.. 어쨌거나 물은 가장 중요하다. 어떻게든 확보해야됨. 물만 있으면 한동안 버틸 수 있겠다.

링크

찾아보니 네이버 검색하면 한국산 찐쌀도 있다 찹쌀찐쌀이 위보다 더 싸게 나온다.

보통 먹는 법은 종이컵에 반 채우고, 뜨거운 물을 가득 채운 다음 5분간 기다리면 누룽지가 되어있다고 함. 이 정도면 매우 편한거같다.

파당

“우리나라가 잘 되려면 지방색을 가르는 파당싸움을 말아야 한다. 좁은 나라 한 핏줄의 겨레가 무슨 남도니 북도니, 호남이니, 영남이니 하며 네 갈래 열 갈래로 갈라져 싸우는가? 이는 나라를 잃고도 정신을 못 차리기 때문이다” -손정도 목사의 설교 중에서 –

수태일(受胎日)이 죽는 날이다. : 네이버 블로그

https://m.blog.naver.com/panem/70182449088

우리가 지금 지키고 있는 성탄절 날짜는 흔히 일각에서 말하는 대로 박해받던 기독교를 로마의 콘스탄티누스 황제가 공인한 이후 로마의 민간축제인 태양절의 날짜를 대신 예수님의 탄생일로 삼은 것은 아니라는 것입니다.

300년경 로마에서 기독교를 국가종교로 공인하기 이전 이미 팔레스틴에서는 12월 25일을 지킨 기록이 있다는 것입니다.

그런데 그 추측 근거가 재미있었습니다.

즉 예수님의 십자가 수난일이 3월 25일로 알려져 있었는데,

이는 빌라도 총독 시대의 역사적 기록으로 근거를 찾을 수가 있는데…

여기에 당시 팔레스틴의 전승이 작용했다는 것입니다.

즉 위인들은 엄마 뱃속에서 수태된 날과 죽는 날이 서로 같다는 것이 팔레스틴 지방의 전승이라는 것입니다.

그러니까 예수님은 3월 25일에 돌아가셨으니 그날 수태된 것으로 계산하여 임신 기간 9개월을 더하면 12월 25일이 되기 때문에 초대교회로부터 이렇게 계산하여 12월 25일을 예수님의 탄생일로 지켰다는 것입니다.