본문 바로가기

728x90
반응형

전체 글

(340)
PyCharm에서 환경변수 설정하기 개요Pycharm에서 테스트 코드를 실행 시, 환경 변수들을 테스트 대상 주소로 변경을 해줘야한다. 주로 터미널에서 코드를 실행하기 때문에 Pycharm에서 테스트 코드를 실행하는 방법을 잊어먹곤 한다. 내용이 짧더라도 기록을 해두려고한다. Pycharm에서 환경변수 설정하기Pycharm에서 우측 상단에 하기 이미지에 표시된 버튼을 클릭하자. 좌측 하단의 "Edit Configuration Templates"를 눌러 Djagno tests 메뉴를 찾는다. 그리고 테스트 대상으로 사용하는 환경 변수들을 저장해두자.  위 환경은 PyCharm Professional에서 진행했다. 또한 .env 를 사용하나면 내용을 복사 붙여넣기해도 입력이 가능하다.
makefile에서 .env 사용 시 특수문자 처리하기 개요“.env”와 같은 파일에는 외부 접속 정보나 노출되지 않아야하는 변수들을 정의하곤 한다. 그러나 데이터베이스의 비밀번호를 다루는 경우 특수문자들이 들어가곤하는데 이 정보를 읽어들여 사용할 때 문제가 발생한다. 무엇이 문제인가 ?필자는 주로 파이썬과 관련된 백엔드 프레임워크를 다루면서 makefile을 애용하곤한다. makefile을 통해 프로젝트에서 자주 사용하는 명령어를 등록해서 활용하는 방식이다. 그렇다보니 미리 정의된 환경변수 파일(”.env”)를 읽어들이는 과정이 필요하다. 물론 makefile 안에 직접 환경변수를 미리 선언하는 방식으로도 활용할 수 있지만 번거로운 방식이다. makefile에서 “.env” 파일을 사용하는 코드는 다음과 같다.# makefileinclude .envexpo..
토스 채용공고는 어떻게 크롤링 할 수 있을까? 개요최근 사이드프로젝트를 통해 토스 채용공고에 대한 크롤러를 개발했다. 그간 여러 사이트를 분석하고 크롤러를 만들었던 경험을 가졌기에 이번에도 어렵지 않게 크롤러 개발이 가능했지만 토스 채용공고 크롤러 개발은 생각보다 까다로웠기에 해당 경험을 정리해보고자 한다. 이 글에서는 실제 토스의 채용공고 크롤링에 관련된 코드는 다루지 않을 생각이다. 쓸데없는 걱정이겠지만 이 글을 통해 드러난 방법으로 토스 측의 시스템이 변경하게 되는 것을 염려해서다. 토스 채용공고에 대한 분석토스의 채용공고 페이지에 접속하면 “계열사”가 아닌 “직군”을 중심으로 구성한 채용공고 페이지가 눈에 띈다.큰 회사답게 여러 직군들에 대한 채용공고가 눈에 들어온다. 하지만 토스 채용공고 크롤러는 “직군” 중심이 아니라 토스의 “계열사”별로..
[25년 1월] 초심찾기 개요지나지 않을 거 같던 24년도 지났고 오지 않을 거 같던 25년도 와버려 이제 1월의 마지막이 되었다. 25년 계속 일상을 남기려 회고를 쓰려고 한다. 신년 해돋이해돋이 장소는 여의도 한강 공원이다. 명소를 찾아 움직이는 것보다 집에서 가까운 곳에 가는 것으로 고른 장소다. 막상 기대한 바와는 다르게 구름에 가려 떠오르는 해를 볼 수 없었다는 게 아쉽다. 일출 시간이 되기 전 해가 뜨는 방향으로 서있으면서 지나버린 24년과 앞으로의 25년을 생각하게 되었다. 주마등처럼 지나는 24년은 즐거운 한 해는 아니었기에 그런 일들이 있었지라는 정도로 상기하면서 씁쓸함을 삼키고 다가오는 25년은 어떻게 보내야 할지 막막하지만 기대감을 가지면서 앞만 보고 전진하자라는 다짐을 하게 된다. 무엇보다 25년의 시작점에..
Python에서 테스트명을 한글로 표시하는 방법 개요Python을 사용할 때 테스트 코드를 작성한다면 주로 unittest 나 pytest를 이용했다. unittest는 코딩테스트나 간단한 코드를 쓰는 상황에서 테스트 케이스를 작성할 때였고 pytest는 백엔드 프레임워크(Django, Flask, FastAPI)를 다룰 때였는데 어떤 걸 사용하더라도 불편한 공통점이 하나 존재했다. 테스트 케이스명을 한글로 표시하지 못한다는 점이었다. 이러한 점 때문에 매번 테스트 케이스를 작성할 때에는 부족한 영어를 총동원하여 작성했고 테스트가 수행되는 로그를 보면서 머릿속에서 "영어→한글"로의 번역을 해야 되는 부담이 가증됐다. 매번 테스트 케이스를 작성할 때 이 문제를 해결할 방법이 없는지 이따금씩 조사해보곤 했는데 마침내 이 문제에 대한 해답을 찾게 되어 정리..
[Review] 한빛미디어, 나는리뷰어다2024 - 무엇이 1등 팀을 만드는가? "한빛미디어  활동을 위해서 책을 제공받아 작성된 서평입니다.https://www.hanbit.co.kr/store/books/look.php?p_code=B8254214315 무엇이 1등 팀을 만드는가?앞서가는 팀의 리더는 그냥 만들어지는 것이 아니다. 리더십의 진정한 본질을 깨닫고 팀을 성공으로 이끄는 구글의 팀 리딩 비법!www.hanbit.co.kr 서평나는 현재 연차나 실력 면에서 팀 리더의 자리에 서기에는 부족하다고 느낀다. 그럼에도 불구하고, 종종 '팀 매니징'과 관련된 책을 찾아보는 이유는 리더가 어떤 관점으로 팀을 바라봐야 하는지에 대해 깊은 관심이 있기 때문이다. 여러 회사를 거치며 다양한 리더들을 접해왔다. 어떤 리더는 직원을 하나의 '사람'으로 대하며, 그들의 환경과 상황을 고려해 ..
Python의 Generic을 활용한 Repository Pattern 만들기 (feat, PEP 560) 개요 Repository Pattern은 데이터 저장소에 존재하는 데이터들을 마치 Application 메모리상에 존재하는 것처럼 가정하고 데이터 접근과 관련된 구현 사항을 추상화하는 패턴이다. Spring Boot에는 JPARepository라는 것이 있는데 이 추상화된 Repository를 사용하면 특정 Entity에 대해 어떤 방식으로 데이터를 질의할지 이미 구현된 메서드가 제공된다는 것을 체감했을 것이다. 이미 구현되어 있기에 간단한 기능은 다시 구현할 필요가 없으며 더 복잡한 조건이 필요하다면 네이밍 룰에 따라 메서드를 정의해서 사용하면 된다는 것이 특징이다. 프로젝트를 경험할 때마다 Python에는 JPARepository와 같은 역할을 대체하는 라이브러리가 없었기에 Python에서 Repos..
[Review] 한빛미디어, 나는리뷰어다2024 - 시작! AWS "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다"  11월에 신청한 책은 “소프트웨어 엔지니어 가이드북”, “시작 AWS!” 이렇게 두 권이었다. 읽고 싶었던 책은 “소프트웨어 엔지니어 가이드북”이라는 쪽이었는데 이번에 받은 “시작 AWS!” 책을 읽어나가다 보니 오히려 필요한 쪽은 이 쪽이지 않았을까 싶다. AWS는 21년도에 처음 접하게 되었다. 그 당시 개발 프로젝트에서는 Django를 EC2에 올려서 직접 ssh로 접속해 git pull을 당겨 서비스 데몬을 재시작함으로써 배포하는 방식이었는데 이 과정에서 EC2를 시작으로 AWS에 스며들었던 듯하다. 아직도 이러한 부분은 남아있지만 그때 당시에는 AWS는 사용하면 할수록 참 어렵다는 인상이 깊은 클라우드 서비스였던 생각이 짙었다. 클..

728x90
반응형