본문 바로가기
728x90

분류 전체보기198

[Spring] 세션(Session), 쿠키(Cookie), 캐시(Cache) 세션(Session), 쿠키(Cookie), 캐시(Cache)는 모두 웹 개발에서 사용되는 기술이며 사용자의 경험을 향상시키고 웹 애플리케이션의 성능을 최적화(응답 속도를 빠르게 하고 서버 부하를 줄일 수 있음)하기 위해 사용된다. 이들은 모두 통합해서 "웹 상태 관리 기술"이라고 할 수 있다. 웹 상태 관리 기술은 클라이언트와 서버 간의 상태를 유지하고 추적하기 위해 사용된다. 세션(Session) 세션은 클라이언트와 서버 간의 상태를 유지하고 정보를 보호하기 위해 사용된다. 클라이언트가 웹사이트를 접속하면 서버는 그 클라이언트에서 고유한 식별자인 세션 ID를 부여한다. 이 세션 ID를 통해 서버는 그 클라이언트의 상태를 유지할 수 있다. 우리가 로그인을 하면 세션을 통해 그 사용자가 로그인을 한 상태.. 2023. 7. 5.
[Spring] 스프링 빈(Bean)이란? 빈(Bean)은 스프링 프레임워크에서 관리되는 객체를 말한다. 빈은 스프링 컨테이너에 의해 생성, 관리 및 조립되며, 애플리케이션의 다양한 구성 요소로 사용된다. 일반적으로 자바 클래스를 빈으로 등록하여 사용한다. 이렇게 등록된 빈은 스프링 컨테이너에서 생성되고, 필요한 곳에서 사용할 수 있다. 빈을 등록하려면 해당 클래스에 @Component, @Service, @Repository, @Controller 등의 어노테이션을 사용하면 된다. 이 어노테이션들은 스프링이 제공하는 어노테이션으로, 각각 컴포넌트, 서비스, 레포지토리, 컨트롤러 등의 역할을 나타낸다. 스프링 어노테이션 정리: https://hanav.tistory.com/191 Spring 아노테이션 정리 @Component: 스프링의 컴포넌트.. 2023. 7. 5.
[Java] 실수를 나타내는 double, float, decimal의 차이점 decimal, float, 그리고 double은 실수를 표현하는 데이터 타입이지만, 그들 간에는 몇 가지 중요한 차이점이 있다. 정확성 decimal은 정확한 십진법(decimal system) 숫자를 나타낼 수 있다. 따라서 금융 분야와 같이 정확한 소수 계산이 필요한 경우에 적합하다. 반면에 float와 double은 부동 소수점(float-point) 타입으로, 근사치로 숫자를 표현한다. 표현 범위 decimal은 큰 숫자와 작은 숫자를 모두 정확하게 표현할 수 있는 데 반해, float와 double은 유효 숫자 범위에 제한이 있다. float는 대략 7자리의 유효 숫자를 가지며, double은 대략 15자리의 유효 숫자를 가진다. 메모리 사용 decimal은 정밀한 소수 계산을 위해 더 많은 .. 2023. 7. 5.
[Spring] JPA 란? @Component라는 어노테이션을 사용하지 않으면 그 클래스는 자동으로 빈으로 등록이 되지 않는다. 하지만 내 기억에는 Entity 클래스에서 @Component라는 어노테이션을 쓰지 않았는데 의아해서 찾아보니, 부끄럽게도 내가 JPA에 대한 기본 개념과 어노테이션을 깊게 이해하고 있지 못했다고 생각이 들어서 뒤늦게 정리해보았다. JPA란? JPA는 Java Persistence API의 약자로, 자바에서 관계형 데이터베이스와 객체를 매핑하고 조작하기 위한 표준 인터페이스이다. JPA는 자바로 RDBMS를 다루는 데 도움을 주기 위해 개발되었으며, 개발자가 별도의 SQL 쿼리를 작성하지 않고도 데이터베이스 조작을 수행할 수 있도록 도와준다. 또한, JPA는 여러 구현체가 존재하며, 가장 널리 사용되는 .. 2023. 7. 5.
[Spring] Spring 아노테이션 정리 @Component: 스프링의 컴포넌트 스캐닝에 의해 빈으로 등록될 클래스를 나타낸다. @Controller: 스프링 MVC에서 컨트롤러 클래스를 나타낸다. HTTP 요청을 처리하고 응답을 반환하는 역할을 한다. @Service: 비즈니스 로직을 수행하는 서비스 클래스를 나타낸다. 주로 트랜잭션 관리 등의 기능을 제공한다. @Repository: 데이터 접근 계층의 클래스를 나타낸다. 주로 데이터베이스와의 상호작용을 담당하며, 예외 처리 등의 기능을 제공한다. @Configuration: 스프링 빈을 정의하는 설정 클래스를 나타낸다. @Bean 어노테이션을 사용하여 빈을 생성하고 구성한다. @Autowired: 의존성 주입(Dependency Injection)을 수행한다. 해당 필드, 생성자, 메서드 .. 2023. 7. 5.
수직 확장(Vertical Scaling)과 수평 확장(Horizontal Scaling) (스케일인, 스케일 아웃) 수직 확장(Vertical Scaling) = 스케일 인(Scale in) 수직 확장은 애플리케이션 또는 시스템의 성능을 개선하기 위해 단일 서버의 리소스(CPU, 메모리, 디스크 용량)를 증가시키는 방식이다. 즉, 기존의 서버를 더 강력한 사양의 서버로 교체하거나 리소스를 추가하여 서버의 성능을 향상시키는 것을 의미한다. 수직 확장은 주로 서버 업그레이드를 하거나 리소스를 추가해서 이루어진다. 수평 확장(Horizontal Scaling) = 스케일 아웃(Scale out) 클라우드 환경에서의 수평 확장은 애플리케이션 또는 시스템의 성능과 처리 능력을 향상시키기 위해 리소스의 용량을 증가시키는 개념이다. 기존의 수직 확장(Vertical Scaling)과 대비되며, 다수의 서버 인스턴스를 추가하거나 리.. 2023. 7. 5.
[프로그래머스] 체육복 / 가장 가까운 같은 글자 (Java) 1. 체육복 코딩테스트 연습 - 체육복 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; //가지고 있는 체육복 수로 배열을 새로 만들자 int[] clothCount = new int[n]; //처음에는 모두 1개의 체육복을 가지고 있다고 가정 //lost와 같으면 -1 //reserve와 같으면 +1 for.. 2023. 7. 3.
[Spring] DTO와 Entity, 왜 분리해서 사용할까? 프로젝트를 하다가 controller에서 reviewCheck 라는 값을 Y로 변경시켜야하는 코드를 보다가 든 의문이다. //Controller //리뷰 등록 여부 체크 service.regReviewCheck(reviewDTO); //ServiceImpl //리뷰 등록 여부 체크 @Override public void regReviewCheck(ReviewDTO reviewDTO) { Optional registerEntity = registerRepository.findByUseridAndClassCode(reviewDTO.getUserid(), reviewDTO.getClassCode()); RegisterEntity register = registerEntity.get(); register.set.. 2023. 6. 29.
728x90

"); wcs_do();