카페코더

고정 헤더 영역

글 제목

메뉴 레이어

카페코더

메뉴 리스트

  • GitHub
  • Programmers
  • Beakjoon Online Judge
  • LeetCode
  • 분류 전체보기 (80)
    • Springboot (1)
      • EXCELK's BLOG (1)
    • How To Java (41)
      • Java Tutorial (9)
      • Algorithm & Data_Structure (7)
      • Algorithm Problem Solution (14)
      • Development Environment (3)
      • For Better Developers (2)
      • Solve step by step (6)
    • 개인 공부 (33)
      • Database (4)
      • TDD (6)
      • Spring-boot,Java (16)
      • Frontend (5)
      • JavaScript (2)
      • Multi-Thread (0)
    • Interview (5)
      • Tech (5)
      • Personality (0)

검색 레이어

카페코더

검색 영역

컨텐츠 검색

분류 전체보기

  • 페이지 로딩속도 높이기

    2020.06.24 by 카페코더

  • 프론트엔드 라이브러리를 사용하는 방법

    2020.06.24 by 카페코더

  • Spring-boot HTML Test

    2020.06.24 by 카페코더

  • Controller로 mustache 파일 접근

    2020.06.24 by 카페코더

  • Mustache Template

    2020.06.24 by 카페코더

  • @WebMvcTest를 사용하면 안되는 경우

    2020.06.23 by 카페코더

  • JPA Auditing

    2020.06.23 by 카페코더

  • LocalDate와 LocalDateTime

    2020.06.23 by 카페코더

페이지 로딩속도 높이기

{{>layout/header}} 스프링 부트로 시작하는 웹 서비스 {{>layout/footer}} 코드를 보면, css와 js의 위치가 서로 다르다. 페이지 로딩속도를 높이기 위해 css는 header에, js는 footer에 둔다. HTML은 위에서부터 코드가 실행되기 떄문에, head가 다 실행되고서야 body가 실행된다. 즉, head가 다 불러지지 않으면 사용자 쪽에선 백지 화면만 노출된다. 특히 js의 용량이 크면 클수록 body부분의 실행이 늦어지기 때문에 js는 body하단에 두어 화면이 다 그려진 뒤에 호출하는 것이 좋다. 반면, css는 화면을 그리는 역할이므로, head에서 불러오는 것이 좋다. css가 늦게 호출된다면, 사용자는 css가 적용되지 않은 깨진 화면을 볼 수 있기 때문..

개인 공부/Frontend 2020. 6. 24. 18:25

프론트엔드 라이브러리를 사용하는 방법

부트스트랩, 제이쿼리 등 프론트엔드 라이브러리를 사용하는 방법은 크게 2가지다. 그 2가지에 대해 포스팅한다. 1. 외부 CDN을 사용 실제 서비스에서는 이 방법을 잘 사용하지 않는다. 이유는 장, 단점으로 서술하겠다. 장점 프로젝트에 직접 내려받아 사용할 필요가 없다. 사용 방법도 HTML/JSP/Mustache에 코드만 한 줄 추가하면 될 정도로 간단하다. 단점 실제 서비스에서 이 방법을 잘 사용하지 않는 이유다. 외부 서비스에 우리 서비스가 의존하게 되어버린다. CDN을 서비스하는 곳에 문제가 생기면, 덩달아 같이 문제가 생긴다. 2. 직접 라이브러리를 받아 사용한다. 장점 높은 재사용성 CDN의 단점 방지 단점 라이브러리를 사용하는데 지식이 필요하다.

개인 공부/Frontend 2020. 6. 24. 18:13

Spring-boot HTML Test

//Controller @Controller public class IndexController { @GetMapping("/") public String index() { return "index"; } } //Test @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class IndexControllerTest { @Autowired private TestRestTemplate restTemplate; @Test public void 메인페이지_로딩() { //when String body = this.restTemplate.getForObject("..

개인 공부/TDD 2020. 6. 24. 18:04

Controller로 mustache 파일 접근

@Controller public class IndexController { @GetMapping("/") public String index() { return "index"; } } 머스테치 스타터 덕분에 컨트롤러에서 문자열을 반환할 때 앞의 경로와 뒤의 파일 확장자는 자동으로 지정된다. 앞의 경로는 src/main/resources/templates로, 뒤의 파일 확장자는 .mustache가 붙는다는것이다. "index"를 반환하므로, src/main/resources/templates/index.mustache로 전환되어 View Resolver가 처리하게 된다. ViewResolver는 URL요청의 결과를 전달할 타입과 값을 지정하는 관리자 격으로 볼 수 있다.

개인 공부/Frontend 2020. 6. 24. 17:44

Mustache Template

HTML + Mustache Template 템플릿 엔진 일반적으로 웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말한다. JSP, Freemarker, React, Vue 등을 떠올릴 수 있다. 모두 결과적으로 지정된 템플릿과 데이터를 이용하여 HTML을 생성하는 템플릿 엔진이다. 참고로, JSP, Freemarker는 서버 템플릿 엔진, React, Vue는 클라이언트 템플릿 엔진이다. Mustache 수많은 언어를 지원하는 가장 심플한 템플릿 엔진이다. 루비, 자바스크립트, 파이썬, PHP, 자바, 펄, Go, ASP 등 현존하는 대부분 언어를 지원한다. 이런 이유로 필자는 SpringBoot 개발 시 머스태치 템플릿 엔진을 사용한다. ..

개인 공부/Frontend 2020. 6. 24. 17:20

@WebMvcTest를 사용하면 안되는 경우

주로 Spring boot의 테스트는 WebMvcTest어노테이션을 통해 진행된다 생각한다. (지극히 개인 생각) 하지만, 이 어노테이션을 사용하면 안되는 때가 있다. Java의 ORM 기능인 JPA에 대한 테스트를 진행할 때 사용하면 안된다. @WebMvc의 경우 JPA기능이 작동하지 않기 때문이다. Controller와 ControllerAdvice 등 외부 연동과 관련된 부분만 활성화 되니 JPA기능까지 한번에 테스트할 때는, SpringBootTest와 TestRestTemplate을 사용하면 된다.

개인 공부/Spring-boot,Java 2020. 6. 23. 19:37

JPA Auditing

JPA는 Java에서 사용하는 ORM기술 중 하나이다. Auditing은 감시(혹은 감사)를 의미한다. 쉽게 말해 ORM을 감시하는것을 의미하는데, 정확히는 Spring Data Jpa에서 시간 값을 자동으로 넣어주는 기능이다. 도메인을 영속성 컨텍스트에 Create Reade Update를 하는 경우, 시간에 관련된 필드가 있다면 매번 시간 데이터를 입력해 처리를 해야 하는데, JPA Auditing 기능을 사용하면, 자동으로 시간을 매핑하여 데이터베이스의 테이블에 넣어주게 된다. 예전 EXCELK's BLOG 프로젝트를 진행하였을 때, 작성 시간에 대한 처리를 컨트롤러에서 처리를 해서 만든 기억이 있다. 단순하게 Java에서 현재 서버의 시간 데이터를 얻어와 Entity에 넣어주는 방식으로 처리했었는..

개인 공부/Spring-boot,Java 2020. 6. 23. 19:32

LocalDate와 LocalDateTime

Java8부터 LocalDate와 LocalDateTime이 등장했다. 이전 버전의 Date의 문제점을 제대로 고친 타입이라 Java8을 사용하는 개발자라면 무조건 써야한다고 한다. Java8 이전의 Date와 Calendar 클래스의 문제점들 불변 객체가 아니다. - 멀티스레드 환경에서 언제든 문제가 발생할 수 있다. Calendar는 월(Month) 값 설계가 잘못되었다. -10월을 나타내는 Calendar.OCTOBER의 숫자 값은 '9'다. -당연히 10으로 새악한 개발자들에게 큰 혼란이 왔었다고 한다. JodaTime이라는 오픈소스를 사용해서 문제점들을 피했으며, Java8에선 LocalDate를 통해 해결했다. 최근 해결 된 이슈 LocalDate와 LocalDateTime이 데이터베이스에 제..

개인 공부/Spring-boot,Java 2020. 6. 23. 18:47

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 7 ··· 10
다음
TISTORY
카페코더 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바