목록전체 글 (17)
그린 파인애플님의 블로그
개발한 풀스택 웹앱을 서비스 하려면 배포를 해야하는데배포와 서비스 운영을 위해서 여태까지 경험했던 springboot 내장 톰캣으로만 구동, Jeus, jenkins, k8s등 여러가지가 있었는데 그중 쿠버네티스 기반으로 운영되는 인프라에 jenkins + argoCD 를 이용하여 gitops를 구축한 경험을 풀어본다 내장 톰캣으로만 구동하자니 배포와 운영은 매우 단순하지만 배포하는 순간에 서비스를 이용할수 없다는 단점이 있고,jeus WAS 를 구매하자니 그리 큰 서비스도 아닌데 도입하자니 비용이 비싸고,docker compose 로 웹앱을 이중화하여 운영을 하는 방안도 있었으나 k8s에 비해 레퍼런스가 상대적으로 적었다평상시 쿠버네티스에 관심이 있어서 따로 공부도 해서 CKA자격증 취득도했고, 이럴때..
현 시스템 구축전 사전 인터뷰당시 얘기가 나왔던 경력사항 자동 입력에 대해서 시스템 구현을 한걸 풀어보려 한다 https://utlee0.tistory.com/8 [ERP 구축기 #02] "경력사항 입력만 하다 퇴근합니다" - 현업 인터뷰에서 시작된 업무 자동화ERP 시스템을 구축하면서 가장 중요하다고 느끼는 것은 업무에 대한 이해와 데이터다.최신 기술을 잘 활용하는 것도 중요하지만, 기술은 결국 실제 업무에서 발생하는 문제를 해결하기 위한 도utlee0.tistory.com PQ업무를 위해서는 사전심사 자료 작성을 위해 건설기술협회 홈페이지에서 공식적으로 신고가 된 이력을 기반으로 경력증명서를 발급받아서 기술인들의 경력증명 데이터 입력을 하고 있다 이렇게 입력해야할 사람들이 1~2명이 아니기도 하고 ..
이전에 개발시 Redis를 이용하여 공통코드, 세션관리, 정책등을 캐싱을 진행한 경험이 있는데 현재까지 잘 사용을 하고 있었다 📌 인터넷을 찾아보니 클라우드 사업자들이 redis 를 그대로 서비스하는것을 제한하려는 의도로 2024년 3월 Redis Inc.가 Redis 7.4부터 라이선스를 RSALv2 + SSPLv1 로 변경되었다고 한다 이후 Redis는 Redis 8부터 OSI 승인 오픈소스 라이선스인 AGPLv3를 추가했기 때문에 현재 Redis를 단순히 비오픈소스라고 표현하는 것은 정확하지 않다.다만 Valkey는 기존 Redis OSS와 동일한 BSD 3-Clause 라이선스를 유지하고 있다. Redis OSS 7.2.4를 기반으로 Valkey가 분기된 이후 Redis와 Valkey는 각각 ..
⚠️ 수백 명의 교육일정을 Excel로 관리하고 있었다업무 인터뷰를 진행하면서 생각보다 큰 개선 포인트 하나를 발견했다.건설업에서는 기술인들이 일정 주기마다 필요한 교육을 이수해야 한다. 3년 주기의 교육부터 기술사 교육, 진급에 필요한 교육 등 관리해야 하는 교육의 종류도 다양했다.문제는 수백 명에 이르는 기술인의 교육 이수 여부와 교육 예정일을 Excel로 관리하고 있었다는 점이었다.교육 기한이 다가오면 담당자가 대상자를 확인하고 메신저나 전화로 일일이 안내하고 있었다."OOO 교육을 OO 홈페이지에서 신청해서 XX까지 이수하셔야 합니다."업계 특성상 연령대가 높기에 한 번 안내한다고 끝나는 것도 아니었다. 신청 방법을 다시 물어보거나 대신 신청해 달라는 요청, 알겠다고만 하고 실제로 신청을 늦게하여..
현재 만들고 있는 시스템에서 가장 공을 많이 들인 페이지 3개가 있는데 그중 2개를 소개 해보고자 한다첫번째는 PQ서류를 제출하기 위해 기술인들의 자격심사를 검증하고, 문서를 자동으로 만들어주는 업무 화면이다 PQ 업무에서는 입찰에 참여할 기술인을 선정한 뒤, 해당 기술인의 자격과 프로젝트 수행 이력을 검증하여 발주처에서 요구하는 양식의 문서를 작성해야 한다.문제는 담당자가 한 번의 입찰을 준비하기 위해 수십~수백 명의 기술인과 프로젝트 이력을 확인해야 한다는 점이었다.기존 시스템의 조회 기능만으로는 데이터 관리의 정확성 부족과 필요한 정보를 한눈에 확인하기 어려웠고, 업무에 익숙한 담당자들은 경험과 기억에 의존해 대상 기술인을 선정하고 문서를 작성하고 있었다.이번 시스템을 구축하면서 이 과정을 ① 입찰..
📌 반복해서 조회되는 공통코드대부분의 ERP 시스템에서는 화면 곳곳에서 공통코드를 사용한다.직급, 자격구분, 공종구분, 상태값 등과 같은 공통코드는 여러 화면에서 반복적으로 조회되지만 데이터가 자주 변경되지는 않는다. 개발하면서 확인해보니 화면을 이동하거나 새로고침할 때마다 동일한 공통코드를 API를 통해 조회하고 있었고, Backend에서도 매번 PostgreSQL을 조회하고 있었다.데이터 변경은 적은데 조회는 빈번하기 때문에 공통코드는 캐싱 효과를 보기 좋은 데이터라고 판단했다.기존에 로그인 세션 관리 용도로 사용하고 있던 Redis가 있었기 때문에 공통코드 조회에도 Redis Cache를 적용해보기로 했다. 특징공통코드조회 빈도높음데이터 변경적음여러 화면에서 재사용많음데이터 크기작음실시간성이 반드..
🚧 ERP에서는 모든 사용자가 같은 기능을 사용할 수 없다ERP 시스템을 개발하다 보면 사용자에 따라 접근할 수 있는 메뉴와 수행할 수 있는 작업을 다르게 제어해야 한다.예를 들어 같은 메뉴를 사용하더라도 일반 사용자는 조회만 가능하고, 업무 담당자는 데이터를 등록하거나 수정할 수 있으며, 관리자만 삭제할 수 있도록 권한을 구분해야 할 수 있다.신규 PQ 시스템에서도 이러한 요구사항이 있었기 때문에 RBAC(Role-Based Access Control, 역할 기반 접근 제어) 방식으로 권한 관리 기능을 설계했다.관리의 편의성을 위해 기존 사용자 및 메뉴 정보와 연계하여 DB에서 역할과 메뉴 권한을 관리하는 방식으로 구현하기로 했다. 📎 역할 기반 권한 + 사용자별 예외 권한기본적인 권한은 역할(Ro..
💣 기존 ERP에는 모니터링 환경이 없었다기존 ERP 시스템을 운영하면서 확인해보니 애플리케이션의 상태를 통합적으로 확인할 수 있는 APM(Application Performance Monitoring) 환경이 별도로 구축되어 있지 않았다. 시스템에 장애가 발생하거나 특정 API의 응답이 느려지더라도 어느 구간에서 문제가 발생했는지 빠르게 확인하기 어려운 구조였다.신규 PQ 시스템을 구축하면서 단순히 서비스를 개발하는 것에서 끝내지 않고, 운영 단계에서 발생하는 문제까지 빠르게 추적할 수 있는 모니터링 환경을 함께 구축하기로 했다. 상용 APM을 도입하는 방법도 있지만 비용 부담이 있기 때문에 우선 Self-host 방식으로 운영할 수 있는 오픈소스 솔루션을 검토했다. 그로부터 시일이 꽤 지나서 무료로..
시스템 구축을 위해 업무 담당자 인터뷰중 PQ업무 중복도에 대해 간략한 이야기를 풀어볼까 한다PQ업무 중복도란?PQ 업무에서는 입찰에 참여할 기술인이 현재 다른 프로젝트에 참여하고 있는지, 신규 프로젝트에 투입 가능한지를 확인해야 한다.예를 들어 특정 기술인이 현재 수행 중인 프로젝트와 신규 프로젝트의 참여 기간이 겹친다면 해당 기술인을 바로 투입하기 어려울 수 있다.현재 참여 중인 프로젝트의 기간과 진척상황, 기술인의 투입 일정을 확인하여 프로젝트 간 업무가 중복되지 않는지를 관리하는 과정이 필요하고 회사에서는 이러한 업무를 업무중복도라는 이름으로 관리하고 있었다. 현업 인터뷰를 진행하면서 새로운 점을 하나 발견했다.업무 담당자들이 기존 시스템의 불편함을 해결하기 위해 Claude AI를 활용하여 직접..
ERP 시스템을 구축하면서 가장 중요하다고 느끼는 것은 업무에 대한 이해와 데이터다.최신 기술을 잘 활용하는 것도 중요하지만, 기술은 결국 실제 업무에서 발생하는 문제를 해결하기 위한 도구라고 생각한다. 기존 시스템의 기능을 그대로 웹으로 옮기는 것만으로는 현재 업무의 문제를 해결할 수 없다고 판단했고, 실제 PQ 업무를 담당하는 실무자들과 인터뷰를 진행하면서 현재 업무가 어떻게 이루어지고 있는지부터 확인해보기로 했다. 현업 인터뷰에서는 아래 항목을 중심으로 현재 업무 프로세스와 개선이 필요한 부분을 확인했다1. 현재 업무는 어떤 순서로 진행되는가? 2. 기존 PQ 시스템은 실제로 어떻게 사용하고 있는가? 3. 시스템 밖에서 Excel로 처리하는 업무는 무엇인가? 4. 사람이 직접 입력하고 있는 데이터는..
