DI(Dependency Injection, 의존성 주입)는 스프링 프레임워크의 네 가지 특징 중 하나이다. 이전 글에서 다룬 적이 있지만, 간략하게 요약하면 다음과 같다. 2022.08.09 - [개발/Spring] - [Spring]Spring Framework, Spring Triangle [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 gnidinger.tistory.com DI는 객체 간의 의존관계가 소스코드 외부에서 설정에 의해 정해지는 방식을 뜻한다...
지난번 글에서 스프링 컨테이너에 빈을 등록하는 법에 대해 알아봤었다. 2022.08.12 - [개발/Spring] - [Spring]DI - 스프링 컨테이너(Container)와 빈(Bean) [Spring]DI - 스프링 컨테이너(Container)와 빈(Bean) 지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀 gnidinger.tistory.com 이번 글에선 그 방법들에 대한 부연설명과 자바를 기반으로 한 컨테이너 설정에 대해 더 알아본다. @ComponentScan @ComponentScan은 @Com..
지난 글에서 스프링은 스프링 컨테이너로 객체를 관리한다. 스프링 컨테이너에서 관리되는 객체를 빈(Bean)이라고 한다. BeanDefinition은 빈을 생성할 때 쓰이는 레시피이다. @Content, @Configuration, @Bean 등의 애너테이션을 통해 빈을 등록할 수 있다. 는 것에 대해 언급했다. https://gnidinger.tistory.com/454 [Spring]DI - 스프링 컨테이너(Container)와 빈(Bean) 지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀 gnidinger...
지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀어쓰면 의존성 주입이며, 객체 간의 의존관계가 소스코드 외부의 설정에 의해 정해지는 방식이라고 할 수 있다. https://gnidinger.tistory.com/450?category=992842 [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는..
스프링 부트는 스프링의 문제점이던 복잡한 세팅 문제를 해결하며 탄생한 스프링 프로젝트 중 하나다. 지난번 글에서 스프링 부트를 사용하면 코드가 얼마나 간결해지는지 알아봤었는데, https://gnidinger.tistory.com/450 [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 gnidinger.tistory.com 이번 글에선 다른 예를 들어서 간결함을 보기로 하자. 스프링 부트의 핵심 철학은 "구성은 Spring에게 맡겨버리고 비즈니스 로직에만 집중하자..
아키텍처(Architecture)는 건축학에서 따온 용어로서 '건축 양식'이라는 뜻을 가지고 있다. 건물을 짓기 전에 컨셉과 구조를 정하듯이, 프로그램에서도 전체 시스템 구조, 기능 등을 정의하는 것을 말한다고 할 수 있다. 조금 프로그래밍 적으로 말하자면, 사용할 프레임워크(앱의 구조 결정)와 그 사용 전략을 결합하여 결정하는 것이라 할 수 있다. Architecture = Structure + Framework 아키텍처에 따라 프레임워크가 달라질 수 있으며, 그 반대도 가능하다. 아키텍처는 모든 사람이 볼 수 있게 가능하면 간략히, 그러나 모든 정보를 담을 수 있게 만드는 것이 중요하다. 계속해서 아키텍처의 종류인 시스템 아키텍처, 소프트웨어 아키텍처에 대해 알아보자. 1. 시스템 아키텍처(Syste..
Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 표준프레임워크의 기반 기술로도 쓰이도 있다. 엔터프라이즈급 애플리케이션 - 기업을 대상으로 하는, 대규모 데이터와 트랜잭션 처리가 이루어지는 앱 Framework(프레임워크) 특정 목적을 위해 설계된 구조 혹은 뼈대 소프트웨어의 설계와 구현을 위해 재사용이 가능한 일련의 클래스와 라이브러리를 제공하는 것 앱 개발을 위한 기초 프로그램이자 반제품 Framework = Design Pattern(재사용 가능한 솔루션) + Library, 즉 라이브러리를 포함한 개념 Library와 Framew..
멱집합은 주어진 집합의 모든 부분집합들로 이루어진 집합이다. 예를 들어 A = {1, 2}라고 하면 A의 부분집합은 ∅(공집합), {1}, {2}, {1, 2}의 네 개다. 이때 A의 멱집합은 {∅, {1}, {2}, {1, 2}}가 된다. n개의 원소를 가진 집합의 부분집합은 2^n 개이므로, 멱집합의 원소의 개수도 2^n개가 된다. 자바에서 멱집합을 구현할 때는 Stack과 재귀 함수를 이용하면 간단하게 작성할 수 있다. import java.util.Stack; public class PowerSet2 { public static void main(String[] args) { char[] characters = {'a', 'b', 'c'}; // 멱집합을 구할 집합 Stack stack = new..
유클리드 호제법은 두 양의 정수, 혹은 다항식의 최대공약수를 구하는 알고리즘이다. 기원전 300년에 그리스의 수학자 유클리드에 의해 기술된 이 알고리즘은 인류 최초의 알고리즘이라는 호칭도 가지고 있다. 그 내용은 다음과 같다. 유클리드 호제법 두 양의 정수 a, b(a > b)에 대하여 a = bq + r (0 ≤ r < b)이라 하면, a, b의 최대공약수는 b, r의 최대공약수와 같다. 즉, gcd(a, b) = gcd(b, r)이다. 이때 r = 0이라면, a, b의 최대공약수는 b가 된다. 쉽게 말하면 큰 숫자를 작은 숫자로 나누고, 그 나머지로 작은 숫자를 나누는 계산을 나머지가 0이 될 때까지 반복하는 것이다. 예를 들어 1096과 411의 최대공약수를 구한다고 해보자. 첫 계산은 다음과 같다..
자바에서 정렬을 하려면 Arrays 클래스가 import 되어야 한다. import java.util.Arrays; 오름차순 정렬의 경우 문자열이나 정수형이나 같은 방법을 이용한다. int[] arr = {3, 7, 4, 1, 0, 6}; String[] arr2 = {"AD", "GA", "ET", "BX", "GY"}; Arrays.sort(arr); Arrays.sort(arr2); System.out.println(Arrays.toString(arr)); System.out.println(Arrays.toString(arr2)); // 출력 결과 [0, 1, 3, 4, 6, 7] [AD, BX, ET, GA, GY] 내림차순 정렬의 경우엔 문자열과 정수형의 방법이 다르다. 정수형의 경우 Integ..
- Total
- Today
- Yesterday
- 유럽여행
- 지지
- 파이썬
- 기술면접
- 백준
- 중남미
- a6000
- 맛집
- RX100M5
- 스프링
- 칼이사
- 알고리즘
- Backjoon
- 스트림
- 유럽
- 면접 준비
- 동적계획법
- 세계여행
- 세모
- spring
- 남미
- Python
- 세계일주
- 자바
- Algorithm
- 야경
- 리스트
- 여행
- java
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |