JAVA21 블로그 만들기 DAY1 [스프링부트 중요개념 정리] Daily 목표: 스프링의 컨셉인 IoC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍), PSA(이식 가능한 서비스 추상화)의 개념을 이해해가며 블로그 코드 작성하기 keyword: IoC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍), PSA(이식 가능한 서비스 추상화) 스프링부트? * 톰캣, 제티, 언더토우 같은 웹 애플리케이션 서버가 내장되어 있음. 따로 설치 하지 않아도 독립적 실행 가능함. * 빌드 구성을 단순화하는 스프링 부트 스타터를 제공함. * XML설정 없이 자바 코드 작성 가능. * JAR을 이용해 자바 옵션만으로 배포 가능함. * 애플리케이션 모니터링 관리 도구인 스프링 액츄에이터 제공 용어설명: IoC : Inversion of Contro.. JAVA/블로그 만들기 2023. 10. 7. 블로그 만들기 DAY1 [용어정리 및 SRPING 기초정리] 노트형식으로 작성됨 ↓ * JPA – 관계형 데이터베이스를 사용하는 방식의 인터페이스 JAVA는 SQL이 아닌 자바언어로 데이터베이스를 조작. * GRADLE 메이븐 차이? 소스 코드를 이용해서 실행 가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램 * GRADLE의 특징: 메이븐에비해 가독성이 좋고, 설정이 간단함. 자바,코틀린,그루비 등 다양한 언어 지원 빛 원하는대로 빌드 스크립트 작성 가능. 빌드와 테스트 속도가 메이븐에 비해 빠름 **단축키정리** 1. 복사하기 Ctrl + C 2. 잘라내기 Ctrl + X 3. 붙여넣기 Ctrl + V 4. 주석토글 Ctrl + / 5. 전체선택 Ctrl + A 6. 현재 파일에서 찾기 Ctrl + F 7. 전체 파일에서 찾기 Ctrl + Shift +.. JAVA/블로그 만들기 2023. 9. 27. Spring Security (스프링 시큐리티) Ch.1 Spring Security DAY1 CH.1 학습 목표 Spring Security가 무엇인지 알아보기. Spring Security 사용하는 용어정리 하기. Spring Security를 사용해야 하는 이유를 알 수 있다. Spring Security의 기본구조 1️⃣ Spring Security 란? Spring Security는 Spring 기반의 프레임워크에서 보안을 다루기 위한 프레임워크다. 이전에는 Spring Security가 Acegi Security로 불렸었다. Spring Security는 인증(Authentication)과 인가(Authorization) 기능을 포함하며, 웹, 서비스, 메시지 기반 애플리케이션 등 다양한 환경에서 보안을 다루기 위한 기능을 제공 하고있다. 사용하는 .. JAVA/Spring Security 2023. 3. 15. DI(Dependency Injection) 이란? / (포스팅 하나로 세부내용까지 총 정리) TIL 목표: Spring 컨테이너(Container)와 빈(Bean)의 의미를 이해할 수 있다. 빈 스코프(Bean Scope)의 의미를 이해할 수 있다. Java 기반 컨테이너(Container) 설정에 대해 이해할 수 있다. Spring DI(Dependency Injection)의 의미를 이해할 수 있다. Component 스캔에 대해 이해할 수 있다. 1️⃣ DI란? (의존성 주입) 생성자 뿐 아니라 다른 방식으로도 의존성 주입이 가능하지만, 일반적으로는 생성자를 통한 의존관계 주입을 사용한다. 2️⃣ 스프링 컨테이너 (Spring Container) 스프링 프레임워크(Spring Framework)는 자바 기반의 오픈소스 프레임워크로서, 자바 애플리케이션을 개발하기 위한 다양한 기능을 제공한다.. JAVA/Spring 2023. 3. 13. Java 기반 컨테이너 설정방법 (Spring 어노테이션 활용) 1️⃣ Java 기반 컨테이너 설정방법 (어노테이션 활용) Java 기반의 컨테이너 설정 방법 중 어노테이션을 활용한 것은 스프링 프레임워크에서 제공하는 애노테이션 기반의 설정 방법이다. 2️⃣ 스프링 프레임워크에서는 아래와 같은 어노테이션들을 제공한다. @Component: 해당 클래스를 빈으로 등록. @Repository: DAO(Data Access Object) 클래스를 빈으로 등록. @Service: 서비스 클래스를 빈으로 등록. @Controller: 컨트롤러 클래스를 빈으로 등록. @RestController: RESTful 웹 서비스를 처리하는 컨트롤러 클래스를 빈으로 등록. @Configuration: 설정 클래스를 나타내며, 빈을 등록하고 설정하는 메서드를 포함. @Bean: 해당 메서.. JAVA/Spring 2023. 3. 13. 스코프(Scope) 란? /SpringFramework 스코프(Scope) 란? 스프링 프레임워크에서 빈(Bean) 객체의 생성 및 소멸 시점과 라이프사이클을 관리하는 것 중 하나가 스코프(Scope)다. 스코프는 빈 객체의 생성 범위를 지정하며, 해당 범위에서만 빈 객체를 공유하고 관리한다. 스프링은 다양한 스코프를 제공하여 객체의 생성 및 소멸을 효율적으로 관리할 수 있도록 지원한다. 1️⃣ 스코프 종류 Singleton: 스프링 컨테이너에서 생성되는 빈 객체는 기본적으로 Singleton 스코프로 생성된다. 따라서 컨테이너 내에서 하나의 인스턴스만 생성되고, 이를 모든 빈에서 공유하여 사용한다. @Component // 기본 스코프는 Singleton public class MyComponent { } Singleton 스코프는 스프링 컨테이너에서 딱 .. JAVA/Spring 2023. 3. 13. Spring Boot 이란? [Spring Boot은 왜써?] https://spring.io Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io Spring Boot 이란? Spring Boot은 Spring Framework의 편리함에도 불구하고 Spring 설정의 복잡함으로 인해 Spring 기반 애플리케이션 개발을 시작하기도 전에 어려움을 겪는 문제점을 해결하기 위해 생겨난 Spring Project 중 하나이다. Spring Boot 사용 이유 * XML 기반의 복잡한 설계 방식 지양 * 애플리케이션 설정의 자동 구성 * 의존 라이브러리의 자동 관리 * 프로덕션급 애플리케이션의.. JAVA/Spring 2023. 3. 10. Spring Framework 기본 [스프링 제대로 알아가기] DAY1 현재 스프링의을 정확히 이해하기 위해서 10일동안 복습을 진행하려고한다. DAY 1: Spring의 기본 ~ DI,AOP 핵심개념 짚어가기 [Spring Mvc ↓] DAY2 : API, 서비스, 예외처리 DAY3 : JDBC DAY4 : JPA DAY5 : 트랜젝션 + 테스팅 DAY 6: API문서화 DAY 7: APP 빌드/실행배포 순으로 복습 블로깅을 시작하려고 한다. 정확한 내용을 이해하고 활용하기 위함이 목적이고, 개인적인 공부를 위해 작성 되었으니 틀린부분 지적은 언제나 환영합니다!!! ㅎㅎ review의 과정 1. 어떤 문제가 발생했는지.. 2. 해결하기 위해 어떤 시도를 했는지.. 3. 해결이 되었는지 해결이 되지 않았는지.. 4. 어떤 방법으로 해결이 되었는지.. Spring Framew.. JAVA/Spring 2023. 3. 9. Aggregate? (애그리거트) 객체지향 프로그래밍 중요 개념 / Java Spring 학습 Aggregate(에그리거트)란? 소프트웨어 개발에서 관련된 객체들의 집합을 의미한다. 보통 하나의 대상에 대해 여러 객체를 생성하여 각 객체들이 서로 상호작용하도록 구성할 때, 이를 하나의 에그리거트로 묶어서 처리하는것이 일반적이다. 예를들어) 주문(Order)에 대한 객체를 생각하면, 주문 상품, 주문 배송지, 주문 결제정보 등 여러 객체들이 존재한다. 이때, 이러한 객체들을 하나의 에그리거트로 묶어 처리하는 것이 엄청 효율적이다! 보통 특정 비즈니스 로직을 수행하는데 필요한 객체들을 모아서 관리하게 된다. 이렇게 모아진 객체들은 각각의 역할을 수행하면서, 하나의 대상을 처리하는데 필요한 기능을 제공한다. Aggregate(에그리거트) 구현 방법 에그리거트를 구현하는 방법은 다양하다. 일반적인방법 객.. JAVA/Spring 2023. 2. 21. JDBC(Spring JDBC)란? / 스프링 JDBC 알고넘어가기! ^^ JDBC(Spring JDBC)란? JDBC (Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있는 API(응용 프로그래밍 인터페이스)입니다. JDBC는 데이터베이스와의 통신을 가능하게 하며, 데이터베이스에서 데이터를 가져오거나 변경할 수 있는 기능을 제공한다. 즉 JDBC를 사용하면 Java 애플리케이션에서 데이터베이스에 접근하여 데이터를 검색, 삽입, 갱신, 삭제할 수 있다. 그러면 Spring JDBC는? Spring JDBC는 Spring Framework에서 제공하는 JDBC 모듈이다. 조금 어렵게 말하면 Spring Framwork에서 제공하는 JDBC 추상화 라이브러리 이다. Spring JDBC는 JDBC 코드를 간결하게 작성하고, 더 수비게 데이터베이.. JAVA/Spring 2023. 2. 20. TCP / IP 란? / 프로토콜? [네트워크] TCP / IP 에 앞서 1️⃣ LAN과 WAN이란? 보통 인터넷 라우터를 통해 연결된 좁은 범위에서의 연결된 네트워크를 LAN(Local Area Network)라고 부른다. *그래서 보통 LAN선이라고 부르는 것이다. 이러한 LAN이 모여 세계의 네트워크를 구성하는 방식이 WAN(Wide Area Network) 이다. 2️⃣ 프로토콜(protocol) 우리가 일상적으로 사용하는 네트워크의 확장 방식은 크게 두 가지 방법이 있다. 한 네트워크를 확장하는 방법. 네트워크와 네크워크를 연결하는 방법. 여러 네트워크를 연결하는 방법을 인터네트워킹 이라고하는데 인터네크워킹을 통해서 네트워크의 일부가 고장나도 영향이 광범위하게 퍼지지 않거나, 불필요한 통신이 확산되지 않게 한다는 장점이 있다. 이때에 인터넷에.. JAVA/네트워크 2023. 1. 26. 웹 애플리케이션? / 애플리케이션(APP)은 아는데 웹 애플리케이션은 뭐지? [네트워크] 1️⃣ 네이티브 애플리케이션(NATIVE - APPLICATION)? 네이티브 애플리케이션 특정기기에서 설치해서 사용하는 애플리케이션을 네이티브 애플리케이션 (Native-application) 이라고 부른다. 네이티브 애플리케이션은 애플의 iOS, 안드로이드의 Andorid OS, Windows와 같은 특정 실행환경에 종속되어 있다. 따라서 아이폰에 설치되게끔 만든 iOS는 갤럭시나 윈도우 컴퓨터에서 사용할 수 없게 된다. 2️⃣ 네이티브 애플리케이션의 장, 단점 네이티브 애플리케이션의 장점 웹 애플리케이션 보다 빠르다 인터넷 없이 사용이 가능하다(설치되기 때문) 애플리케이션이 설치된 기기의 시스템, 기기의 리소스에 접근하기 용이하다. (GPS, 카메라... 등등) 웹 애플리케이션에 비해 안전하다. (.. JAVA/네트워크 2023. 1. 26. 이전 1 2 다음