BE(24)
-
[Docker] tl;dr docker, docker-compose 설치하기
sudo apt-get update # 디펜던시 추가 sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release # public key 등록 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_rele..
2024.04.06 -
[EC2] AWS 프리티어에서 메모리 스왑 사용
본 포스팅은 ec2에서 hdd의 용량을 이용해 메모리로 전환시켜주는 메모리 스왑에 대해 다룹니다. ec2에서 프리티어등을 사용하게되면, 기본 제공 메모리가 1GB이기 때문에 메모리가 굉장히 부족합니다. 따라서 가용한 자원내에서 메모리를 늘려줄 수 있는 메모리 스왑을 사용할 수 있습니다. ec2 프리티어는 기본 메모리 제공이 1GB이기 때문에 아래의 명령어는 그 용량에 맞춰 2GB를 스왑하는 것을 기준으로 작성되었습니다. 아래의 명령어를 실행하면 메모리 스왑을 할 수 있습니다. sudo dd if=/dev/zero of=/swapfile bs=128M count=16 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile 부팅시 메모리 스..
2024.04.06 -
[EC2] contextLoads() FAILED 에러
본 포스팅은 spring boot 서버를 ec2에 배포하려고 할 때 발생하는 "contextLoads() FAILED" 에러에 대해 다룹니다. 문제상황 처음으로 ec2에 spring boot 서버를 배포하려고했을 때, "contextLoads() FAILED"와 같은 에러가 발생함. 해결방법 contextLoads 메소드는 test 코드에 있다는 것을 발견하고, 사용하지 않는 테스트 코드를 없애니 정상적으로 빌드가됨.
2024.03.11 -
[Spring JPA] 영속성 컨텍스트의 기능
본 포스팅은 영속성 컨텍스트의 4가지 기능을 다룹니다. 영속성 컨텍스트란? 영속성 컨텍스트는 Spring JPA의 Entity 객체를 관리하기 위해 만들어진 공간 영속성 컨텍스트에 저장하기 위해 Entity Manager 객체가 persist 메소드를 호출해야함. Entity Manager는 @PersistenceContext를 통해 의존성 주입을 받을 수 있음 영속성 컨텍스트에 저장한 후, commit메소드를 호출해야 db에 반영이됨. 트랜잭션이란? 트랜잭션은 DB 데이터들의 무결성과 정합성을 유지하기 위한 하나의 논리적 개념 여러 개의 쿼리들이 하나의 트랜잭션에 포함될 수 있고, 여러 개의 쿼리들을 모아 한 번에 db에 반영함. 모든 쿼리들이 성공적으로 수행되면 영구적으로 db에 변경을 반영하지만, ..
2024.03.07 -
[Spring Security] URI에 따라 접근 권한 부여하기 최신 버전
본 포스팅은 Spring Security에서 URI별로 접근 권한을 다르게 부여하는 최신 방법을 다룹니다. chatGPT에게 물어보면 아래와 같이 대답해줍니다. 하지만, 이는 deprecated된 방법이므로 최신 방법으로 사용해야합니다. 이전 방법 @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.sessionManagement((sessionManagement) -> sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .authorizeHttpRequests((authorizeHttpRequests) -..
2024.03.05 -
[Spring Security] 최신! 로그인 결과를 ResponseBody에 나타내는 법
본 포스팅은 Spring Security에서 로그인 결과를 ResponseBody에 나타내는 법을 다룹니다. 문제 상황 Spring Security를 이용하여 인증 및 인가를 진행하고, JWT를 인증방식으로 사용하여 UserDetails, UserDetailsService를 상속받아서 사용하고 있음. 아래와 같이 로그인을 구현할 때, Swagger ResponseBody에 아무것도 표현되지 않는 상태 @Operation(summary = "유저 로그인", description = "유저 로그인 사용할 정보를 입력합니다.") @PostMapping("/user/login") public ResponseEntity login(@RequestBody LoginRequestDto requestDto) { try..
2024.03.05