본문 바로가기

전체 글

(404)
[Java] Math.pow() 거듭 제곱 구하기 Math.pow() : 대상숫자를 지수만큼 제곱한 값을 반환하는 함수 : Math 클래스의 함수 중 하나 사용 방법 Math.pow(밑, 지수) int result = Math(4,3); //4의 세제곱을 의미 System.out.println("4의 세제곱 : " + result); 참고) 반복문을 이용하여 제곱을 구할 수도 있음 (지수가 커질수록 복잡해짐) int a = 4; //밑 int b = 3; // 지수 int result = 0; for(int i = 0; i
[Java] Math.abs() 절댓값 구하기 Math.abs() : 인자값에 대한 절댓값을 반환하는 함수 : Math 클래스의 함수 중 하나로 static 함수 사용 방법 Math.abs(숫자 혹은 숫자변수) 타입 : int, float, double, long 등 숫자타입만 가능 int num1 = -1; System.out.println(Math.abs(num1)); int num2 = 1; System.out.println(Math.abs(num2)); double doubleNum1 = -3.14; System.out.println(Math.abs(doubleNum1)); //출력결과 1 1 3.14 참고) if문을 활용해도 절댓값 출력이 가능함 int num1 = -1; if(num1
[Spring Core] 빈 스코프(Bean Scope) * 스프링은 기본적으로 모든 bean을 singleton으로 생성하여 관리함 Scope Description Singleton (Default) 각 Spring 컨테이너에 대한 단일 객체 인스턴스에 대한 단일 bean definition의 범위를 지정 prototype 스프링 컨테이너는 프로토타입 빈의 생성과 의존 관계 주입까지만 관여하고 더는 관리하지 않는 짦은 범위의 스코프 request 웹 요청이 들어오고 나갈때까지 유지되는 스코프 session 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 application 웹의 서블릿 컨텍스와 같은 범위로 유지되는 스코프 websocket 단일 bean definition 범위를 WebSocket의 라이프사이클까지 확장. Spring Application..
[Spring Core] 빈(Bean) 빈(Bean) : 스프링 컨테이너(Spring Container)에 의해 관리되는 재사용 소프트웨어 컴포넌트(자바 객체) : 인스턴스화된 객체를 의미 : 스프링 컨테이너에 등록된 객체를 스프링 빈(Spring Bean)이라 하며, @Bean이 적힌 메서드를 모두 호출해 반환된 객체를 등록함 : 클래스의 등록정보, getter/setter 메서드를 포함 : 컨테이너에 사용되는 설정 메타데이터(XML, 자바 애너테이션, 자바 코드로 표현되며 컨테이너 명령과 인스턴스화, 설정, 조립할 객체를 정의)로 생성 Bean 접근 방법(Bean 검색 방법) - ApplicationContext 사용을 통해 bean 정의를 읽고 엑세스가 가능함 (ApplicationContext에는 bean을 가져오는 몇가지 방법 존재)..
[Spring Core] 스프링 컨테이너(Spring Container), 스프링 컨텍스트(Spring Context) 컨테이너 : 내부에 또 다른 컴포넌트를 가지고 있는 어떤 컴포넌트를 의미 : 객체를 생성하고 객체를 서로 연결함 : 객체를 설정하는 단계를 지나 마지막으로 생명주기 전반(생성~관리~소멸)을 관리함 : 객체의 의존성을 확인해 생성한 뒤 적절한 객체에 의존성을 주입함 : 스프링은 스프링 컨테이너를 통해 객체를 관리 : 스프링 컨테이너에서 관리되는 객체를 빈이라고 함 @Configuration : 구성정보를 담당하는 것을 설정할때 붙여줌 @Bean: 각 메서드에 붙여 스프링 컨테이너에 자동으로 등록 스프링 컨테이너(Spring Container) : 스프링 프레임워크의 핵심 컴포넌트로 내부에 존재하는 애플리케이션 빈의 생명주기를 관리(Bean 생성, 관리, 제거 등의 역할을 담당) What(스프링 컨테이너란?..
[Spring Core] Spring Boot Spring 구성은 Spring에게 맡기고 비즈니스 로직에만 집중하자 - Spring Boot의 핵심 컨셉 - Spring Boot란? : Spring Framework의 편리함에도 불구하고 Spring 설정의 복잡함으로 인해 Spring 기반 애플리케이션 개발을 시작하기도 전에 어려움을 겪는 문제점을 해결하기 위해 생겨난 Spring Project 중 하나 [Spring Boot 사용 이유] 1. XML 기반의 복잡한 설계 방식 지양 2. 의존 라이브러리의 자동 관리 : starter 모듈 구성 기능을 통해 의존 라이브러리를 수동으로 설정할 필요가 없음 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' imp..
아키텍처(Architecture) - 시스템/소프트웨어/애플리케이션 아키텍처(Architecture) : 건축 분야에서 오래된 용어로써 요구사항을 만족하는 건물을 짓는데 있어서 청사진 같은 역할을 함(건물의 구조물에 대한 컨셉을 잡는 것) : 어떠한 시스템을 구축하는데 있어 해당 시스템의 비즈니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것 [시스템 아키텍처] 시스템 아키텍처(System Architecture) : 하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 전체적인 구성을 큰 그림으로 표현 -> 기본적으로 해당 시스템이 어떤 하드웨어로 구성되고, 어떤 소프트웨어를 사용하는지 알 수 있음 -> 구성 요소들 간의 상호작용이 어떻게 이루어지는지 등 시스템이 정상적으로 동작하기 위한 동작 원리 등이 표현됨 [소프트웨어 아키텍처 / 애플리케이션 아키텍처] 소..
[Spring Core] 아키텍처로 보는 Spring Framework Module 구성 모듈(Module) : 지원되는 여러가지 기능들을 목적에 맞게 그룹화하여 묶어 놓은 것 : Java 패키지 단위로 묶여 있으며, 이 패키지 안에는 관련 기능 제공을 위한 클래스가 포함됨 : 재사용 가능하도록 라이브러리 형태로 제공되는 경우가 많음 * Spring Framework에서 약 20여개의 모듈을 통해 다양한 기능들을 제공하며, 다양한 아키텍쳐 역시 확인이 가능함 아키텍처에 대한 정리 https://kcode-recording.tistory.com/48 아키텍처(Architecture) - 시스템/소프트웨어/애플리케이션 아키텍처(Architecture) : 건축 분야에서 오래된 용어로써 요구사항을 만족하는 건물을 짓는데 있어서 청사진 같은 역할을 함(건물의 구조물에 대한 컨셉을 잡는 것) : 어떠..