본문 바로가기

kdt44

[WIL] 2023-01-14(11th week) 😃 Keep - 이해 안되는 부분은 반복 학습. - 모르는 부분은 팀원들과 공유하여 해결해보기. 😅 Problem - 알고리즘 문제 풀이를 하지 못함. 💪 Try - 프로젝트 중간중간 알고리즘 문제 풀어보기. - 개인과제 JPA 연관관계 최대한 끊어보기 🙋‍♂️ feel - 지난 프로젝트에서 못했던 개인과제의 연장선이라 생각하고 시큐리티 적용을 맡아서 하긴 했으나, 완벽히 이해된 상태에서 하지는 못했었다. 일주일간 개인과제에서 리팩토링 하면서 차근차근 최대한 이해하면서 사용하려고 했다. 다음 주에 새로운 프로젝트가 시작되는데 최대한 할 수 있는 부분까지 욕심 내서 해보고 싶다는 생각이 든다. 2023. 1. 15.
[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.