전체 글 60

data.sql 파일로 데이터 초기화 하기/ MAVEN

resource/data.sql 작성 insert into todo(ID, USERNAME, DESCRIPTION, TARGET_DATE,DONE)values (1, 'hyukjin', 'Example Description', CURRENT_DATE(),false);  스프링부트가 시작될때 자동으로 data.sql 실행 하지만 todo 테이블이 생성되기 전에 위의 쿼리를 실행하기 때문에 오류가 날 수 있음  application.properties 에 다음의 속성 추가spring.jpa.defer-datasource-initialization=true 이제 스프링 부트가 시작될때 더미 데이터 값을 data.sql 에서 입력 할 수 있다!

JAVA 2024.05.10

다이나믹 라우팅

이전 게시글에서 특정 GET 요청에 대한 라우터를 만들어 봤다 .하지만 모든 라우터를 하나하나 만들기엔 내 시간이 부족하다  이번에는 다이나믹 라우팅을 써보자!  challenges/urls.py 를 다음과 같이 수정하자from django.urls import pathfrom . import viewsurlpatterns = [  path("", views.monthly_challenge)] 는 pathVariable 이라고 생각하면 된다. challenges/views.py 를 다음과 같이 수정하자from django.shortcuts import renderfrom django.http import HttpResponse, HttpResponseNotFound# Create your views he..

Django 2024.05.10

Spring Security + H2 데이터 베이스 접속 / MAVEN

다음의 의존성 추가 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtimeh2database 의존성은 jar 파일 압축에 포함되면 안됨. scope 를 runtime 으로 설정. application.properties 다음 추가spring.datasource.url=jdbc:h2:mem:testdbIn memory db 를 사용하고, 접속 url 을 fix 하겠다. 하지만 이것만으론 h2-console 에 접속할 수 없다.  filterChain 메서드를 SpringSecurityConfiguration 에 추가해주자@Beanpublic SecurityFilterChain filterCha..

JAVA 2024.05.09

Predicate

다음의 코드를 보자TodoService.javapublic void deleteById(int id) { Predicate predicate = todo -> todo.getId() == id; todos.removeIf(predicate);}id 를 넘겨받아 특정 todos 목록을 삭제하는 서비스 이다.removeIf 는 모든 todos 를 순회하며 탐색한다. public Todo findById(int id) { Predicate predicate = todo -> todo.getId() == id; Todo todo = todos.stream().filter(predicate).findFirst().get(); return todo;}같은 predicate 문법을사용하여..

JAVA 2024.05.08