본문 바로가기

반응형

분류 전체보기

(121)
[Linux] shell code - [], [[]], (), (()) 차이 예를 들어 shell script에서 if문을 사용할 때, 일반적으로 []를 주로 사용했을 것이다.결론을 먼저 말하자면 []는 sh 기반이고, [[]]는 bash 기반으로 동작하는 차이가 있다.또한 []는 옛날 리눅스 환경의 잔해이다.[[]]는 []의 개선된 버전으로, 좀 더 직관적으로 표현하는 방식이 [[]]이다. 차이점[] 표현[[]] 표현바이너리 처럼 작용한다.bash에 따라 다르다.기본적으로 'not'연산자를 지원하지 않는다.단일 조건만 지원한다.대괄호 내에서 논리 연산자를 사용할 수 있다.test와 동의이다.새롭게 개선된 버전이며, 프로그램이 아닌 키워드이다. 개선점대괄호 안에 &&, ||와 같은 and, or 조건을 사용할 수 있다.큰따옴포 ""를 사용하지 않아도 된다.정규 표현식 사용시 패턴..
[Linux] shell script - python exit code exit code?종료 코드란 명령 또는 스크립트가 실행된 수 수신된 코드값이다. 종료 코드는 명령/스크립트의 결과에 대한 단서(성공/실패/기타 조건)를 보고하는 시스템이다.동의어로, '종료 상태', '반환 코드', '종료 상태 코드'가 있다.누군가 요청하지 않는 한 종료 코드는 스스로 출력하지 않는다.종료 코드는 코드 디버깅에 사용된다.종료 코드는 다양한 시스템 통합에 유용하다.python~shell exit codeshell로 python script를 실행하게 되면 python script 실행 결과에 대한 exit code를 반환해 볼 수 있을 것이다.이때 python은 'Sucess Exit Code'값으로 '0', 'Failure Exit Code'값으로 '1'을 반환한다.또는 사용자 지정 종..
[Linux] $?의 의미 $? 의 의미bash shell에서 가장 최근에 실행한 명령어의 종료 상태(status)를 가진 변수이다.또는 가장 최근에 실행한 함수의 return값을 가진 변수를 의미한다.% echo hellohello% echo $?0# 최근 명령어의 종료 상태가 정상% true% echo $?0% false% echo $?1주의할 점$? 는 앞서 언급했듯이 '가장 최근 실행 결과'를 저장하는 변수임을 잊으면 안된다.다시말해서, 가장 최근 실행 결과 코드가 무엇인지 출력하기 위해 다음과 같은 실수를 저지르면 안된다.잘못된 사용 예상황: shell을 통해 script 구동 후 결과에 따라 if문으로 처리하기python3.9 ./test.pyecho "result code: $?"if [[ $? -ne 0 ]]; th..
[Python] Jinja template Jinja (template engine)Jinja wikipedia Jinja (template engine) - WikipediaFrom Wikipedia, the free encyclopedia Template engine for the Python programming language associated with the Flask framework Jinja is a web template engine for the Python programming language. It was created by Armin Ronacher and is licensed under a BSD Len.wikipedia.org Jinja는 Python용 웹 템플릿 엔진이다.Jinja는 Flask의 기본 템플릿 엔진이며..
[Linux] IF문 if문 구조if [[ 조건식 ]]; then 수행문fi if문의 조건문[ -z ] : 문자열의 길이가 0이면 참[ -n ] : 문자열의 길이가 0이 아니면 참[ -eq ] : 값이 같으면 참[ -ne ] : 값이 다르면 참[ -gt ] :  값1 > 값2[ -ge ] : 값1  >= 값2[ -lt ] : 값1 [ -le ] : 값1 [ -a ] : &&연산과 동일 and 연산[ -o ] : ||연산과 동일 xor 연산[ -d ] : 파일이 디렉토리면 참[ -e ] : 파일이 있으면 참[ -L ] : 파일이 심볼릭 링크면 참[ -r ] : 파일이 읽기 가능하면 참[ -s ] : 파일의 크기가 0 보다 크면 참[ -w ] : 파일이 쓰기 가능하면 참[ -x ] : 파일이 실행 가능하면 참[ 파일1 -n..
[A-Z]Dogfooding Dogfooding? Eating your own dog food, also called dogfooding, is a slang term used to reference a scenario in which a company uses its own product to test and promote the product. 자신의 개밥을 먹는 것. 'dogfooding'이라는 용어는 자사의 제품/서비스를 직원들이 직접 사용해봄으로써 제품/서비스의 문제를 확인하는 과정이다. 즉 사용자 관점에서 제품/서비스의 품질/UX(User Experience)를 확인해보는 것이다. 이렇게 개발자들이 스스로 사용자 입장에서 자신이 만든 서비스가 어떤지 평가하면서 더 나은 개선점을 찾는 과정이 필요하다. Dogfooding ..
[BQ] Python에서 BigQuery 실행하기 Python Client for Google BigQuery Example Usage 구글 GCS 서비스 계정 json 파일을 사용하여 BigQuery에 쿼리 실행하기 from google.cloud import bigquery CREDS = 'test_service_account.json' client = bigquery.Client.from_service_account_json(json_credentials_path=CREDS) job = client.query('select * from dataset1.mytable') for row in job.result(): print(row) Reference https://stackoverflow.com/questions/45003833/how-to-run..
[Git] commit message convention 협업을 하다보면 원활한 커뮤니케이션을 위해 규칙이 필요하다. Git 커밋 메세지에도 가독성을 위해 규칙이 필요한 것 같아서 정리한다. Commit message structure 일반적으로 커밋 메세지 구조는 제목-본문-꼬리말 구성이다. 이때 각 파트는 한 줄을 띄어서 분리시킨다. 제목 본문 꼬리말 그러나 커밋을 자주 하는 경우엔 구성을 맞추는 것도 일이된다. 그래서 간결한 커밋 메세지를 지향한다면 한 줄 이내로 메세지를 작성하기도 한다. Commit Tag Type Tag Name Description Feat 새로운 기능을 추가 Fix 버그 수정 Design CSS 등 사용자 UI 디자인 변경 !BREAKING CHANGE 커다란 API 변경의 경우 !HOTFIX 급하게 치명적인 버그를 고쳐야하는 경..

반응형