본문 바로가기

python6

pypi / pip / 파이썬 패키지 해킹 악성코드 pypi(pip), npm 과 같은 방대한 오픈소스 패키지 저장소의 안전성에 대해서 생각은 해봤지만 깊게 고민해보지는 않고 살던 찰나 유튜브 알고리즘에 관련 영상을 보고 머리속으로만 생각하던 일들을 실천해야겠다고 생각들었다.. > 본 포스팅은 python 생태계에 대해서만 자세하게 다룹니다. (npm은 몰라여~) 유튭 출처: https://www.youtube.com/watch?v=DjfpcmK62ew 요약 해당 영상은 pypi(pip), npm 과 같은 방대한 오픈소스 패키지 생태계에서 악의적인 코드 혹은 의존성으로 생기는 문제들을 이야기하고 있다. ## Left-pad - 11줄의 코드로 구성된, 텍스트 문자의 왼쪽에 패딩을 넣어주는 패키지 - 수 많은 패키지들이 left-pad를 사용하고 있었고, .. 2023. 5. 1.
Pycharm virtual env 가상환경 생성 및 연동 보통 Pycharm 프로젝트 생성하면서 가상환경 만들고 그 다음 작업물 만들거나 올리고 하는 경우가 많다보니 딱히 신경 안썼는데, 반대로 git clone등올 먼저 작업물 가져오고 pycharm 프로젝트 연동할때마다 까먹어서.. 블로그에 끄적끄적.. Preferences 창켜고 mac기준 command + , 윈도우는 몰라요 ㅠㅠ 검색란에 interpreter 적어주시고 예 추가해주시면 됩니다~ virtualenv나 python3 -m venv 등 터미널에서 그냥 직접 커맨드 떄려서 만든 가상화환경이 이미 있거나 그냥 다른프로젝트 가상화 환경 이어다가 그냥 쓸런다 싶으면 + 누르지 마시고 show all해서 나온 목록중에 하나 선택해서 프로젝트 연동해서 사용하시면 됩니다. 20000 2021. 12. 10.
Nodejs python-shell binary 연동, 바이트 파일 주고받기, Base64, example opencv image 변경 다른 포스팅에서는 opencv형태로 image를 전송하기위해 json을 이용하여 bytes 배열을 보내는 방법을 사용하였다. 표준입출력의 특성상 어쨌든 보내면 문자열로 변하는 문제가 있어 결국 파싱의 문제가 생겨 우회했던 방법인데, ( 바이트 코드 xFFx16을 전송할때 "xFFx16"의 문자열로 보내기 때문에 이를 다시 그대로 byte로 디코딩하면 "xFFx16"문자열의 바이트코드 즉 아스키코드 값이 나오는 문제점!! ) 바이너리를 직접 문자열으로 인코딩 디코딩 하는 좋은 방법인 base64를 소개합니다. Base64는 바이트코드를 64진법 ascii 코드로 인코딩하고, 다시 bytes 정보로 디코딩 하는 기법중 하나입니다. 즉, Database나 표준입출력과 같이 문자열으로서 통신할때 바이너리를 손쉽.. 2020. 1. 17.
Nodejs python-shell image 이미지 파일 Json으로 주고 받기 Nodejs에서는 python과의 연동을 하기 위해서 python-shell이라는 모듈을 사용 할 수 있습니다. nodejs를 통해 받은 이미지를 python에서 가공하여 다시 반환하는 코드를 작성하겠습니다. 처음 pyshell 모듈을 사용한 연동을 구상할 때 binary mode로 bytes 정보를 넘겨서 처리하는 것을 가장 먼저 떠올리고 여러번 시도하며, api문서도 다시보고, 여기저기 글들을 찾아보았지만.. 다음과 같은 이유들로 실패하였다. 요약: JSON을 사용해서 node python 통신을 하자! * 기본적으로 python-shell 모듈은 python을 직접구동하여, 표준입출력(stdIO)와 argv를 통해 정보를 주고받는다. * binary모드로 보내면 물론 이진코드로 번역해서 전송하는듯 .. 2020. 1. 16.