일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HashMap
- 배열
- 스프링부트
- docker
- 이직
- 프로그래머스
- HTTP
- 해시맵
- 주니어
- 코딩테스트
- Java
- 명령어
- Linux
- 스타트업
- 도커
- bfs
- 구름LEVEL
- 스프링
- dfs
- 인텔리제이
- IntelliJ
- 자료구조
- 백엔드
- 스프링 부트
- 문자열
- spring
- spring boot
- 개발자
- 구현
- 해결
- Today
- Total
목록spring (5)
마이의 개발 블로그
배경 ORM의 장단점을 알아보고, 어떤 상황에서 사용되는지 알아보려고 합니다. ORM의 장점 - 객체지향적 접근: 객체와 DB를 맵핑시켜 객체지향 언어로 DB를 조작할 수 있게 됩니다. - 추상화: DB를 추상화하여 접근하므로 구체적인 SQL 지식 없이 간편한 DB 조작이 가능해집니다. - 자동화: 반복적인 CRUD 작업을 자동화할 수 있습니다. 매번 직접 SQL을 작성할 필요가 없기 때문입니다. - 유지보수성 향상: DB 모델이 변경되거나 하는 경우 변경된 부분들에 대한 수정이 상대적으로 용이해집니다. - DB 독립성: ORM을 거쳐 DB에 접근하여 DB에 대한 의존도가 낮아집니다. 만약 DB 벤더가 변경되더라도 그에 따른 제반 작업(SQL 수정 등)을 할 필요가 없어집니다. - 성능 향상: 쿼리 최적..
배경 스프링 진영에서 ORM을 이야기할 때 함께 언급되는 키워드로 JPA, Hibernate, Spring Data JPA가 있습니다. 아래에서 이 네 가지의 개념에 대해 각각 알아보고, 관계를 간단하게 정리해보려고 합니다. ORM (Object Relational Mapping, 객체-관계 매핑) 객체(object)와 관계형(relational) 데이터베이스를 맵핑하는 프로그래밍 기법을 말하며, 객체지향 언어의 객체와 관계형 데이터베이스의 테이블 간의 매핑을 자동화하고 관리할 수 있게 해줍니다. ORM을 도입하면 개발자는 SQL 쿼리를 직접 작성할 필요 없이 이미 구현된 메서드를 통해 DB 조작을 수행할 수 있게 됩니다. JPA (Java Persistence API) 자바 진영의 ORM 표준 명세(s..
배경 JWT 보안 처리를 위한 필터체인 securityFilterChain를 구성 중 일부 코드가 동작하지 않아 동작하도록 고치는 과정에서 연속적으로 맞닥뜨리게 된 문제들이 있었다. 이를 해결하기 위해 꼬박 하루 이상의 시간을 사용했는데, 국내외를 막론하고 생각보다 문제에 대한 답을 제시해주는 포스트가 없기도 했고, 내가 평소에 개발을 하며 어떤 식으로 문제를 살펴보고 해결하는지를 기록으로 남겨두는 것도 좋을 것 같아 글을 쓰게되었다. 문제 1 - requestMatchers 메서드의 String 타입 사용 불가로 인한 컴파일 오류 메시지: cannot resolve method 'requestMatchers(String)' 기존에 사용된 antMatchers 메서드가 deprecated되어 reques..
문제 스프링부트를 공부하던 중 DevTools 의존성을 아래와 같이 추가했음에도 코드 변화를 감지하여 어플리케이션을 재시작하는 동작을 스프링이 수행하지 않는 문제가 발생했다. 기존에 사용했던 이클립스에서는 발생하지 않았던 문제로 인텔리제이만의 문제로 여겨져 검색하다가 해결방법을 찾아 공유한다. 해결 방법 인텔리제이 settings (Ctrl + Alt + S) - advanced settings - Allow auto-make to start even if developed application is currently running 항목에 체크 - 인텔리제이 종료 후 재시작 정상적으로 동작함을 확인했다.
Spring 공식문서 가이드를 훑어보는 중에 매번 Spring Initializer를 이용하여 프로젝트를 생성하는 건 너무 번거롭다고 판단되어 그때그때 필요한 의존성을 추가하고자 했다. 이전에 Maven 사용 시에는 필요한 의존성을 온라인에서 찾아 xml 문법으로 된 코드를 긁어와서 직접 붙여넣기도 했는데, 인텔리제이에서 좀 더 간편하게 사용하는 방법이 있어 기록을 남겨둔다. Gradle로 생성된 프로젝트를 기준으로 한다. 1. 프로젝트 폴더 최상단에서 build.gradle 파일 열기 2. dependencies에서 우클릭 - Generate - Add Dependency 3. 필요한 dependency 검색 후 add 4. 우측 Gradle 뷰에서 새로고침 버튼 클릭 - 우측에 없는 경우 상단 메뉴 ..