IT 274

[github] 로컬 저장소를 새 github 저장소로 쉽게 만들기

일단 github 에서 새로운 저장소를 만듭니다. 만들어진 저장소의 필요한 주소(https 또는 git@..git)를 복사해서 로컬 저장소에서 다음 명령을 내립니다. git remote set-url origin git@github.com:저장소주소.git git push 참 쉽죠? 더보기 다만, 요즘의 github 기본 저장소는 main 이고 기존의 많은 git 저장소는 기본 저장소가 master 인 점이 다를 수 있습니다. github 해당 프로젝트 페이지에 보면 Settings 가 있습니다. General 항목에 Default branch 가 있고 이게 main 으로 되어 있는데 연필 모양 아이콘을 눌러서 직접 수정하거나 좌우 화살표 아이콘을 눌러 새로 push 한 master 를 선택해서 간편히 ..

IT/VCS 2023.06.21

[python] 문자열 뒤집기

기록용으로 남깁니다. 쉬운 내용인데 가끔 가물가물해서 정리합니다. 문자열이 s = "God is my judge" 일 때 s[::-1] 로 뒤집힌 값을 얻을 수 있습니다. 참고로 이 슬라이스 인덱싱은 [시작위치:끝위치:step/stride/보폭] 으로 지정할 수 있습니다. 끝위치 전까지로 끝위치 문자는 포함되지 않습니다. s 는 s[0::1] 과 같습니다. 다른 방법(for 를 사용한 c 방법, 리스트로 변환하는 방법)들이 있지만 이 방법만 기억하셔도 좋을 것 같습니다. 깔끔하니까요!!

IT/python 2023.06.19

[sed] 원하는 문구를 찾아 앞이나 뒤에 문장 추가하기

기록용으로 남깁니다. 원하는 문구 앞(위)에 줄을 추가할 때는 /i 를 사용하고 뒤(아래)에 추가할 때는 /a 를 사용합니다. sed -i'' -re "/찾을문자열/i\앞에추가할문자열/" filename.txt sed -i'' -re "/찾을문자열/a\뒤에추가할문자열/" filename2.txt ※ 기본적으로 sed 명령은 '/찾을패턴/명령' 형태로 되어 있습니다. 이 명령에는 출력(p), 삭제(d), 범위(,), 파일읽기(r), 파일쓰기(w), 줄 위 삽입(i), 줄 아래 삽입(a), 변경(c), 다음(n) 등이 있습니다. 명령이 앞에 오는 명령은 '명령/대상패턴/변경할패턴/' 형태로 되어 있습니다. 이 명령에는 치환(s), 변환(y) 등이 있습니다. 파라미터에는 -i -f -e -r -l 등이 있습니..

IT/언어 2023.06.05

[python][colab] 구글 드라이브 로그인하고 파일 접근하기

기록용으로 남깁니다. 구글 코랩에서 ipynb 파일 같은 것을 열었을 때 구글 드라이브에 있는 데이터 파일에 접근할 수 있습니다. from google.colab import drive import pandas as pd drive.mount("/content/drive") df = pd.read_csv("/content/drive/MyDrive/abcd.csv") 먼저 google.colab 의 drive 를 import 합니다. 코랩 안에서는 당연히 별도의 설치 없이 사용할 수 있습니다. 그 외의 환경에서는 멍개님의 글 과 같이 복잡한 방법이 필요합니다. drive.mount("/content/drive") 명령으로 마운트 명령을 내리면 구글 계정 연동 페이지 뜨면서 권한 묻고 할 겁니다. 내가 쓰려..

IT/python 2023.05.31

[python3] 파이썬 프로세스 중복 실행 여부 확인

def check_duplicate_execution(exact_python_file_name, pid): for p in psutil.process_iter(): cmd = p.cmdline() if cmd and exact_python_file_name in cmd and p.pid != pid: return True return False 파라미터는 비교할 파이썬 파일 이름인데 여기에서는 이것을 실행한 내 프로세스의 파일 이름을 전달합니다. psutil.process_iter() 로 psutil.Process객체를 하나씩 가져와서 cmdline() 으로 얻어온 명령 줄에 해당 이름이 존재하는지 확인가능합니다. cmdline() 은 리스트로 되어 있습니다. 보통은 파이썬 스크립트 이름은 cmdline..

IT/python 2023.05.24

[ubuntu 20.04] apt NO_PUBKEY grafana / scootersoftware

오랜만에 들어간 Ubuntu 20.04 서버에서 sudp apt update 명령을 내렸더니 패키지 172이(가) 업그레이드되었습니다. 'apt list --upgradable'를 실행하여 확인해 보십시오. W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.grafana.com/oss/deb stable InRelease: 다음 서명들은 공개키가 없기 때문에 인증할 수 없습니다: NO_PUBKEY 9E439B102CF3C0C6 W: An error occurred during ..

IT/System Digging 2023.04.27

[python3] 동일 값으로만 채워진 객체 확인하기

동일한 값으로만 iterable 한 객체가 가득 채워진 경우를 확인할 필요가 있습니다. 예를 들면 C 언어로 초기화된 리눅스 공유메모리는 C 의 null 값인 0x00 으로 초기화 됩니다. 제가 사용하고 있는 프로그램은 4096 Byte의 공유메모리를 초기화 해서 사용하고 있었습니다. 공유 메모리 내용 검증을 하기 위해 특정 상황에 메모리 내용을 찍도록 해놓았는데, 초기화이 쓸데없이 0x00 이 4096개나 스크롤되는게 좀 짜증이 났습니다. 방법을 찾던 중 all 이라는 파이썬 내장(built-in)함수를 알게 되었습니다. all(iterable) 과 같이 호출하고 iterable 값 중에 하나라도 비어 있는 값이 있으면 False 를 반환하고 모두 비어있지 않으면 True 를 반환합니다. 비슷한 함수로..

IT/python 2023.02.17