전체 글92 Shell Script return 과 command failed 시 check 어플리케이션 빌드 및 배포를 할 때는 sell script 를 많이 사용하는 편입니다. 매일 그 때 그 때 중구난방으로 작성한 스크립트를 볼 때마다 항상 제대로 작성해야겠다라는 생각을 했었는데, 기회가 닿아 함수로 기능을 구분하고 input과 return 을 잘 사용해보려 하다가 멘탈이 깨질뻔 했지요. 여기서는 쉘 스크립트 함수를 사용할 때 인자를 넘겨받는 방법과 리턴하는 방법에 대해 알아보겠습니다. 인자 넘기고 받는 방법 리턴하고 받는 방법 인자 남기고 받는 방법 우선은 쉘 스크립트 함수 형태를 보겠습니다. function sample_func() { ... } # or sample_func2() { } 쉘 스크립트에서 함수는 위 처럼 사용합니다. 함수 호출 방법: sample_func 단순하죠? 그럼.. 2020. 3. 25. [NGINX] Binary Upgrade without downtime service 서비스 단절 없이 New version 의 nginx binary 를 Upgrade 하는 방법에 대해 작성한 문서입니다. 이번에 nginx 를 사용할 일이 있어, nginx all-in-one static binary 로 빌드를 하고 서버에 배포를 하게 되었습니다. 그런데 생각해보니, 우리는 무정지 서비스 배포를 해야하는데, nginx 는 이게 가능한지 찾아보게되었습니다. 공식 사이트에 친절하게 설명해 놓았네요. 영어 무능력자 구글 번역기와 직접 사용해보면서 확인해본 내용을 정리합니다. NOTE! 해당 문서의 내용은 직접 컴파일한 nginx binary 를 교체하여 무정지 서비스 배포하는 내용입니다. 확인해보지는 않았지만, RPM 을 사용할 경우 자동으로 되는것으로 알고있습니다. Nginx 무정지 서비스.. 2020. 3. 25. 비트코인 채굴량 계산법 비트코인 채굴량 계산법 비트코인 관련 사이트를 서핑하던 중, 연산력을 입력하면 하루, 일주일, 한달, 1년 단위로 채굴량을 알려주던 사이트가 기억이나 계산법을 찾아보았습니다. 공식: ((R/D) (HT/2^32)) 각 기호는 다음과 같습니다: R: Reward per Block (생성된 블록당 보상 코인량)D: Difficulty (난이도)H: 연산력 (최소 단위)T: Time by Second (초) 위 공식은 몇초동안 몇 연산력으로 얼마만큼의 코인을 획득할 수 있는 알수 있습니다. 예제: 난이도가 1,196,792,694,098 보상량이 12.5 시간이 하루라고 한다면 86,400초 연산력이 13.5 TH 라고 하고 최소 단위로 변경하면 13.5 1000 1000 1000 1000 = 13,500,0.. 2017. 10. 23. 스왑파일(가상메모리) 만들기 가상메모리가 16GB 정도가 필요하다는 가정하에 만들고 지우는거 까지 정리해보았습니다. 환경은 CentOS7.x 이며, root 로 로그인한 상태입니다. 만일 root로 로그인하지 않는다면, sudo 명령을 통해 처리하시면됩니다. 스왑파일 생성하기 블록 사이즈는 1,024 로 하여 16GB(=16,777,216) 로 파일을 생성하겠습니다: $ dd if=/dev/zero of=/swapfile bs=1024 count= 16777216 스왑파일로 설정하기 $ mkswap /swapfile 스왑파일 즉시 적용하기(선택사항) 위에서 만든 스왑 파일을 적용해보겠습니다. $ swapon /swapfile 등록하기 3번을 처리하면 즉시 반영되지만, 재부팅하면 반영되지 않습니다. 이 부분을 처리하는 내용입니다. $.. 2017. 10. 16. MariaDB(mysql) UUID 로 PK 사용하기 늘 디비를 설계할 때 고민되는게, AUTO_INCREMENT 속성의 INT 또는 BIGINT 로 설정된 Primary Key 컬럼을 사용하는데요, 항상 의문이었습니다. Unsigned Integer 의 경우 0 에서 4,294,967,295 까지이고, Unsigned Big Integer 는 0 에서 18,446,744,073,709,551,615 까지입니다. 사실 BIGINT 로 해도 해당 모델을 사용하는 어플리케이션이 먼저 죽으면 죽었지 이게 먼저 채워질리는 없어 라고 생각하며 AUTO_INCREMENT flag 를 사용한 BIGINT 속성의 Primary Key를 늘 사용해 오다가, 갑자기 구글처럼 세계의 모든 블로그의 포스트를 URL 별로 저장하면 이게 가능할까? 였었습니다. 고유한 식별자에 대해.. 2017. 10. 12. 파이썬에서-decimal-초기화-하기 파이썬에서 decimal 초기화 하기 이 문서는 2017-09-19 에 작성되었습니다. 이 문서는 python3.x 에서 테스트하였습니다. 파이썬에서 소수점 연산을 위해 사용하는 decimal 패키지가 있습니다. 그런데 이것을 사용하기 위해, decimal 컨텍스트에서 rounding 옵션, 자리수 옵션등을 설정한 후 decimal.Decimal(0.1) 을 넣으면 Decimal('0.1') 이 되지 않고 아래와 같이 초기화됩니다.: Decimal('0.1000000000000000055511151231257827021181583404541015625') 그리고, 저렇게 된 Decimal 들 끼리 연산하게 되면 decimal 컨텍스트에 설정한 대로 자리수나, rounding 처리가 되어 결과값이 출력됩니.. 2017. 9. 19. 이전 1 2 3 4 5 ··· 16 다음