본문 바로가기

Springboot

(7)
Your local changes to the following files would be overwritten by merge: 해결방법 1. 로컬 변경사항 임시 저장하기  $ git stash 2. 병합 수행하기  $ git pull origin dev 3. 임시 저장된 변경 사항 복원하기 $ git stash pop
AWS # Identity and Access Management IAM 소개  - AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 IAM 을 사용하면 AWS에서 사용자, 그룹 및 역할을 생성하고 관리하여 리소스에 대한 세스를 안전하게 제어할 수 있다 IAM을 사용하면 다음과 같은 보안 기능을 수행할 수 있다.인증: IAM을 사용하여 사용자가 AWS 리소스에 액세스할 때 사용자 이름과 암호를 요청하여 인증할 수 있습니다.권한 부여: IAM을 사용하여 사용자, 그룹 또는 역할에 대한 권한을 지정할 수 있습니다. 권한은 AWS 리소스에서 수행할 수 있는 작업을 나타내며 IAM 정책을 사용하여 지정할 수 있습니다.권한 검증: IAM을 사용하여 사용자가 AWS 리소스에 대한 액세스를 요청할 때 요청이 인증된 사용자에게 허용되는지 여부를 결정할 수 있습니다. ..
QueryDSL, Auditing, Dynamic Insert/Update QueryDSL : Entity 의 매핑정보를 활용하여 쿼리에 적합하도록 쿼리 전용 클래스(Q클래스)로 재구성해주는 기술 - JPAQueryFactory 을 통한 Q클래스를 활용할 수 있는 기능들을 제공 JPAQueryFactory : 재구성한 Q클래스를 통해 문자열이 아닌 객체 또는 함수로 쿼리를 작성하고 실행하게 해주는 기술 @PersistenceContextEntityManager em; public List selectUserByUsernameAndPassword(String username, String password){ JPAQueryFactory jqf = new JPAQueryFactory(em); QUser user = QUser.user; List userList = jpf ...
테이블 객체 만들기 실제 데이터베이스 테이블과 매핑되는 Java 객체를 생성하는 방법 Entity 코드 정리Intellij Live Template 사용 추천-> Settings > Editor > Live Templates User Entity 만들어보기 - id, username, password 를 가지는 User Entity를 만들면// User.java// lombok@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@ToString// jpa@Entity@Table(name = "users")public class User { /** * 컬럼 - 연관관계 컬럼을 제외한 컬럼을 정의합니다. */ @Id @GeneratedValue(strategy = ..
쿼리 파일 만들기 (QueryMapper) Query Mapper를 사용하여 SQL 쿼리를 관리 별도의 쿼리 파일을 통해 SQL을 관리함으로써 코드의 가독성과 유지보수성을 높인다 MyBatis- RowMapper가 가지고 있는 단점인 "반복적인 코드"를 줄이고 "함께있는 프로그램 코드와 쿼리 코드를 분리하여 관리"하고 싶은 니즈를 반영하여 탄생 MyBatis 특징 jdbc로 처리하는 코드의 설정(Connection) 부분을 줄이고 실제 sql문에 연결함으로서 빠른 개발이 가능하게 한다. (SQL Mapper 특징)MyBatis 코드는 map 인터페이스(또는 클래스)와 SQL 쿼리와 ResultSet 매핑을 위한 xml 및annotation을 사용한다.다른 방식에 비해 객체자체보다 쿼리에 집중할 수 있다.MyBatis 한계점결국 SQL을 직접 작성..
데이터베이스 연결(Driver) 드라이버의 역할 : 애플리케이션과 데이터베이스간의 통신을 중개하는 역할 ( 애플리케이션의 요청을 데이터베이스가 이해 할 수 있는 언어로 변환)드라이버의 종류ex) Oracle, MySQL, PostgreSQL 드라이버의 동작 방식연결 초기화요청 수신: 애플리케이션은 데이터베이스 작업을 시작하기 위해 드라이버에 연결을 요청합니다. 이는 마치 항공편✈️ 이 이륙 허가를 받기 위해 관제탑에 요청하는 것과 유사합니다.연결 설정: 드라이버는 데이터베이스 서버에 로그인하고 필요한 설정을 수행하여 연결을 완료합니다. 이 과정은 네트워크 정보, 인증 자격 증명 등을 사용하여 이루어집니다.SQL 전송 및 실행SQL 명령 변환: 애플리케이션에서 발송된 SQL 명령을 받은 드라이버는 해당 명령을 데이터베이스가 이해할 수 있..
Filter, Intercepter Filter는 Servlet이 제공하는 기능Intercepter는 Spring이 제공하는 기능 게시글 작성 Controller에서 로그인 여부를 체크하는 Logic을 작성하면?실제로는 수정, 삭제, 조회 등 모든 컨트롤러에 공통으로 로그인 여부를 체크해야 한다.로그인 로직이 변경될 때 마다 로그인 여부를 체크하는 Logic 또한 변경될 가능성이 높다.@Controller@RequestMapping("/post")public class PostController { @PostMapping("/") public void create(CreateRequestDto requestDto) { // 로그인 여부 확인 로직 } @PutMapping("/") public void update(UpdateRequest..