1. 내용 프로그램 실행 시간(소요 시간) 구하기 2. header file time.h stdio.h 3. source code #include <stdio.h> #include <time.h> int main(){ time_t start_t, end_t; start_t = clock(); … end_t = clock(); printf(“TIME : %f\n”,(float)(end_t-start_t)/CLOCKS_PER_SEC); return 0; }
Category: Language
gcc compile
1. 단일 파일 컴파일(.c → 실행파일) gcc [소스파일.c] -o [실행파일] ./[실행파일] 2. 여러 파일 링크해서 컴파일(a.c b.c c.c → 실행파일) gcc -c [소스파일.c] gcc -o [실행파일] [오브젝트 파일1.o] [오브젝트 파일2.o] [오브젝트 파일3.o] …
매크로 사용하는 이유 #define
C 소스를 분석하다보면 맨 위에 #include 가 있고 그 근처에 #define이 있다. #define 부분이 매크로(전처리기)인데 #define MAX 100 #define ADD(x) (x) * (x) 이런 식으로 정의를 하기도 하고, 연산을 하기도 한다. 매크로를 쓰면 변수마다 괄호도 일일이 해야하고(괄호 넣고/안 넣고 결과값 다름), 개행할 때마다 \를 넣어줘야하는데 차라리 함수를 쓰지 왜 매크로를 쓸까? https://social.msdn.microsoft.com/Forums/expression/ko-KR/ab0afa88-7837-43a3-af01-267ac2a87d24/-?forum=visualcplusko 위의 내용을 정리하면 […]
달력 프로그램
1. 조건 1-1. 윤년 계산 1-2. 달력 출력하는 로직 2개 이상 : 1년 1월 1일을 기준으로 계산, 오늘을 기준으로 계산 등등 1-3. .c 파일 2개 이상으로 분할(함수별로 파일 분할) 2. 입력 연도(2012), 월(11 또는 a(all)) 3. 출력 해당 월의 달력 단, 월 입력시 a를 받을 경우 해당 연도의 모든(1~12) 월 출력 * […]
Update GeoIP DB
1. 개요 Update GeoIP Database file 2. Source Code #!/bin/bash ############################################ # Update GeoIP database # # Date : 2017.12.11. # # Maker : L.T # ############################################ # Set variable FILE_LOC=”/webhome/e-bio/public_html/wp-content/uploads/GeoIP.dat” # Check log LOGFILE=”/var/log/geoip.log” if [ ! -f $LOGFILE ]; then sudo touch $LOGFILE sudo chown ubuntu.ubuntu $LOGFILE fi # Download GeoIP database […]
Backup webhome
1. 개요 Backup web home directory 2. Source Code #!/bin/bash ############################################ # Backup – webhome directory # # Date : 2017.12.12. # # Maker : L.T # ############################################ # Set variable TODAY=`date +’%Y%m%d’` REMOVEDAY=`date +’%Y%m%d’ -d ‘3 days ago’` # Check log LOGFILE=”/var/log/backup_webhome.log” if [ ! -f $LOGFILE ]; then sudo touch $LOGFILE sudo […]
expect
1. 개요 스크립트 실행시 원격 서버에 접속해서 명령어를 실행하고 싶을 때 2. Source Code expect <<EOF # timeout 시간 set timeout 1 # 원격 서버 접속 spawn ssh -o StrictHostKeyChecking=no $ID@$HOSTIP expect { “Name or service not known” { exit 1 } “No route” { exit 1 } “try again” { exit 1 } […]
국가 차단(ipdeny.com)
1. 개요 IP 기반으로 차단하다보면 국가차단이 필요할 때가 있다. 이 때 사용할 수 있는 방법은 2가지다. 1.GeoIP, 2. ipdeny.com 보통 GeoIP를 많이 사용하는데 ipdeny.com에서 DB를 받아서 ufw로 차단할 수도 있다. 2017.8.16. 현재 ipdeny.com DB에 등록된 IP 대역은 총 178237개 이다. 2. Source code #!/bin/bash # Maker : LT # Date : 2017.08.16 # Description […]
파일 내용 치환
1. 개요 파일 내용 치환 2. command 2.1. 파일 수정 sudo sed -i “s/Before/After/” /file 2.2. 위 라인에 추가 sed -i “/This line/i\Up Line/” /file 2.3. 아래 라인에 추가 sed -i “/This line/a\Down Line/” /file
입력값 검증 (Y y yes)
1. 개요 입력값 검증 – Y, y, yes, Yes, YEs… 2. command if [ `echo $answer | grep “^[Yy]$\|^[Yy][Ee][Ss]$”` ]; then echo yes fi