본문 바로가기

전체 글12

[Python] 사과게임 이미지에서 숫자 추출하기 사과게임을 하다가 모든 사과를 다 제거할 수 있는 맵이 존재하는지 궁금해서 파이썬으로 해당 맵을 체크할 수 있는지 확인하는 프로그램을 작성하려고 한다. 개발환경 Colab 구글 드라이브 연동 from google.colab import drive drive.mount('/content/drive') 개발환경은 간단하게 Colab을 이용했으며, 환경 구성을 위해 구글 드라이브를 연동하고 OpenCV와 Tesseract 등을 추가적으로 설치했다. OpenCV 및 Tesseract 설치 !pip install opencv-python !sudo apt install tesseract-ocr !pip install pytesseract OpenCV는 실시간 컴퓨터 비전을 목적으로 하는 오픈소스 라이브러리이다. .. 2024. 3. 7.
[Linux] Flex와 Bison 이 글은 flex & bison 책의 예제코드를 실행하는데 도움이 되기 위해 작성했습니다. Flex와 Bison의 문법에 대한 설명이 없으므로 예제코드를 이해하기 위해서 원문을 먼저 읽어보는 것을 권장드립니다. 이 글의 예제코드는 다음 출처에서 가져왔습니다. Chapter 1. Introducing Flex and Bison Flex Flex는 토큰을 저장해서 알맞는 enum 타입으로 변환하는 어휘 분석(Lexer)을 위한 도구입니다. Bison을 사용하면 헤더파일에 %token으로 등록한 토큰들이 enum으로 자동 생성됩니다. %{ #include "fb1-5.tab.h" %} %% "+" { return ADD; } "-" { return SUB; } "*" { return MUL; } "/" { r.. 2024. 2. 28.
[Linux] 쉘 변수와 환경변수 이 글은 shell에서 환경 변수를 참조하는 방법과 env에서 쉘 변수를 어떻게 지정하는지에 대해 다루고 있습니다. env 명령어 minishell 과제에서 built-in 명령어들은 모두 환경변수와 관련된 명령어 입니다. env 명령어는 옵션을 제외하고 다음과 같이 3가지 방식으로 사용할 수 있습니다. 1. 환경변수 목록 출력 # 입력 env # 출력 TERM_SESSION_ID=w0t0p0:4A2AC993-C7C8-4745-9387-F181921C1CC8 SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.bGePyIUzEC/Listeners LC_TERMINAL_VERSION=3.4.23 # ... 2. 하나 이상의 쉘 변수를 포함한 환경변수 목록을 출력 # 입력 env.. 2024. 2. 27.
[42blind] Service 계층 통합 테스트 이 글은 NestJS를 사용하면서 Service 계층 통합 테스트에 대한 고민을 다룬 글입니다. 아직 이해가 부족한 부분이 많기 때문에 더 좋은 방향을 알려주시면 큰 도움이 될 것 같습니다. 한 줄 요약 SQLite In-memory DB를 활용한 통합 테스트를 진행하기로 결정했습니다. Github Action을 활용한 e2e 테스트에서 실제 배포 환경과 동일하게 구성하여 진행하고, 필요시 Testcontainers를 도입하거나 단위테스트로 분리하는 리펙토링을 진행하기로 결정했습니다. Service 계층 테스트 문제점 처음 테스트를 작성할 때, 모든 의존성을 Mock/Stub를 사용해서 단위 테스트를 작성하는 방식으로 접근했습니다. 하지만 현재 비즈니스 로직은 단위 테스트를 진행할 만큼 복잡하지 않았고,.. 2024. 2. 25.