스프링 부트 스프링 부트는 스프링을 쉽게 제공하기 위해 제공되는 툴이다. 참고로 스프링이란 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크다. 스프링 부트가 제공하는 3가지 큰 영역 빌드 : 프로젝트 생성, 의존성 관리, 애플리케이션 패키징 및 실행 코딩 : 개발 툴 제공, 자동 설정, 외부 설정 배포 및 관리 : 도커 이미지 생성, Actuator, 스프링 부트 어드민 빌드 프로젝트 생성 https://start.spring.io/ 여기에서 스프링 프로젝트를 만든다. 들어가면 다음과 좌측면에 같은 화면이 나온다. 스냅샷(SNAPSHOT)은 개발 중인 버전. 가급적이면 사용하지 말자. M(Milestone) 버전 배포는 했지만 바뀔 수 있는 버전. 공부하지 않는 이상 사용하..
2023.02.13 복습 및 정리 실습 레포는 아래와 같습니다. https://github.com/happysubin/book-study/tree/main/%ED%86%A0%EB%B9%84%EC%9D%98%20%EC%8A%A4%ED%94%84%EB%A7%81 이번 포스팅은 토비의 스프링 3.1 1장에 관한 학습 기록입니다. 1장 도입부 자바는 객체지향 언어다. 우리가 학습하는 스프링은 자바를 기반으로 한 프레임워크다. 자바를 기반으로 만들어진 기술, 스프링이 제일 중요하게 여기는 핵심 가치는 바로 객체지향적인 프로그래밍이다. 그러므로 스프링은 오브젝트(객체)에 제일 관심을 많이 둔다. 오브젝트 간의 관계에 집중하며, 라이프 사이클에 집중한다. 더 나아가서는 오브젝트 설계, 어떤 단위로 만들어지는지까지 관..
ThreadLocal 쓰레드 로컬은 해당 쓰레드만 접근할 수 있는 특별한 저장소다. 쓰레드 로컬을 사용하면 각 쓰레드마다 별도의 내부 저장소를 제공한다. 따라서 같은 인스턴스의 쓰레드 로컬 필드에 접근해도 문제 없다. 여러 쓰레드가 같은 인스턴스의 멤버 변수에 접근하면 처음 쓰레드가 보관한 데이터가 사라질 수 있는데, 이런 경우 쓰레드 로컬을 사용하면 데이터를 안정적으로 접근하고 사용할 수 있다. thread-A 가 userA 라는 값을 저장하면 쓰레드 로컬은 thread-A 전용 보관소에 데이터를 안전하게 보관한다. thread-B 가 userB 라는 값을 저장하면 쓰레드 로컬은 thread-B 전용 보관소에 데이터를 안전하게 보관한다. 자바는 언어차원에서 쓰레드 로컬을 지원하기 위한 java.lang..
아래는 문제 링크입니다. https://programmers.co.kr/learn/courses/30/lessons/42746?language=java 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 이번 문제를 풀면서 또다시 느꼈다. 문제를 난잡하게 풀고 있으면, 웬만하면 잘못된 풀이란 것을.. 문자열로 받아서 Comparable을 구현하는 클래스를 만들어 정렬을 하려고 했다. 웬걸 이런 방식으로 하니 자릿수마다 멤버 변수를 만들고, 이 자리에..