전체 글

전체 글

    팀장 회고 #2 feat. "개발자를 위한 커리어 관리 핸드북" 인터뷰 글을 기고했다고?<img src=">

    팀장 회고 #2 feat. "개발자를 위한 커리어 관리 핸드북" 인터뷰 글을 기고했다고?

    안녕하세요. 벌써 5월이 되었습니다. 푸르른 나무가 어울리는 계절이 되었다니... ㅜㅠ 트위니에서 팀장직을 맡게 된 지 어느덧 3년을 바라보게 되었습니다. 백엔드팀 팀장 1년 회고를 작성한 지 1년이 훌쩍 지나버렸고요 ㅋㅋㅋ;; 회고가 1년 넘게 미뤄지고 있어서 결혼식 끝나면 한번 정리해야지 하고 있었는데... 놀랍게도 한빛미디어에서 서면 인터뷰 요청을 주셨습니다! 처음에 인터뷰 요청을 봤을 때는 정말 깜짝 놀라서 와이프에게도 보여주고 친구들에게도 보여주며 "이거 진짜야?" 했습니다ㅋㅋㅋ 반신반의하며 이메일로 연락을 드렸던 것이 1월 초인데 이제는 책이 출간되었습니다! 인터뷰 글을 작성한 기념으로 담당자 님이 책을 보내주셨는데 오늘 받게 되었습니다.https://www.hanbit.co.kr/store/..

    WSL에서 GUI 프로그램 실행하는 방법 - WSL에서 Playwright Headed 모드를 너무 사용하고 싶었습니다 ㅠㅜ<img src=">

    WSL에서 GUI 프로그램 실행하는 방법 - WSL에서 Playwright Headed 모드를 너무 사용하고 싶었습니다 ㅠㅜ

    안녕하세요. 요즘 테스트 자동화 툴 도입을 진행하면서 Playwright 를 쓰고 있습니다. 회사에서는 ubuntu를 사용하면서 별 문제 없었지만집에 와서 WSL에서 Playwright를 사용하니 Headed 모드(브라우저가 실행되는) 실행되지 않더라고요 ㅜㅠ 구글을 뒤져보니 영어로 정리된 자료는 있는데 한국어로 정리된 자료가 없어서 이참에 정리해봤습니다.0. Headed 모드, Headless 모드가 뭐에요?Headed 모드는 브라우저의 UI가 실행되는 모드이고, Headless 모드는 UI가 실행되지 않는 모드입니다. 혹시 Headless 모드를 사용하는 이유가 궁금하실까요?UI가 실행되지 않는 Headless 모드를 사용하는 이유는 바로 속도와 효율성 때문입니다. UI가 실행되지 않기 때문에 실행 ..

    AWS RDS 인스턴스 삭제는 못하고 비용은 아깝고 ㅜㅠ - aws cli와 crontab을 이용한 DB 인스턴스 일시 정지 자동화

    AWS RDS 인스턴스 삭제는 못하고 비용은 아깝고 ㅜㅠ - aws cli와 crontab을 이용한 DB 인스턴스 일시 정지 자동화

    안녕하세요. 선선한 날씨가 이어지고 있는데 저는 언제 여름이 갑작스럽게 찾아올지 두려움에 떨고 있습니다 ㅋㅋㅋ... 이번에는 crontab을 이용해서 AWS RDS DB 인스턴스를 자동으로 일시정지 시켜주는 스크립트를 만드려고 합니다. 1. RDS DB 인스턴스 일시 정지 자동화가 왜 필요해요?그런 게 왜 필요하냐고요? 필요한 상황이 오더라고요... ㅜ퇴사하신 분이 생성한 DB 인스턴스가 관리되지 않고 있다가 비용이 지불되는 것을 발견함. 하지만 지워도 되는지 모름 ㅜㅠ제품의 초기 버전과 연결된 DB 인스턴스. 사용량이 매우 적지만 한 번씩은 사용하는 경우.이렇게 AWS RDS DB 인스턴스를 지우지는 못하지만 비용은 아까울 때 사용할 수 있는 방법이 바로 RDS DB 인스턴스를 일시적으로 중단시키는 것..

    AWS IoT Core 프로비저닝 템플릿 - 프로비저닝 단계에서 정책 여러 개 연결하기

    AWS IoT Core 프로비저닝 템플릿 - 프로비저닝 단계에서 정책 여러 개 연결하기

    안녕하세요. 이번에는 AWS IoT Core 프로비저닝 템플릿을 사용하면서 헤맸던 내용을 기록하려고 합니다. 프로비저닝 템플릿은 AWS IoT Core에 디바이스를 등록하는 복잡한 과정을 간단하게 진행할 수 있도록 도와주는 기능입니다. 혹시 AWS IoT Core를 사용하면서 디바이스 프로비저닝 과정에서 정책 크기 제한으로 어려움을 겪고 있다면 도움이 될 거에요! TL-DR AWS IoT Core의 정책은 정책은 최대 2048자이니 주의! 프로비저닝 템플릿에 여러 개의 policy 타입 리소스를 생성하면 됩니다. 아래 예시처럼 Resource 하위 객체의 Type 값이 중요한 것이지 객체의 이름이 중요한 것이 아닙니다! { "Parameters": { ... }, "Resources": { "thing"..

    [Python] json 데이터에 한글이 포함되어 있을 때 dumps 호출하면 깨지는 현상

    [Python] json 데이터에 한글이 포함되어 있을 때 dumps 호출하면 깨지는 현상

    안녕하세요. 오늘은 Python을 이용해서 로그를 저장하다가 발견한 한글 깨짐 이슈를 기록해보려고 합니다. 정말 간단한 이슈였는데 힘들게 찾아서 참 씁쓸했습니다... ㅋㅋㅋ TL-DR json 데이터에 한글이 포함되어 있는 상태에서 dump 해야 한다면 ensure_ascii=False 인자를 추가하자! 예시) json.dumps(data, ensure_ascii=False) 1. 로그 저장 과정 로그가 저장되는 과정을 간단하게 설명하면 아래 그림과 같습니다. IoT Core로 들어온 데이터가 Kinesis Data Firehose를 통해서 Amazon Lambda로 전달됩니다. Lambda로 전달된 데이터는 약간의 가공을 거친 뒤 S3에 저장됩니다. 뒤에 Glue, Athena도 있지만 크게 중요하지 ..

    [Python] GIL로 인한 멀티쓰레드 성능 이슈 분석 - 멀티쓰레드가 멀티쓰레드가 아니에요 ㅜ

    [Python] GIL로 인한 멀티쓰레드 성능 이슈 분석 - 멀티쓰레드가 멀티쓰레드가 아니에요 ㅜ

    안녕하세요. 날씨가 따뜻해졌는데 다들 봄을 잘 즐기고 있으신가요? 저는 낮에 기온이 20도가 넘어가니 땀이 나더라고요 ㄷㄷㄷ 올 여름은 시원했으면 좋겠습니다 ㅜㅠ 이번에는 python의 Global Interpreter Lock(GIL)에 대해서 조금 공부해보려고 합니다. 갑자기 python GIL을 공부하는 이유가 무엇이냐고요? 최근에 AWS IoT Core 관련 작업을 진행하면서 프로그램이 멈추는 버그를 겪었는데 그 원인을 GIL로 추정하고 있기 때문입니다... GIL이 무엇인지, GIL로 인해서 겪을 수 있는 성능 이슈에 어떤 것이 있는지 알아보도록 하겠습니다. 1. GIL이 무엇인가요? GIL은 파이썬 인터프리터가 한 번에 하나의 스레드만 실행하도록 제한하는 메커니즘입니다. 파이썬의 핵심 구성 요..