성장일기

내가 보려고 정리하는 공부기록

분류 전체보기 174

[Spring] 3. 싱글톤 컨테이너 - 스프링 핵심원리 기본편

인프런 김영한 강사님의 스프링 핵심원리 강의를 듣고 정리하고자 한다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 강의 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com 오늘의 주제는 싱글톤 컨테이너이다. 싱글톤 패턴 스프링 애플리케이션은 대부분 웹 애플리케이션이고, 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 그런..

백엔드/스프링 2024.02.05

[Spring] 2. 스프링으로 전환하기 (스프링 빈, 스프링 컨테이너) - 스프링 핵심원리 기본편

인프런 김영한 강사님의 스프링 핵심원리 강의를 듣고 정리하고자 한다. 목차는 다음과 같다. 스프링 컨테이너와 스프링 빈 스프링 빈 조회 1. 스프링 컨테이너와 스프링 빈 지난 게시글에서는 순수한 자바 코드를 이용해서 DI를 적용했다. / import 생략 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl( memberRepository(), discountPolicy()); } @Bean..

백엔드/스프링 2024.02.05

[백준] 10815 : 숫자 카드 (List와 Set의 Contains()) - JAVA

백준 단계별 문제풀이 14단계 (집합과 맵) https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net # 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. # 예제 입력 : 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주..

[백준] 10845 : 큐 (Queue와 ArrayDeque) - JAVA

https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net # 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1,..

[백준] 18870 : 좌표압축 (Hashmap과 Map) - JAVA

백준 단계별 문제풀이 13단계 (정렬) https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net # 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'..

[백준] 1181 : 단어 정렬 (Comparator, compareTo) - JAVA

백준 단계별 문제풀이 13단계 (정렬) https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net # 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. # 예제 입력 : 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루..

[백준] 11650 : 좌표 정렬하기 (Comparator<int[]> 이차원배열 정렬) - JAVA

백준 단계별 문제풀이 13단계 (정렬) https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net # 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. # 예제 입력 : 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 y..

[백준] 10989 : 수 정렬하기 3 (Counting sort) - JAVA

백준 단계별 문제풀이 13단계 (정렬) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net # 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. # 예제 입력 : 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수 10 5 2 3 1 4 2 3 5 1 7 출력 1 1 2 2 3 3 4 5 5 7 # 필요개념 이 문제는 시간 제한..

[Spring] 1. 순수 자바로 설계하기 - 스프링 핵심원리 기본편

인프런 김영한 강사님의 스프링 핵심원리 강의를 듣고 정리하고자 한다. 프로그램을 만들 때, 요구사항을 보고 설계를 하듯이 이 강의도 요구사항을 읽고 설계하여 구현하는 방식으로 수업이 진행된다. 순서는 대략 아래와 같이 진행되었다. 요구사항 보고 대략 구조짜기 자바로 구현하기 Spring 입히기 해당 게시글에서는 순수 자바로 구현하는 것까지만 작성해 둘 예정이다. 1. 요구사항 보고 구조짜기 & 다이어그램 그리기 요구사항을 읽어보고 확정 되지 않은 조건은 인터페이스만 설계해 둔다! 추후에 구현하면 되기 때문에 인터페이스만 잘 설계해도 괜찮다. 수업에서 진행한 설계에서는 회원데이터가 자체DB를 구축할지 외부 시스템을 연동할지 확정이 나지 않은 상황이었기 때문에 회원 저장소를 인터페이스로 설계해두고 자체DB와..

백엔드/스프링 2024.01.29

[Spring] 0. 객체지향설계와 스프링

최근 백엔드 공부를 시작하면서 인프런 김영한 강사님의 스프링 핵심원리 강의를 듣기 시작했다. 그에 대한 내용을 정리해보려고 한다. ✅ Spring spring은 자바 기반의 오픈소스 프레임워크이다. 백엔드 공부를 시작하면서 자바 언어를 선택했으면 Spring과 SpringBoot는 공부해야 한다는 말을 정말 많이 들었는데, 이걸 왜 공부해야할까 ? ✅ 스프링의 핵심 자바 언어의 가장 큰 특징은 객체지향언어 라는 점이다. 그래서 우리는 객체지향언어의 장점을 최대한 살려 프로그래밍을 해야하는데, 이때 객체지향언어의 특징을 잘 살려주는 프레임워크가 스프링이다! 스프링은 좋은 객체지향 애플리케이션을 개발할 수 있도록 도와주는 프레임워크이다. 그럼 여기서 좋은 객체 지향 프로그램은 무엇일까 ? ✅ 좋은 객체 지향..

백엔드/스프링 2024.01.28
728x90