스프링부트 프로젝트 생성하는 방법이라면.. https://start.spring.io/ 👈이 사이트로만 해왔는데 방법은 되게 다양했습니다😲 Maven 프로젝트 생성 Gradle 프로젝트 생성 Spring CLI Spring Intializr Maven 프로젝트 생성🌳 Maven 프로젝트의 경우, pom 파일로 정의가 이루어집니다! 웹 문서가 html로 작성을 하면 브라우저가 html 파일을 읽어 DOM을 만드는 것처럼 pom.xml을 작성하면 Maven이 Project Object Model 이라는 객체를 만드는 것입니다. 그리고 해당 POM에 의해서 프로젝트에 필요한 것을 다운받아 프로젝트 구성이 됩니다. xml로 프로젝트에 대한 스트립트을 정의하면 Maven이 알아서 빌드해줍니다👍 Maven 프로젝트..
Explain SQLSELECT/UPDATE/INSERT/DELETE 등의 쿼리가 어떻게 수행되는지 내부를 보여주는 SQL 명령 MySQL이 해당 쿼리를 어떻게 실행할지 Execution Plan을 보여주므로 이를 바탕으로 느리게 동작하는 쿼리의 최적화가 가능해집니다! Explain SQL 사용 방식Explain 뒤에 분석하고 싶은 쿼리 문을 작성EXPLAININSERT INTO comment (id, content, parent_comment_id, user_id, article_id)VALUES (1, '오늘 저녁은 김치찌개', NULL, 9, 6); Index테이블에서 특정 찾기 작업을 빠르게 수행하기 위해서 MySQL이 별도로 만드는 데이터 구조 검색을 위해 자주 사용되는 컬럼이 있다면, 인덱..
Join에 관해 학습하던 도중,조인의 다양한 종류 중 Self Join을 마주하게 되었습니다👀같은 테이블끼리 조인한다는 점에서 어떤 상황에서 유용하게 사용되는지 찾아보았습니다. 부모 자식 관계가 존재하는 경우한 테이블 내에서 부모 자식과 같이, 상하 관계가 명시되어 있는 경우 Self Join이 유용하게 사용될 수 있습니다예를 들면, 게시글에 대한 "댓글과 대댓글"의 관계를 떠올릴 수 있습니다. 게시글에 대한 댓글 내용을 저장하는 테이블 commentCREATE TABLE comment ( id INT PRIMARY KEY, -- 댓글 고유 ID content VARCHAR(255), -- 댓글 내용 parent_comment_id INT, -- 부모 댓글이 있는 경우, 부모 댓글 I..
조인이란?sql 조인은 두 개 이상의 테이블들을 공통 필드를 가지고 통합하는 것으로 스타 스키마로 구성된 테이블들로 분산되어 있던 정보를 통합하는데 사용된다! join의 결과로 양쪽의 필드를 모두 가진 새로운 테이블이 만들어지게 되며,조인의 방식에 따라 어떤 레코드들이 선택되는지, 어떤 필드들이 채워지는지가 결정된다. JOIN 문법!SELECT A.*, B.*FROM raw_dat.table1 A___ JOIN raw_data.table2 B ON A.key1 = B.key1 and A.key2 = B.key2WHERE A.ts>='2019-01-01'; 그렇다면 JOIN시에 고려할 점은 없을까?1. 중복 레코드가 없고 Primary Key의 uniqueness가 보장됨을 체크해야한다.2. 조인하는 ..
Q. Enum 강의 내용 중, BiFunction을 통해 연산을 수행하도록 해주었는데, 자바에서 제공하는 함수형 인터페이스의 종류에는 어떤 것들이 있고 어떻게 사용하는걸까? 자바 8버전부터 빈번하게 사용되는 함수형 인터페이스를 java.util.function 표준 API 패키지로 제공하고 있으며, 제공되는 함수형 인터페이스는 크게 5가지로 Consumer, Supplier, Function, Operator, Predicate가 있습니다! Function 매개값⭕ 리턴값도 있다⭕ 주로 매개값을 반환값으로 매핑할 때 즉, 타입 변환이 목적일 때 사용한다. BiFunction 두 개의 입력 값(T, U)를 받아서 R 타입을 리턴하는 함수형 인터페이스 추상 메소드: R apply(T t, U u) impor..
객체지향적으로 개발해야하는 이유 클래스와 상속 추상 클래스와 인터페이스 Enum 예외 Object 클래스 Optional 객체지향적으로 개발해야하는 이유 절차지향 프로그래밍 → 객체지향 프로그래밍 왜 우리는 객체지향적으로 개발해야 할까❓ 이는 결국 개발 과정에서 자주 발생하는 문제를 해결하기 위함이다! 먼저 객체지향 프로그래밍이 등장하기 전을 살펴보자👻 절차지향 프로그래밍의 경우 데이터와 그 데이터에 접근할 수 이는 함수 사이에 서로 연관 관계가 낮다. 실제 서비스에서는 메시지를 발송하고, 테스트 시에는 발송하지 않기 위해서는 코드를 변경해야 하는데, 이 과정에서 실수가 유발될 수 있다..!(테스트 용이성) 객체지향 프로그래밍을 통해 인터페이스 이용할 수 있다. 여기서 의문이 들 수 있다! 그래도 코드 ..