분류 전체보기
-
농산물 공공데이터 수집 시 주의할 점공부/Tip 2025. 7. 5. 01:49
회사에서 농산물 공공데이터를 활용한 기능을 개발하게 되었습니다. 데이터 관련 전문 인력이 없는 상황에서 직접 데이터를 분석하고 검증하며 작업을 진행해야 했던 과정에서 겪었던 고충들을 공유하고자 합니다. 동일한 공공데이터 API를 사용하실 분들께 도움이 되었으면 합니다.총 2가지의 공공데이터를 수집하고 있습니다.1. 한국농수산식품유통공사_전국 공영도매시장 정산정보(링크)2. 한국농수산식품유통공사_전국 공영도매시장 실시간 경매정보(링크) 공공데이터를 활용하는 방법은 여러 블로그에도 나와있고, 실제로 공공데이터에도 잘 작성이 된 상황입니다.다만 공공데이터를 이용하는데 제한적인 부분들이 존재합니다. 기본 트래픽: 데이터 활용신청 시 1일 1만 번 호출 가능트래픽 증가: 필요시 증가 신청을 통해 1일 10만 번..
-
Meilisearch를 이용한 검색엔진공부/meilisearch 2025. 6. 9. 23:10
대표적인 검색엔진으로는 Elasticsearch(이하 ES)가 있습니다. ES는 로그 수집, 모니터링, 검색 서비스 등 다양한 분야에서 널리 활용되고 있으며, 그만큼 완성도 높은 오픈소스라고 할 수 있습니다. 그러나 초기 서비스 단계에서 과도한 리소스를 투입하는 것은 비용 측면에서 비효율적일 수 있습니다. ES는 기본적으로 많은 시스템 자원을 요구하며, 일반적으로 안정적인 운영을 위해서는 최소 t3.medium 이상의 인스턴스를 사용하는 것이 권장됩니다. MAU가 높거나 트래픽이 많은 서비스라면 ES를 사용하는 것이 안정성과 확장성 측면에서 효과적인 선택이 될 수 있습니다. 그러나 비교적 트래픽이 적거나 단일 서버 기반의 경량 서비스를 운영하는 경우에는, ES보다는 Meilisearch와 같은 경량 검..
-
ReferenceError: crypto is not defined공부/Nest 2025. 5. 24. 16:37
Scheduler가 필요하여 공식문서에 제공하는 라이브러리를 설치한 후 서버를 실행하니 처음 보는 에러를 겪었습니다.공식 문서에서 제공하는 라이브러리를 설치했는데 설치만으로 문제가 생긴다면 어떤 부분이 문제인지 원인 파악이 필요했습니다.원인 파악 후 해결방법을 작성한 글입니다.혹시 node version이 18 이하 분께서 해당 에러를 겪는다면 저와 동일하실 것이라고 생각합니다. 하지만 version이 20이상이시 라면 도움이 안 되실 수도 있다는 점 먼저 알려드립니다. Error MessageThis error originated either by throwing inside of an async function without a catch block, or by rejecting a promise w..
-
[PostgreSQL] PERCENTILE_CONT 함수를 이용한 중앙값 계산공부/Database 2025. 5. 6. 22:53
업무를 하다 보면 여러 가지 값이 필요로 하는 상황이 생기게 됩니다. 그중에서 통계적으로 중앙값을 필요로 하는 부분이 있습니다.중앙값을 구할 때 다양한 방법이 있을 수 있지만 PostgreSQL을 사용하고 있다면 Percentile_cont라는 함수를 이용하는 방법을 말씀드리도록 하겠습니다.중앙값의 정의를 어떻게 하느냐에 따라 다를 거 같습니다.ex. A라는 배열에 정렬된 숫자가 있다고 가정하도록 하겠습니다.1. A[0] + A [A.length-1] / 2 = (최소 + 최대/2)2. 정렬된 숫자의 길이/2 = (A의 중간값)조건들이 있을 수 있지만 Percentile_cont는 위 조건과는 다르게 계산됩니다. Percentile_cont정렬된 값들 사이를 선형 보간(linear interpolat..
-
AWS Systems Manager - Parameter Store (with NestJs)공부/AWS 2025. 4. 23. 23:16
개발을 하면서 환경변수 관리를 어떻게 해야 할지 고민이 많이 될 것이라고 생각합니다. 저도 EC2에서 서버를 실행할 때 env 파일을 어떤 식으로 관리해야 할지 고민하였습니다. 파일을 직접 생성하여 관리하는 쪽으로 선택하였습니다. 이전에는 잘못된 방식이지만 깃에 직접 올렸던 적도 있었습니다. 다른 방식보다 AWS에서 실행 중인 서비스가 있으시다면 AWS Systems Manager를 사용해 보는 것을 추천드립니다. 제가 생각하는 환경변수 관리는 직접관리, AWS Systems Manager(=ssm), Secret Manager 가 존재합니다. 1. 직접관리는 기존에 했던 방식이며, 유실의 위험이 존재하고 관리가 한 곳이 아닌 다른 곳에서 된다는 점이 불편하게 느껴졌습니다.2. Secret Manage..
-
회사에서 일하는 방식 4 - 워크쓰루, 플래닝, 데일리 스크럼공부/agile 2025. 4. 6. 17:06
이전에 작성했던 회사에서 일하는 방식 3 스프린트에 포함된 워크쓰루와 플래닝을 말씀드리도록 하겠습니다.워크쓰루( Walkthrough )소프트웨어 개발 과정에서 산출물의 품질을 높이기 위해 진행하는 검토(리뷰) 활동입니다. - gpt일반적으로 워크쓰루는 애자일 하게 일하는 팀에서는 사용하지 않는 방식입니다.하지만 현재 제가 속한 팀에서는 워크쓰루를 진행하여 기획자가 전달한 문서를 리뷰하는 형식으로 진행하고 있습니다. 워크쓰루를 진행하게 된 이유- 기획 문서에 존재하지 않던 코너케이스- 스프린트 진행 중 기획문서의 수정- 기획 문서 수정으로 담당자들의 소통 오류 위의 3가지 문제 이외에도 여러 가지가 있었지만, 대표적으로 3가지가 존재하였습니다.스프린트를 같이 하는 팀은 실제 팀은 다르지만 목적 조직으로 ..
-
ECR에 이미지 업로드공부/AWS 2025. 3. 29. 19:44
EC2에서 실행하던 서버를 ECS로 바꾸는 과정에서 ECR에 이미지 업로드 과정을 작성하려고 합니다. ECR은 Elastic Container Registry의 약자입니다. ECR은 도커 허브와 같은 역할이라고 생각하시면 좋을 거 같습니다.1. ECR 생성 권한이 있는지 확인합니다.- 권한이 없는 경우 권한을 부여해야 합니다.- AmazonEC2ContainerRegistryFullAccess 권한을 부여합니다.- IAM에서 사용하시는 사용자의 권한을 부여해야 합니다.2. Private ECR 생성- 프라이빗 리포지토리 탭에서 우측 상단에 리포지토리 생성 클릭- 리포지토리 이름을 작성합니다.- 이미지 태그 변경 가능성, 암호화는 초기 지정된 값으로 유지합니다.- 리포지토리를 생성하면 지정한 이름으로 리포..
-
회사에서 일하는 방식 3 - 스프린트공부/agile 2025. 3. 21. 00:30
업무의 방식에는 여러 방식이 있다고 생각합니다. 워터폴, 애자일, 스크럼 등 이 있을 것이라고 생각합니다. (스크럼은 이후에 블로그에 기재하도록 하겠습니다.) 현재 회사에서는 스프린트 방식으로 업무를 하고 있습니다.스프린트 란?아틀라시안에서 설명하는 스프린트간략하게 말하면 스프린트는 프로젝트의 단위라고 보는 게 좋을 거 같습니다. 여기서 단위란 특정 기능이나 요구사항을 실행하는 기간이라고 보는 게 좋을 거 같습니다. 현재 제가 재직하고 있는 회사에서는 워터폴 방식에서 스프린트 방식으로 변화를 가져왔고, 스프린트는 애자일 방식으로 기능구현하려고 노력하고 있습니다.이는 단순 기능을 여러 개 구현하는 게 아닌 유저의 경험을 기반으로 수정, 개선 및 고도화하는 작업을 진행하다고 보면 좋을 거 같습니다. 스프린트..