본문 바로가기

전체 글

(5)
테스트 코드 잘 작성하기 돈과 직접적으로 맞닿아 있는 금융권 특성상 장애에 굉장히 민감합니다. 하지만, 굉장히 오래된 프로그램들을 사용하기도 하고 비즈니스 로직이 화면, 서버, SQL에 분산되어 있기 때문에 사소한 변경에 대해서도 영향도를 파악하거나 테스트하는데 많은 시간이 소요되었습니다. 또한, 프로그램 변경으로 인해 또 다른 문제가 발생하는 회귀 버그를 해결하기 위해서 이미 진행했던 테스트를 여러 번 반복하는 상황 때문에 생산성이 낮아질 수밖에 없는 환경에 아쉬움이 있었습니다. 그래서 이번에는 이러한 문제를 해결할 수 있도록 도와주는 테스트 코드를 잘 작성하는 법에 대해 정리를 해보려고 합니다. 테스트 코드의 필요성 1. 디버깅 비용을 절감할 수 있다. 2. 개발 과정에서 미리 문제를 발견할 수 있다. 3. 회기 버그 문제를..
쿼리 최적화 테크닉 1. SELECT 시에는 꼭 필요한 컬럼만 불러온다. -- Inefficient SELECT * FROM MOVIE; -- IMPROVED SELECT id FROM MOVIE; 많은 필드 값을 불러올수록 DB는 더 많은 로드를 부담하게 되고 데이터 전송에 필요한 리소스가 많아진다. 2. WHERE절 컬럼에 별도의 연산을 걸지 않는 것이 좋다. -- Inefficient SELECT m.id, ANY_VALUE(m.title) title, COUNT(r.id) r_count FROM MOVIE m, RATING r WHERE m.id = r.movie_id AND FLOOR(r.value/2) = 2 GROUP BY m.id; -- IMPROVED SELECT m.id, ANY_VALUE(m.title)..
데이터베이스 이론 정리 기본 💡 DBMS란? 더보기 데이터베이스 관리 시스템(DBMS)은 다양한 데이터를 효율적으로 저장, 관리, 검색할 수 있도록 돕는 소프트웨어입니다. 💡 DBMS의 기능? 더보기 데이터의 독립성: 데이터의 물리적 위치가 변경되더라도 응용 프로그램에 영향을 미치지 않도록 하고, 데이터베이스의 논리적 구조가 변경되더라도 응용 프로그램에 영향을 미치지 않음을 보장합니다. 데이터의 무결성: 데이터의 정확성과 일관성을 유지하기 위한 규칙을 설정하고 강제합니다. 예를 들어, 특정 범위 밖의 값이나 논리적으로 부적합한 값의 입력을 방지할 수 있습니다. 데이터의 보안성: DBMS는 사용자의 권한에 따라 데이터 접근을 제어합니다. 이를 통해 허가되지 않은 사용자의 데이터 접근을 방지하며, 보안을 유지합니다. 데이터의 일관..