💎Spring Boot란 - Spring MVC Project 구성 시 필요했던 복잡한 환경 설정을 최소화 하여 개발자로 하여금 비즈니스 로직 구현에 집중할 수 있도하기 위해 개발됨 💎Spring Boot의 장점 - 내장된 서버(Tomcat 등)를 제공해서 war 배포 없이 독립 실행이 가능한 웹애플리케이 션을 개발할 수 있음 → Spring MVC Project 처럼 Tomcat 서버를 Start 하는 것이 아닌 Java Project 처럼 main 메서드가 작성된 class를 Run해서 실행 —> 자동으로 내장된 Tomcat 서버가 시작됨 - 다양한 Starter POM 파일을 제공해서 Maven, Gradle 등의 빌드 도구 구성, 라이브러리 관리를 간 소화 - Spring Starter를 이용해서..
Info

💎 Oracle Database 🔈 Data - Data : 관찰 결과로 나타난 정량적 혹은 정성적인 실제 값 - 정보 : 데이터를 기반으로 의미를 부여한 것 * 에베레스트의 높이 : 8848m → Data * 에베레스트는 높으산이다 → 정보 - Database : 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것 🔈 Database ✅ 정의 1. 공용 데이터(Shared Data) : 공동으로 사용되는 데이터 2. 통합 데이터(Integrated Data) : 중복 최소화로 중복으로 인한 데이터 불일치 현상 제거 3. 저장 데이터(Stored Data) : 컴퓨터 저장장치에 저장된 데이터 4. 운..
💎 Context API - Context API는 React 컴포넌트 트리 전체에서 데이터를 공유할 수 있는 방법을 제공합니다. 이를 통해 중첩된 구조에서 데이터를 전달하는 데 있어서 불필요한 props drilling을 방지 할 수 있습니다. 🌈 props drilling 은 React 컴포넌트 구조에서 하위 컴포넌트로 데이터를 전달하기 위해 상위 컴포넌트를 거치는 것을 의미합니다. 이는 컴포넌트 구조가 깊어지면 서 코드가 복잡해지고 유지보수가 어려워지는 문제를 유발합니다. Context API 는 이러한 문제점을 해결하기 위한 방법 중 하나입니다. - Context를 사용하기 위해서는 createContext() 함수를 사용하여 Context 객체를 생성해야 합니다. 이후 Context.Provid..

💎 React State - React에서의 state란 컴포넌트 내부에서 관리되는 상태 값을 의미합니다. 컴포넌트가 생성 되고, 갱신될 때마다 변경될 수 있는 값이며, 이 값이 변경될 때마다 화면이 다시 렌더링됩니 다. state는 useState Hook을 사용하여 컴포넌트 내부에서 관리할 수 있으며, setState 함 수를 통해 값을 업데이트할 수 있습니다. - React에서의 state는 컴포넌트의 상태를 저장하고, 필요에 따라 다시 렌더링하는 데 사용됩 니다. 사용자 인터랙션에 따라 컴포넌트 내의 상태가 변경되면, React는 이를 감지하고 변경 된 상태를 바탕으로 화면을 다시 렌더링합니다. 이를 통해 동적으로 변하는 UI를 만들 수 있 습니다. 💎 React Props - Props는 Rea..

💎Spring AOP 특징 🔈Spring은 프록시(Proxy) 기반 AOP를 지원 - Spring은 대상 객체(Target Object)에 대한 프록시를 만들어 제공하며, 타겟을 감싸는 프록시는 Server Runtime 시에 생성된다. 이렇게 생성된 프록시는 대상 객체를 호출 할 때 먼저 호출되어 Advice의 로직을 처리 후 대상 객체를 호출한다. 🔈Proxy는 대상 객체의 호출을 가로챈다 (Intercept) - Proxy는 그 역할에 따라 대상 객체에 대한 호출을 가로챈 다음, Advice의 부가기능 로직을 수행하고 난 후에 타겟의 핵심기능 로직을 호출하거나 → 전처리 Advice 타겟의 핵심기능 로직 메소드를 호출 한 후에 Advice의 부가기능을 수행한다. → 후처리 Advice 🔈Spring..

💎 Mybatis 란?? - 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해서 JDBC를 구현한 영속성 프레임워크 - 기존에 JDBC를 통해 구현했던 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 xml 설정을 통해 쉽게 구현할 수 있게 해준다 📣 Mybatis API 사이트 http://www.mybatis.org/mybatis-3/ko 📣 Mybatis 흐름 - 이전에 JDBC Template을 통해 SQL을 실행하였다면 Mybatis는 해당 흐름을 전용 라이브러리를 통해 대체하여 동작한다고 생각하면 된다. 📣 JDBC, Spring, Mybatis 관련 모듈,라이브러리 추가 JDBC 드라이버 (ojdbc11) : https:..
💎 Web Socket? - 웹소켓(WebSocket)은 클라이언트와 서버(브라우저와 서버)를 연결하고 실시간으로 통신이 가능하도록 하는 첨단 통신 프로토콜이다. 웹소켓은 하나의 TCP 접속에 전이중(duplex) 통신 채널을 제공한다. 쉽게 말해,웹소켓은 Socket Connection을 유지한 채로 실시간으로 양방향 통신 혹은 데이터 전송이 가능한 프로토콜! 오늘날 채팅 어플리케이션, SNS, 구글 Docs, LOL 같은 멀티플레이 게임, 화상회의 등 많은 분야에서 사용되고 있다. 📣 Web Socket - 브라우저와 웹서버간의 전이중통신을 지원하는 프로토콜이다 - HTML5버전부터 지원하는 기능이다. - 자바 톰캣7버전부터 지원했으나 8버전부터 본격적으로 지원한다. - spring4부터 웹소켓을 지..

💎 Spring AOP란? - Spring AOP 란, 관점 지향 프로그래밍(Aspect Oriented Programming)의 약자로 일반적으로 사용하는 클래스(Service, Dao 등) 에서 중복되는 공통 코드 부분(commit, rollback, log 처리) 을 별도의 영역으로 분리해 내고, 코드가 실행 되기 전이나 이 후의 시점에 해당 코드를 붙여 넣음으로써 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술을 말한다. 📣 Spring AOP의 동작 구조 * 공통되는 부분을 따로 빼내어 작성하는 메소드를 Advice라고 이야기 하며, Advice를 적용될 수 있는 모든 관점(시점, 메소드)을 JoinPoint, JoinPoint 중 실제 Advice를 적용할 부분을..

📣 @Annotation 방식 - XML 파일에는 구동시킬 필수 요소만 작성하고 소스코드에 Annotation으로 표시하여 구동하는 방식 📣 @Annotation 종류 – Bean 등록 시 사용 📢 @Component - 객체(컴포넌트)를 나타내는 일반적인 타입으로 태그와 동일한 역할 📢 @Repository - 퍼시스턴스(persistence) 레이어, 영속성을 가지는 속성(파일, 데이터베이스)를 가진 클래스 ex) Data Access Object Class 📢 @Service - 서비스 레이어, 비즈니스 로직을 가진 클래스 ex) Service Class 📢 @Controller - 프리젠테이션 레이어, 웹 애플리케이션에서 View에서 전달된 웹 요청과 응답을 처리하는 클래스 ex) Controll..

📣 IOC(제어 반전) 이란? - IOC란, Inversion of Control의 약자로 프로그램을 구동하는데 필요한 객체에 대한 생성, 변경 등의 관리를 프로그램을 개발하는 사람이 아닌 프로그램을 구동하는 컨테이너에서 직접 관리하는 것을 말한다. * 스프링은 IOC 구조를 통해 구동 시 필요한 객체의 생성부터 생명주기까지 해당 객체에 대한 관리를 직접 수행한다 📣 Spring IOC 컨테이너 🔊 IOC 컨테이너 - 스프링에서 관리하는 객체를 ‘Bean(빈)’이라고 하고, 해당 빈들을 관리한다는 의미로 컨테이너를 ‘Bean Factory’ 라고 함 🔊 IOC 컨테이너의 역활 1) 객체의 생명주기와 의존성을 관리한다. 2) VO (DTO / POJO) 객체의 생성, 초기화, 소멸 등의 처리를 담당한다 3..