배운것

라이브러리를 VO에서 직접 의존하지 말자

Repository를 VO에 주입하지 마라

모바일 앱에서 CSS를 로딩하지 못해서 깨지는 현상이 있었다

  • css를 로딩하는 주소에 쿼리 파라미터를 붙여서 앱에서 새롭게 css를 로딩하도록 코드를 수정했다.

타임리프의 조건문에 조건을 2개 사용하는 방법과 String 공백 체크하기

1<th:block th:if="${status.last && not #strings.isEmpty(goodsDetail.goodsImageContent)}">

th:text를 사용했을때 inner HTML이 덮어쓰기 되는 현상을 해결한다

  • 여기 링크를 통해서 해결했다.
    • th:inline이 어떤 역할을 하는지 찾기
    • [[ ]]가 무슨 역할을 하는지 찾기

GTM에서 테스트가 정상 수행되더라도 GA에선 집계가 늦을 수 있다.

  • GTM에서 테스트가 정상적으로 되더라도 GA에는 집계가 늦을 수 있다. 다음날 올바르게 집계되었는지 확인하는게 좋다.

Lombok의 Getter 사용시 Boolean과 boolean의 메소드 명이 다르다.

lombok 이 boolean 이냐 Boolean 이냐에 따라 getter naming 하는 방식이 다르다

필드명을 is 로 지을 경우, 캐싱할때 조심해야 합니다. https://projectlombok.org/features/GetterSetter

For boolean fields that start with is immediately followed by a title-case letter, nothing is prefixed to generate the getter name.
Any variation on boolean will not result in using the is prefix instead of the get prefix; for example, returning java.lang.Boolean results in a get prefix, not an is prefix.

The valid characters are defined in RFC 7230 and RFC 3986

아래 답변을 보면 tomcat 8.5 이상에서 대괄호를 사용하면 위 에러가 발생한다고 합니다.

https://stackoverflow.com/questions/54287922/the-valid-characters-are-defined-in-rfc-7230-and-rfc-3986

대괄호를 허용하도록 tomcat 설정이 되어 있는 상태이며 아무래도 대괄호 외에 또다른 특수문자에 의해서 에러가 발생하는 걸로 보인다

토막 지식

  • Query String외에 hashtag를 통해서 url에서 정보를 가져올 수 있다 (hash가 변경 되었을때 발생하는 전용 이벤트가 있다)
  • groovy 기반의 테스트 프레임워크로는 Spock이 있다.
  • spring-boot-autoconfigure 의존성을 확인해보면 default 설정 위치를 알 수 있다.
  • JPA에서 만들어둔 QueryHint 어노테이션은 SQL의 실행 계획을 조작하는 Query Hint뿐만아니라 단순한 주석도 포함한 개념이다
  • ThreadPoolExecutor를 통해서 Tomcat이 외의 쓰레드 풀을 생성할 수 있다. 링크

공부할 것들

  • @Cacheable 사용방법과 파라미터의 의미
  • CachingConfigurer의 사용방법을 알아보자