분류 전체보기 (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는 사용자의 권한에 따라 데이터 접근을 제어합니다. 이를 통해 허가되지 않은 사용자의 데이터 접근을 방지하며, 보안을 유지합니다. 데이터의 일관.. Scavenger로 Dead Code 청소하기 https://velog.io/@zaan/Dead-Code-%EC%B2%AD%EC%86%8C%ED%95%98%EA%B8%B0 Oracle SQL 정리 개발할 때도 그렇고 업무를 하면서 자료 추출 등의 일이 점점 많아지면서 쿼리를 한번 정리해두면 좋겠다는 생각을 했다. Inner Join > 기본 사용법 Left Outer Join > 기본 사용법 SELECTA.EMPNO ,A.ENAME ,A.JOB ,A.DEPTNO ,B.DNAME FROMEMP A, DEPT B WHEREA.DEPTNO = B.DEPT(+) 기준 테이블에 해당하는 값이 없을 경우 NULL이 표시된다. Full Outer Join > 기본 사용법 Decode Decode는 If Else와 같은 동작을 수행한다. 요즘은 CASE WHEN 구문 사용을 권장하긴 하지만 Decode문을 사용하고 있는 쿼리를 해석하려면 알아두는게 좋을 것 같다. > If Else SELECTENAME ,COM.. 이전 1 다음