분류 전체보기

    [스프링] Build.Gradle & application.yml 관련 메모

    [스프링] Build.Gradle & application.yml 관련 메모

    1. 운영 서버와 테스트 서버의 DB 설정을 나누고 싶을 때 (1) 먼저 application.yml 에서 개발/운영 환경에 따라 DB 설정을 나눠준다. https://1minute-before6pm.tistory.com/12 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Config-Data-Migration-Guide#profile-groups (2) 그리고 나서 아래와 같이 Edit Configuraton의 Active prifiles를 설정한 profile 이름으로 바꾼다. ㄴ [추가] Build.Gradle 의존성에 대한 이해 - 너무나 복잡하게 profile을 쓰고 db를 application.yml에서 나눴는데, 그럴 필요가..

    [Transaction] Transaction에 대한 이해 (& 스프링의 @Transactionl)

    | 개요 - 서비스에서 @Transactional 을 사용할 때와 사용하지 않을 때 수정과 삭제 시 차이를 보이는 걸 경험했다. @Transactional update delete 사용 repository.save() 불필요 repository.delete() 시 삭제됨 미사용 repository.save() 필요 repository.delete() 시 삭제되지 않음 - 더불어 테스트에서 아래와 같이 @Transactional을 작성할 때, DB에 영구반영이 되지 않는 걸 확인했었다. // 아래는 TEST 코드 @SpringBootTest @Transactional public class JpaMemoRepositoryTest{ // 테스트 작성 } - 왜 그럴까? (1) 수정 시 save하지 않아도 수..

    [JSON 파싱] ObjectMapper, Simple-json

    1. ObjectMapper - Jackson 라이브러리를 활용한 것이라고 한다. - 수업에서는 test 코드를 작성할 때 ObjectMapper를 사용했다. https://why-dev.tistory.com/266 [스프링] Controller Test : Json-Path와 Jackson라이브러리 | 개요 - Controller Test에서는 URI를 통해 전송되는 HTTP 요청이 MVC 모델을 거친 후 응답하는 과정이 정상적인가를 확인한다. - 이 과정에서 스프링은 ObjectMapper를 통해 Json Object로 문자열을 파싱하는 J why-dev.tistory.com 2. simple-json 사용하기 - gradle의 경우 build.gradle에 아래를 넣어준다. implementatio..

    삭제 플래그는 언제 써야 할까?

    이 포스트를 DB 카테고리에 넣어야할지, REST API 카테고리에 넣어야할지 모르겠다. 갈 수록 카테고리들이 서로 연관되다보니 그냥 하나로 합쳐야하나 고민이 된다... 데이터를 삭제할 때에는 1. 논리 삭제 2. 물리 삭제 두 가지 방법을 사용할 수 있다. * 관련 포스팅 : https://server-engineer.tistory.com/323 링크에선 물리 삭제는 일반적으로 개인정보보호가 필요한 경우에 사용한다고 했는데, 실제로 현장에 있을 때 회원 정보와 같은 민감 정보는 법에 위촉되지 않는 선에서 약관에 따라 일정 기간 동안 가지고 있다가 시간이 지나면 영구 삭제하는 것으로 알고 있다. 논리 삭제는 플래그 변수를 디비에 하나 추가해서 이게 삭제된 것임을 알려주는 것인데, 전에 기획을 할 때 개발..

    [스프링] @AutoWired 동작 원리 및 DI injection 관련 설명 모음

    1. @AutoWired 동작원리 https://beststar-1.tistory.com/40 @Autowired의 동작원리 @Autowired란? 의존관계 주입(DI)을 할 때 사용하는 어노테이션(Annotation)이며, 의존 객체의 타입에 해당하는 빈(Bean)을 찾아 주입하는 역할을 한다. 💡 의존관계 주입에 대해서는 IoC(Inversion of Control, beststar-1.tistory.com 2. 생성자 주입과 관련한 설명 https://jackjeong.tistory.com/41 [Spring] 생성자 주입 vs 필드 주입 (@Autowired) 안녕하세요~ 잭코딩입니다! 이번에는 스프링 프레임워크에서 의존성을 주입하는 방법을 살펴보고 어떤 방식으로 주입하는 게 좋은지 살펴볼까요? ..

    Redis에 대한 정보 모음

    1. 레디스 개념 및 특징 https://www.youtube.com/watch?v=Gimv7hroM8A https://www.youtube.com/watch?v=mPB2CZiAkKM - 이탈리아의 한 해커가 MySQL 로 작업 중 DB 처리 속도가 너무 느린 것을 보고 레디스를 만들었다. - REDIS : Remote (외부에 있는) Dictionary (Key-Value형태) Server (서버) - 공식문서에 따르면, Redis는 인메모리 기반의 data structure store로, db/cache/message broker, streaming engine으로 사용될 수 있다고 한다. * 단, 많은 개발자들은 Redis를 Store가 아닌 Cache라고 분류한다. * Redis는 지속성을 보장하..

    Regex 정규 표현식 모음집

    자바 정규 표현식 문법 https://hbase.tistory.com/160 [Java] 정규표현식 사용법 및 예제 - Pattern, Matcher 자바에서 정규표현식(Regular Expression)'을 사용해보자. 1. 정규표현식(Regular Expression) 정규표현식 혹은 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어다. 정규 표현식은 hbase.tistory.com https://coding-factory.tistory.com/529 [Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제 정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형..

    [JPA] 인텔리J에서 JPA Entity 기반 ERD 그리기

    https://gmlwjd9405.github.io/2019/10/28/intellij-jpa-erd.html [IntelliJ] intellij에서 JPA Entitiy 기반의 ERD 그리기 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io

    [HTTP] @RequestParam vs @RequestBody

    [HTTP] @RequestParam vs @RequestBody

    | 개요 - @RequestParam, @RequestBody - @RequestParam은 URI를 통해서 넘겨 받는 값을 말하고, - @RequestBody는 Http body에 데이터를 묶어서 받는 값을 말한다. - 일반적으로 RequestParameter는 ?key=value와 같이 단일 데이터를 넘겨 받고, RequestBody는 x-www-form-urlencoded나 Json과 같이 특정 데이터 포맷으로 묶여서 담겨지는 경우가 많다. - Post 방식으로 넘겨 받는 URI 모습 *body 값으로 다양한 데이터 포맷이 존재하는 걸 볼 수 있다. | 실험 - POST 방식으로 Body에 담겨 넘어오는 데이터의 타입을 크게 두 가지로 분류해보았다. (물론 데이터 타입은 더 다양하다) 1) x-ww..