본문 바로가기
반응형

전체 글1048

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.
EasyOCR - "module 'cv2' has no attribute 'imread'" 버전이슈인 경우가 있다. 현재 가장 정상적으로 동작하는 건 4.5 버전으로 확인된다. pip uninstall opencv-python pip install opencv-python==4.5.4.60 2024. 2. 29.
GBA/GBC - 포켓몬스터 한글롬 모음 (1세대 2세대 3세대) 게임보이 어드밴스와 컬러로 출시하면서 엄청난 인기를 끌었던 포켓몬스터 3세대 버전까지 정리해보았다. 게임보이 언드밴스는 패밀리 시리즈 보다 성능이 우수하여 보다 높은 퀄리티의 게임이 가능하여 많은 사용자들이 사랑하였고, 지금 해봐도 괜찮은 게임들이 많으므로, 레트로 게임 유저라면 한번쯤은 해볼 만한 게임기라고 할 수 있다. 1. 게임보이 어드밴스, 컬러 에뮬레이터 Windows - Visualboy Advance M v2.1.4.x64 마우스 끌어다 놓기(Drag And Drop)으로 실행이 가능하다. 기본키(키보드 기준) A: L, B: K, L:I, R:O Start: Enter, Select: Back Visualboy Advance M v2.1 비밀번호:1234 한글 패치 사이트 기본적으로 영문 .. 2024. 2. 28.
닌텐도 스위치 Emul - yuzu 고급 설정 with 제노블레이드3 Yuzu 에뮬레이터가 최근에 상당히 괜찮은 수준으로 올라온 것 같다. 오늘은 yuzu 고급 설정에 대해서 알아보고자 한다. 그리고 고급 설정을 통해 제노 블레이드 3 를 보다 원활히 플레이 할 수록 구성해 보겠다. 개별 Properties 구성 Yuzu는 옵션 설정을 게임별로 옵션을 구성할 수 있는 옵션이 존재하는데, 게임 타이틀에서 마우스 우클릭을 하여 Properties를 구성할 수 있다. 여기에서 중요한 옵션은 2가지로 RAM 설정과, Graphic 관련 옵션이다. Extended memory layout: 6GB 메모리를 많이 사용하는 게임에 필요한 옵션으로 사용 메로리를 6GB까지 확장해 준다. General 옵션에서 Extended memory layout을 6GB로 올리도록 하자. 제노블레이.. 2024. 2. 28.
고전 슈퍼패미콤(SFC) - 택틱스 오우거 (한글 패치) 택틱스 오우거(한글 패치) 장르: 시뮬레이션 RPG (SRPG) 제작사 퀘스트 발매일: 1995년 발매 구동 에뮬레이터: Snes9X 최근 리메이크 되어 나왔는데, 그래픽이 너무 기존과 같아서 놀랬다... Tactics Ogre.smc 2024. 2. 28.
Docker - 사용하지 않는 이미지/컨테이너 삭제 Docker를 이용하다보면 순식간에 용량이 바닥을 치는 경우가 많다. 이때 과거 사용하던 이미지를 삭제해야 하는데, 이때 유용한 방법이다. 이미지 확인/삭제 사용하지 않는 이미지를 확인한다. docker images -f dangling=true 위 명령어를 실행하여 사용하지 않는 이미지를 확인한다. dangling=true 옵션은 사용하지 않는 이미지를 표시한다. 이미지를 삭제는 rmi로 아래와 같이 진행할 수 있다. docker rmi [이미지 ID] 이름:태그 기반 삭제 특정 태그 기반으로 삭제를 진행할 수 있는데, ubuntu:latest 이미지를 삭제하려면 다음과 같이 실행할 수 있다. docker rmi -f ubuntu:latest 단, 이미지를 강제로 삭제하면 이미지에 대한 참조가 모두 삭.. 2024. 2. 28.
Docker - 파일 읽기/쓰기 구조 이해 오늘 Docker 관련하여 중요한 여러가지를 다시 확인하는 시간을 같았다. 그중 Docker의 파일 저장 구조에 대해 보다 유심히 관심을 가지고 보게되었고 글중에 좋을 글이 있어 가져온다. https://www.freecodecamp.org/news/where-are-docker-images-stored-docker-container-paths-explained/#:~:text=The%20heaviest%20contents%20are%20usually,it%20that%20contains%20your%20changes. 자세한 내용은 위글에서 확인하고, 필자가 위 글을 토대로 정리하면, 얘기대로 현재 Docker의 파일은 OS 별로 아래에 위치한다. 그리고 주요 명령은 다음과 같다. inspect 명령을.. 2024. 2. 28.
반응형