본문 바로가기

TIL/개인공부

(26)
[Github Action] 특정 job 비활성화 시키기 결론: jobs: job_name: if: ${{ false }} # disable for now
[Python] nohup으로 python코드 실행시 python 로그 찍히게하기 nohup 이란 터미널 또는 세션을 종료시켜도 백그라운드에서 계속 돌아가게끔 만들어주는 패키지이다. 단순히 백그라운드에서 실행하는건 명령어 마지막에 "&" 문자열을 추가하면되지만, 만약에 터미널을 꺼버리면 해당 프로세스도 같이 종료된다. 하지만 nohup으로 python 코드를 실행하면 일반적인 print문은 로그가 안남게된다. 그래서 아래와같이 -u옵션을 추가해서 실행하면 stdout, stderr뿐만이 아닌 python output도 같이 포함되어 로그가 출력된다. nohup python -u sample.py &
[bash] shebang이란? shebang이란? sharp(#) + bang (!) 합성어이며 Unix 계열 OS에서 스크립트 코드 최상단에서 해당 파일을 해석해줄 인터프리터의 절대경로를 지정해주는 기능을 갖는다. * 근데 왜 'sha'rp 인데 'she'bang으로 된거지... 일반적으로 사용하는 shebang #!/usr/bin/env bash #!/usr/bin/env python #!/bin/bash ... 사용방법 bash같은경우에는 shebang없이 bash script를 작성하고 실행하기 위해서는 다음과같은 명령어로 진행된다. bash test.sh 하지만 test.sh에 shebang을 추가하고 실행권한을 부여한다면 아래와같이 실행을 할수있다. # test.sh에는 "#!/usr/bin/env bash" 라는 sheb..
[Slack] ChatGPT Slack 챗봇 만들기 (3편) 앞 포스팅에서 ChatGPT 기본환경 세팅, FastAPI기본환경 세팅에 대해서 정리했고. 이번 포스팅에서는 마지막으로 Slack에서의 세팅을 진행한다. 일단 내가 원하는 Slack에서의 ChatGPT활용방식은 /chatgpt "메세지" 를 입력하면 메세지에 대한 내용을 ChatGPT가 어떻게 대답하는지 보여주고싶었다. 그래서 Slack앱 옵션 화면을 가보면 왼쪽 카테고리에 "Slash Commands"라는 카테고리가 보일것이다. 위와같은 화면에서는 이미 내가 만들어놓은 명령어가 있지만 새로 만들어본다. "Create New Command"를 선택한다. 그리고 다음과같은 내용을 기입한다. Command - 말그대로 slack에서 어떤 명령어를 쳐야지 내가 만든 챗봇이 불리는지에 대한 정의이다. Reque..
[Slack] ChatGPT Slack 챗봇 만들기 (2편) 앞선 페이지에서 ChatGPT에 대한 기본적인 설정을 하였다. 이번 포스팅에서는 FastAPI를 사용하기 위한 환경을 구축해본다. 자세히는 설명하기가 너무 길어질것같고. 최대한 요약해서 설명을 해보려고한다. 필자는 AWS EC2환경에서 Docker 로 FastAPI를 띄우는 컨테이너를 만들었다. 먼저 app이라는 디렉토리를 생성한다. mkdir app 그리고 해당 디렉토리 아래에 다음과같은 파일들을 옮겨놓는다. 먼저, 앞 포스팅에서 작업했던 chatgpt.py파일을 옮겨놓는다. 그다음 fastapi에서 사용하기 위한 main.py를 아래와같이 작성한다. from fastapi import FastAPI, Request from chatgpt import ChatGPT from slack_sdk impor..
[Slack] ChatGPT Slack 챗봇 만들기 (1편) 해당 포스팅은 제가 작업한 내용을 기록하기 위한 목적입니다. 설명이 많이 부족할수있는점 참고 부탁드리겠습니다. 주말에 개발을 한번 해보고자 요즘 핫한 ChatGPT를 활용하여 Slack 챗봇을 만들어보기로했다. 일단 해당 챗봇을 만들기 위한 요소들을 나열해보자면 Python slack_sdk FastAPI AWS EC2 (또는 개인 컴퓨터) Docker 등이 될것같다. 먼저 ChatGPT를 사용하기 위해서 OpenAI에 회원가입을 진행한다. https://openai.com/api/ OpenAI API OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence ben..
[Python] whl파일 생성시 setup.py install_requires 특정 파일로 install되게끔 설정하는 방법 업무중에 패키징화(whl파일생성)를 하는 작업이있는데, install_requires부분에 특정파일을 이용하여 설치가 필요한 패키지가있었다. 사실 패키징화만 아니라면 간단하게 아래 명령어로 설치할수있다. pip install {PACKAGE_NAME} -f {PACKAGE_URL or PACKAGE_FILE_LOCATION} 하지만 setup.py의 install_requires에는 위와같은 -f 옵션을 별도로 넣어줄수가없는 상태여서 설치가 어렵다. 여러 사이트를 조사해본결과 아래와같이 해결할수있다. install_requires=[ "{PACKAGE_NAME}@{PACKAGE_URL}" ], 패키지 이름과 패키지 위치 또는 URL정보 사이에 골뱅이(@)를 넣어주면 해결된다! 아래는 torchvision..
[Shell Script] 인자값 이쁘게(?) 받기 Shell Script관련 작업이 생겨서, 작업을하다 문득 인자값을 넣어주는부분이 생각보다 어려워서 기억하고자 해당 글을 작성합니다. 제일 먼저 사용방법에 대한 출력이 필요할때는 아래와같이 shell script함수를 선언하는게 좋을것같다. usage(){ cat