반응형 분류 전체보기1009 Github - 파일 히스토리까지 완전 삭제 하기(reset, revert) Github을 사용하다보면 부주의하게 중요한 파일(토큰 정보, 인증 정보)을 실수로 올리는 상황이 발생한다. 이때 서버의 히스토리까지 완전히 삭제해야 하기 때문에 일반적인 삭제 방법으로는 어려울 수 있다. 그래서 여기에서는 파일을 삭제하는 방법에 대해서 얘기해 보도록 하겠다. 상황은 보통 commit만 하고 아직 merge를 하지 않은 상황이나 이미 머지를 완료하였다 하더라도 동일하게 적용이 가능하다. 그럼 먼저 reset, revert 방법이다. 1. 리셋, 되돌리기(reset, revert) reset은 가장 쉬운 방법으로, 원격 레포스토리지에 적용한 commit을 초기화 하는 것이 가능하다. 아래 명령을 이용하면, 현재 가장 마지막에 커밋된 내용을 되돌려 준다. git reset HEAD^ 아래와 .. 2024. 2. 29. Docker - M1 no matching manifest for linux/arm64/v8 in the manifest list entries 에러 no matching manifest for linux/arm64/v8 in the manifest list entries 이 에러는 현재 Docker를 이미지 빌드 혹은 가져오때 플랫폼에 맞는 타입이 없어서 나타난다. 필자는 M1에서 실행하였는데, 실제 M1은 Linux는 아니기 때문에 발생한다. 보통 M1과 같은 일반적이지 않은 클라이언트를 사용시 발생한다. 현재 클라이언트의 종류를 확인하고자 한다면, docker version 명령으로 알 수 있다. 이를 해결하기 위해서는 --platform 옵션을 사용해서 호환이 가능한 플랫폼으로 직접 지정하여 적용하여야 한다. M1의 경우 Linux와 호환이 가능하기 때문에 linux/amd64 혹은 linux로 지정하면 사용이 가능하다. 이는 Docker 이미.. 2024. 2. 29. Logrotate 한시간 단위로 로그 생성하는 방법 Logrotate를 사용하여 한 시간 단위로 로그를 생성하려면 다음과 같은 방법을 사용할 수 있다. /etc/logrotate.conf 파일을 편집한다. 다음과 같은 설정을 추가한다. /var/log/my_log { rotate 1 daily hourly } 위 설정은 /var/log/my_log라는 로그 파일을 매일 한 시간 단위로 생성한다. 또는 다음과 같은 설정을 사용할 수도 있다. /var/log/my_log { rotate 1 daily compress dateext } 위 설정은 /var/log/my_log라는 로그 파일을 매일 한 시간 단위로 생성하고, 압축하며, 파일 이름에 날짜를 추가한다. 잘 동작하는지 Debugging mode를 통해서 확인할 수 있다. sudo logrotate -d.. 2024. 2. 29. 원신 - 리세마라 최단 루트 오랫만에 리세마라를 원신에서 시도하는데 최단 루트와 최대 뽑기에 대해서 정리해 본다. 요약하자면 초보자의 기원으로 10회 일반 뽑기 4회 스타더스트와 원석 교환으로 3회 이렇게 뽑고 나면 다시 스타더스트가 75가 되어 1회 더 교환 하여 마지막 한번이 가능하다. 편하게 리세를 진행하기 위해서는 메일 주소가 필요하다. 아래 글에서 얘기한 https://www.emailondeck.com/ 에 접근하여 임시 메일 주소를 생성한다. 실명인증도 어쩔 수 없이 계속 진행해야 하기 때문에 정보를 저장해 두도록 하자. 플레이 방법은 다음과 같다. 먼저 아래 리딤 코드를 플레이 시작이나 마지막에 입력한다. 원신 리딤 코드 원석 50, 영웅의 경험 3 Genshingift 이후 메인 퀘스트만 진행하면 아래 기시단에서 모.. 2024. 2. 29. Sqlachemy - 특정 날짜 하루의 데이터를 가져오기 다음은 SQLAlchemy를 사용하여 특정 날짜 하루의 데이터를 가져오는 코드이다. from sqlalchemy import create_engine from sqlalchemy.orm import Session # 데이터베이스 연결 설정 engine = create_engine("postgresql://user:password@localhost/database") # 세션 생성 session = Session(engine) # 특정 날짜 date = "2024-01-07" # 쿼리 query = session.query(Table).filter(Table.created_at >= date).filter(Table.created_at < date + timedelta(days=1)) # 결과 조회 res.. 2024. 2. 29. Python - Missing optional dependency 'openpyxl' 해결 Missing optional dependency 'openpyxl' Pandas의 엑셀 읽기의 호환성을 위해서 보통 openpyxl 을 사용한다. openpyxl을 별도로 제공되는 Python용의 엑셀 라이브러리로써, 현재 3.1.2버전까지 나왔으며, Pandas에서 제공하는 기본 엑셀 라이브러리보다 좋은 호환성을 제공하여 많이 이용한다. 위 에러는 Pandas에서 openpyxl를 사용하는데, 해당 라이브러가 없을 때 발생한다. pd.read_excel(file_path, engine='openpyxl') 즉 openpyxl를 이용하고자 한다면, pip를 이용해서 설치하도록 하자. pip install openpyxl 2024. 2. 29. Python - URL, WebContent Encode / Decode 하기 HTTP 호출을 진행하면, URL을 인코딩하거나 디코딩하는 일을 자주 경험하게 된다. 이때 주의할 점음 문자열을 encode/decode 를 Byte 레벨로하는 것이 아닌 문자열 수준으로 진행해주어야 한다. 즉 전체 문자열이 아닌 일부 UTF-8 로 작성된 문자열만 변환해주면 된다. 이를 효과적으로 해주는 라이브러리가 urllib 의 parse의 quote와 unquote 를 통해 진행할 수 있다. urllib.parse — URL을 구성 요소로 구문 분석 — Python 3.12.2 문서 urllib.parse — Parse URLs into components Source code: Lib/urllib/parse.py This module defines a standard interface to br.. 2024. 2. 29. Python - Header Content-Disposition의 UTF-8에서 Filename 가져오기 웹을 이용해서 파일을 다운로드하였을때, 파일이름에 대한 정보가 필요한 경우가 있다. 이때 유용하게 사용할 수 있는 헤더 정보가 있는데, 바로 Content-Disposition 이다. Content-Disposition 에는 보통 파일 이름 정보를 함께 보내주는 경우가 있다. 하지만 한글인 경우 UTF-8로 디코딩을 해야 정상적으로 확인이 가능하다. 여러가지로 코드를 테스트해본 결과 unquote를 활용하여 디코딩이 가능하다는 것을 알게 되었는데, 아래 코드를 이용해서 파일 이름정보를 가져올 수 있다. from urllib import parse def get_filename(source_header): fname = re.findall("filename\*=([^;]+)", source_header, .. 2024. 2. 29. Python - Error cv2 (-215:Assertion failed) !ssize.empty() in function 'resize' 이오류를 해결하기까지 시간이 조금 소요되었는데, 가장 시도해볼 수 있는 방법은 바로 사이즈이다. 필자가 확인한 내용으로는 사이즈가 정상 범주에서 너무 크기 때문에 발생하게 된다. 쉽게 확인하는 방법은 cv2.imread(imagepath) 를 이용해서 읽어보는 것이다. 그럼 오유 원인이 사이즈인데, 결과는 ssize.empty로 떨어지는 경우가 많다. 물론 이를 위해서 파일 경로 문제라던가, 다양한 문제가 있지만, 필자는 다음과 같은 코드를 이용해서 사이즈를 조정하면 해소가 가능하다. from PIL import Image image = Image.open(image_path) re_height = round(image.height / 2) re_width = round(image.width / 2) i.. 2024. 2. 29. 이전 1 ··· 40 41 42 43 44 45 46 ··· 113 다음 반응형