목록전체 글 (151)
ultra_dev
젠킨스: 오픈 소스 CI/CD 툴이다. 들어가기 앞서 잡담)이번에 젠킨스를 사용한 이유는 일단 '무료'이기 때문이다.예전 사이드 프로젝트 진행 때는 github actions를 써서 aws ec2에 CI/CD 작업을 진행했는데 이번엔 젠킨스를 쓰게 됐다. 사내 코드는 private Repository로 git 관리가 되고 있고, private repository에서 CI/CD를 구축하는 건 "조건부 무료.."즉 제 기능을 다 쓰려면 유료라고 볼 수 있다. 물론 public repository로 만들면 그런 제한이 없는 걸로 알고 있다. 마침 회사 서버 pc도 여유가 있으니 무료인 젠킨스를 사용해서 CI/CD를 구축하는 건 허락을 받고 진행했다.구축 이유는 개발 단계에서 프론트엔드와의 협업 때문이다. 프론..
풀이 내역(~24.02.21) : 인프런 알고리즘 강의 문제 : 총 56문제 풀이 완료 프로그래머스 : 총 328문제 풀이 완료 백준 : 총 31문제 풀이 완료 띄엄띄엄 풀다 보니 효과가 적은 것 같다. 퇴근 후든 언제든 1~2 문제씩이라도 꾸준히 풀어야겠다. 2024년 목표 : 프로그래머스 LV3까지 모든 문제 풀기 진행 상황(24.02.21) : LEVEL 0 : 모든 문제 풀이 완료 LEVEL 1 : 모든 문제 풀이 완료 LEVEL 2 : 진행 중 * 백준은 java로 풀려니까 입출력이 번거로워서 함수형인 프로그래머스를 애용하게 되는 것 같다. 백준이 등급제도나 깃허브 뱃지는 마음에 드는데 아쉽다. * 백준 허브가 요새 작동을 잘 안해서 깃허브 연동이 안됨..!! 프로그래머스 깃허브를 찾아보니 이슈..
SQL 쿼리의 개념적인 실행 순서FROM(+JOIN)WHEREGROUP BYHAVINGSELECTORDER BY나는 당연히 무조건 위에 순서대로 작동하는 줄 알았지만 그게 아니란 걸 깨달았다..!! => 위의 순서는 개념적인 실행 순서일 뿐, 실제 데이터베이스에서는 옵티마이저를 사용해서 최적의 실행 계획을 세우기 때문에 위와 순서가 달라질 수 있다!!! ex) 많은 테이블과 Join 해야 하는 경우 row가 많다면 당연히 부하가 갈테고 만약 Where절에서 인덱스가 걸린 컬럼을 조건으로 하는 경우, 옵티마이저가 이를 감지하고 Where절을 먼저 처리해서 인덱스를 이용한 필터링 작업을 먼저 수행할 수도 있음!! => 최근에 이와 관련된 질문을 받았고, 뒤늦게 기존 작성 내용이 틀렸다는 걸 알게 되어 수정..
문제: 사내에서 docker로 postgreSQL을 띄우고 로컬에서 DB에 연결해서 프로젝트를 개발중이었다. 그런데 해당 postgreSQL에 연결된 다른 테스트용 솔루션들이 에러를 뱉기 시작했다. 500에러 발생..! 로그를 확인해서 원인을 찾아보니 too many connections ~ 즉, 해당 PostgreSQL의 커넥션 풀이 부족하다는 것! 데이터베이스의 session을 확인해보니 was 하나 당 db connection이 default로 10개 잡혀 있는데 여러명이 해당 PostgreSQL과 연결해서 로컬에서 개발을 진행하다보니 postgres default max connection인 100개가 넘어가면서 postgres db에 접근을 못하게 되면서 발생하는 문제였다. 해결: docker가..