'분류 전체보기' 카테고리의 글 목록 (11 Page)
공부정리_코딩
개발 관련 지식
TDD는 정말 최고의 설계 도구일까? – Bob Martin vs Jim Coplien의 토론 정리
2025.04.12
🎬 [0:00~1:01] Bob: 전문 개발자의 필수 TDDTDD는 이제 전문 개발자라면 필수로 해야 할 행위라고 강조함.Bob은 TDD를 단순한 개발 기법이 아니라, 개발자의 책임감과 전문성의 문제로 격상시켜 주장함. 🎬 [1:02~2:23] Bob: TDD 정의Bob의 TDD 3법칙:Failing test first→ 테스트가 먼저다. 실패하는 테스트 없이 프로덕션 코드 작성 금지Write only enough test to fail→ 실패를 보장할 수 있을 정도까지만 테스트를 작성해야 한다Write only enough code to pass→ 테스트를 통과하기 위해 최소한의 프로덕션 코드만 작성한다TDD는 극단적으로 작은 단위의 사이클로 구성됨:테스트 → 실패 → 최소 코드 → 통과 → 리팩터..
개발 관련 지식
Mock이란
2025.04.07
1. 개념Mock은 테스트할 때 진짜 객체(DB, 외부 API, 파일 시스템 등) 대신 사용하는 가짜 객체다.Mock은 서비스 코드 내부의 실제 로직은 그대로 유지하고 사용하되, 외부에 의존하는 객체 부분만 가짜로 대체한다. 예를 들어, 어떤 코드가 실제 DB에서 사용자 정보를 조회한다고 가정해보자.테스트를 실행할 때마다 진짜 DB에 접근한다면 다음과 같은 문제가 발생한다.통신이 필요하기에 테스트가 느려진다.단위 테스트가 실패한 경우, 서비스 코드가 문제인지 DB의 문제인지 명확하게 파악해야한다.공유 의존성이 있기 때문에 테스트 실행 순서 바뀌면, 테스트 간 결과가 달라질 수 있다.순서 의존성을 파악하려면, 테스트 흐름을 추적해야 해서 디버깅이 더 어려워진다.병령 테스트가 불가능해진다.이러한 문제를 해..
Server/DB
순위함수 ROW_NUMBER(), RANK(), DENSE_RANK()
2025.04.03
1. 순위함수ROW_NUMBER()각 행에 고유한 순번을 부여한다. 동일한 값이라도 서로 다른 번호가 부여된다.중복 없는 순차적 번호 부여가 필요할 때 사용RANK() 동일한 값에 대해 같은 순위를 부여하고, 다음 순위는 건너뛴다. (공동 1위가 2개면 다음 순위는 3위)DENSE_RANK()동일한 값에 대해 같은 순위를 부여하지만, 다음 순위를 건너뛰지 않는다. (공동 1위가 2개여도 다음 순위는 2위) CREATE TABLE employee ( id INT, name VARCHAR(50), department VARCHAR(50), salary INT);idnamedepartmentsalary1김철수개발50002이영희개발50003박지민마케팅45004최다혜마케팅48005정민준개발4..
Server/DB
SQL 서브쿼리의 종류와 특징
2025.03.31
서브쿼리는 SQL에서 하나의 쿼리 내에 포함된 또 다른 쿼리이다.메인 쿼리의 조건이나 데이터를 보완하는 용도로 사용되며, 적절히 활용하면 복잡한 데이터 처리를 효율적으로 수행할 수 있다. 1. WHERE 절 서브쿼리 (중첩 서브쿼리)a. 단일행 서브쿼리서브쿼리에서 한 개의 행만 반환한다. 주로 비교 연산자(>, =, )와 함께 사용된다.SELECT employee_id, salary FROM employees WHERE salary > ( SELECT AVG(salary) FROM employees);이 예시는 전체 직원의 평균 급여보다 높은 급여를 받는 직원들을 조회한다.b. 다중행 서브쿼리서브쿼리에서 여러 행의 값을 반환할 수 있다. IN, SOME(ANY), ALL 등과 함께 사용된다...
Server/DB
CASE, IF( )
2025.03.30
CASE여러 개의 조건을 지정할 수 있다.https://goto-helloworld.tistory.com/71SELECT name, salary, CASE WHEN salary > 5000 THEN 'High' WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium' ELSE 'Low' END AS salary_levelFROM employees; IF( )특정 SQL 엔진(MySQL 등)에서 제공하는 함수로, 단순한 이진 조건을 처리할 때 사용된다.SELECT name, salary, IF(salary > 5000, 'High', 'Low') AS salary_level FROM employees;⇒ salary가 5000 초..