JAVA40 스코프(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. Grahp란? [자료구조 그래프] 개념 및 특징 종류 구조 // 인접 리스트와 인접행렬 선택 방법 Graph 정의 프로그래밍에서의 그래프는 여러개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조 입니다. 단순히 노드와 그 노드를 연결하는 간선을 하라노 모아 놓은 자료구조라고 표현할 수도 있습니다. * 연결되어 있는 객체 간의 관계를 표현할 수 있는 자료 구조. → 활용 : 지도, 지하철노선도, 도로 통행길, Graph의 종류 무방향 그래프 (Undirected Graph) * 무방향 그래프의 간선은 간선을 통해서 양 방향으로 갈 수 있다. * 정범 A와 정점 B를 연결하는 간선은 (A,B)와 같이 정점의 쌍으로 표현한다. (A,B) == (B,A) ex) 양방향 통행 도로() 방향그래프 (Directed Graph) * 간선에 방향성이 존재하는 그래프 * A -> B로만 갈 수 있는 간선.. JAVA 2023. 1. 18. Tree 구조 (트리 구조) 자료구조 / 트리 순회 방법 세가지 전위, 중위, 후위 순회 알고리즘 문제 Tree(트리) 구조란? 자료구조 Tree는 이름 그대로 나무를 거꾸로 뒤집은 형태를 가지고 있습니다. 트리구조는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조입니다. 데이터를 순차적으로 나열시킨 선형 구조가 아니라, 하나의 데이터 아래 여러개의 데이터가 존재할 수 있는 비선형 구조로 되어있습니다. 또한 트리 구조는 계층적으로 표현이 되고, 아래로만 뻗어가기에 사이클이 따로 존재하지 않습니다. 트리(Tree) 구조의 기본적 개념 1. 트리는 노드로 이루어진 구조입니다. (각각의 데이터를 노드라함.) 2. 루트 노드는 0개 이상의 자식 노드를 가지고 있습니다 (현재 이미지에서는 A가 루트.) 3. 그 자식 노드 또한 0개 이상의 자식 노드를 가지고 있고, 이는 반복적으로 정의됩니다. (아래로만 뻗.. JAVA 2023. 1. 18. JSON 직렬화, 역직렬화 Convert Java Object to JSON 제목 : Convert Java Object to JSON // 직렬화, 역질렬화. JSON은 JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷이다. 메세지를 주고 받을때 발신자와 수신자가 같은 프로그램을 사용하거나, 문자열처럼 범용적으로 읽을 수 있어야 하는데 이 때에 Java로 코드를 작성할 때에 다른 프로그램에서는 데이터를 정확하게 파악할 수 없게 된다. 이 문제를 해결하기 위해 객체를 JSON 형태로 변환하거나 JSON을 객체의 형태로 변환하는 방법이다. Java객체를 JSON 객체로 변환하기 위해서는 다음 두 가지 방법이 있다. 1. GSON 라이브러리 사용 2. 잭슨 API 사용. GSON 라이브러리는 Java 객체를 JSON으로 변환하.. JAVA 2023. 1. 13. 객체지향 프로그래밍 - 클래스(Class)와 객체(Object) // (개발자 기초용어) *알기쉽게 정리 객체지향 프로그래밍이란? 실제 사물의 속성과 기능을 분석한 후 이것을 프로그래밍의 변수와 함수로 정의함으로써 실제 세계를 최대한 컴퓨터 프로그래밍에 반영하고자 한 시도라고 볼 수 있다. 장점 쉽게 말하자면 코드 간의 관계 설정을 통해서 적은 노력으로 쉽게 코드를 변경할 수 있게 하는 것이다. -> 결과적으로 프로그램 개발 및 유지 보수에 드는 비용과 시간을 획기적으로 줄일 수 있고, 객체를 통해서 데이터를 관리하여 데이터를 손실 없이 관리하기에 용이하다. -> 더 쉽게 말하면 칼퇴 가능 ^^!! 헤헷 우선 클래스를 만들기 위해 필요한 필드(Field)와 메서드(Method), 생성자가 필요하게되는데 그중 이번 포스팅에서는 클래스, 객체내용을 정리해 볼게용! :) 지금부터 나오는 내용은 너무나도 기초적인 .. JAVA 2022. 12. 27. StringBuffer 와 String 의 차이점? 이번 포스팅에서는 StringBuffer와 String의 차이점을 알아보려고 합니다! 1.StirngBuffer와 String의 차이점 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("Hello"); stringBuffer.append(" "); stringBuffer.append("I am min"); System.out.println(stringBuffer .toString()); // 출력 : Hello I am min 이와같은 예제가 있다고 할 때에 위의 2번째 줄 코드를 보면 .append()는 Stirng의 문자열 덧셈과 크게 다른점이 없어 보이는데요.. 하지만 내부적인 메모리 관점에서 보면 String의 문자열 덧셈 .. JAVA 2022. 12. 26. 이전 1 2 3 4 다음