본문 바로가기

❤️‍🔥TIL (Today I Learned)73

[TIL] 2023-01-13(55day) / SQL 인덱스 SQL (3) 👉 인덱스 - 데이터를 빠르게 찾을 수 있도록 도와주는 도구 # 인덱스 생성 CREATE [UNIQUE] INDEX 인덱스_이름 ON 테이블_이름 (열_이름) [ASC | DESC]; # 인덱스 생성 SHOW INDEX 테이블_이름; # 인덱스의 적용 ANALYZE TABLE 테이블_이름; # 인덱스 제거 DROP INDEX 인덱스_이름 ON 테이블_이름; 인덱스를 효과적으로 사용하는 방법 WHERE 절에서 사용되는 열에 인덱스를 만들어야한다. 데이터 변경 작업보다 SELECT 문을 훨씬 자주 쓰는 열에 인덱스를 만들어야 한다. 데이터의 중복이 높은 열은 인덱스를 만들어도 별 효과가 없다. 사용하지 않는 인덱스는 제거. 🙋‍♂️ 소감 : JPA가 모든 데이터를 엔티티 객체로 변환하여 검색하.. 2023. 1. 15.
[TIL] 2023-01-12(54day) / SQL JOIN / 제약조건 SQL (2) 👉 JOIN - 두개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것 # Inner Join (가장 많이 사용) SELECT FROM INNER JOIN -- INNER JOIN은 'INNER' 생략가능 ON [WHERE 검색 조건] -- 테이블 이름에 별칭을 붙이면 SELECT B.mem_id, M.mem_name, B.prod_name, M.addr FROM buy B JOIN member M ON B.mem_id = M.mem_id; # Outer Join (가장 많이 사용) - 두 테이블을 조인할 때 필요한 내용이 한쪽 테이블에만 있어도 결과를 추출 SELECT FROM OUTER JOIN ON [WHERE 검색 조건]; -- LEFT OUTER JOIN 문의 의미를 ‘왼쪽 테.. 2023. 1. 12.
[TIL] 2023-01-11(53day) / SQL 데이터 조회 / 변경 SQL (1) 👉 데이터 조회 # USE 문 - 사용할 데이터 베이스를 지정 (한번만 실행) - 발생 클래스 : java.lang.Error 클래스의 서브 클래스 USE 데이터베이스_이름; USE market_db # SELECT 문의 기본 형식 - 생략은 가능해도 순서는 지켜야 한다. SELECT select_expr [FROM table_references] [WHERE where_condision] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] [LIMIT {[offset,] row_count | row_count OFFSET offset}] # SELECT .. 2023. 1. 11.
[TIL] 2023-01-10(52day) Exception 처리(2) 👉 스프링이 제공하는 다양한 예외처리 방법 # Spring은 에러 처리라는 공통 관심사(cross-cutting concerns)를 메인 로직으로부터 분리하여 예외 처리 전략을 추상화한 HandlerExceptionResolver 인터페이스를 만들었다. // Object 타입인 handler는 예외가 발생한 컨트롤러 객체 public interface HandlerExceptionResolver { ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex); } - 발생 위치 : 시스템 레벨에서 생성 - 발생 클래스 : jav.. 2023. 1. 10.
[TIL] 2023-01-09(51day) Exception 처리(1) 👉 오류(Error) VS 예외(Exception) # 오류 (Error) - 발생 위치 : 시스템 레벨에서 생성 - 발생 클래스 : java.lang.Error 클래스의 서브 클래스 # 예외(Exception) - 발생 위치 : 개발자가 구현한 로직에서 발생 - 발생 클래스 : java.lang.Exception 클래스와 그 서브 클래스 - 필요한 이유 : 예외로 발생할 상황을 미리 예측하여 처리할 수 있다. 예외를 개발자가 처리할 수 있게 구분하고 그에 따른 처리 방법을 명확히 알고 적용할 수 있다. 예외를 통해 사용자에게 오류 발생을 알려야 한다. (안내를 위해) + 개발자에게도 알려야 한다. (오류 수정을 위해) # JAVA Exception 에러 출력 - e.getM.. 2023. 1. 9.
[TIL] 2023-01-06(50day) 3차 프로젝트 API 수정 👉 User API 👉 Admin API 👉 Post API 👉 Category API 🙋‍♂️ 소감 리팩토링 과정에서 다수의 변수와 메서드 URI의 주소들이 변경이 되어서, 두명씩 나누어서 API와 변수, 메서드를 수정하였다. 두개의 브랜치를 하나로 합치는 작업을 했고, 변경된 부분에 대한 API 명세서를 수정하였다. 프로젝트 초반에 최대한 변경없이 진행 될 수 있도록 정하고 진행하는게 필요하다는것을 다시 한번 느꼈다. 😈 아는 내용이라고 그냥 넘어가지 않기! 😈 2023. 1. 6.