개요 SpringBoot 2.7.5를 사용하다가 3.0.1로 올리면서 발생한 이슈들을 기록 해놓았습니다. 3.x에는 많은 것들이 바뀌었는데요 결국은 바뀐것을 써야하기 때문에 매도 먼저 맞자는 심정으로 이번에 새로 만드는 프로젝트에 적용 해보았습니다. 한국어로 된 문서가 별로 없는 것은 슬픈일이지만 저도 하나 만들고 다른 개발자님들께서도 하나씩 만들면되니까요. 순서 IntelliJ에서 Jdk 17설치 javax Thymeleaf SpringSecurity jjwt 0.11.5의 .signWith() Gradle SDK 기존 gradle 디렉토리 지우기 secretKey 길이 문제 Dockerfile IntelliJ에서 Jdk 17설치 JDK를 따로 설치할것 없이 IntelliJ에서 클릭클릭으로 Jdk를 설..
개요 아래 요구사항에 맞게 1:N M:1로 구성한 CourseUser 오브젝트입니다. JPA에서 @ManyToMany가 있지만 실제 상황에서는 쓰기 어렵기 때문에 1:N M:1로 구현 합니다. 테이블은 Course, User, CourseUser 총 3개가 만들어집니다. 요구사항 코스(Course)에는 학생이 들어갑니다. 한명의 학생은 여러개의 코스를 수강할 수 있습니다. 한개의 코스에는 여러명의 수강생이 Assign될 수 있습니다. Course CourseUserEntity와 관계를 맺습니다. @Entity public class CourseEntity extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private ..
SpringBoot 2.x버전 --> SpringBoot 3.x버전 으로 올라옴에 따라 .authorizeRequests()가 depreciated되었습니다. SpringBoot 2.x버전 @Bean public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception { return httpSecurity .httpBasic().disable() .csrf().disable() .cors().and() .authorizeRequests() //user 목록 admin만 가져올 수 있음 .antMatchers(HttpMethod.GET, "/users").hasAuthority(Role.ADMIN.name()) ..
별찍기에서 가장 어려운 난이도인 다이아몬드(마름모) 출력하는 로직 입니다. 핵심로직1 공백개수 n개만큼 출력, * 개수 m개만큼 출력 하기 여기에서 맨 앞에 있는 파라메터 i는 디버깅용입니다. private String getCharLine(int i, int spaceCnt, int charCnt) { return (mode ? i : "") + " ".repeat(spaceCnt) + "*".repeat(charCnt); } 핵심로직2 i n / 2 인 경우 System.out.println(printDiamond.getCharLine(i, i - (n/2), 2 * (n - i) - 1)); https://github.com/Areum120/java_study/blob/main/Ch4/src/pra..
application.yml에 민감 정보가 들어가는 경우 실수로 git에 올라가는 경우 해킹을 당할 수 있습니다. 아래와 같이 db접속 정보가 모두 노출이 되어 있습니다. application.yml spring: # 배포 시에 환경변수에 DB 정보를 넣어줘서 서버 DB 사용 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/feedback username: root password: 1234 jpa: show-sql: true database-platform: org.hibernate.dialect.MySQL8Dialect database: mysql hibernate: ddl-auto: upd..
Mock Test만으로는 db의 작동을 잘 검증하기 어려울 때 h2를 이용하면 수월합니다. 버전 Java 17 SpringBoot 3.0.0 build.gradle 특이사항은 testImplementation com.h2database:h2 입니다. test에서 h2를 쓰겠다는 뜻입니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-security' runtimeOnly '..
우리 아이가 태어난지 이제 5개월 정도 지난 것 같습니다. 5개월 동안 아이는 많이 컸습니다. 오늘은 아빠를 보고 꺄르르 웃는 능력이 추가 된 것 같습니다. 매일 곁에서 지켜보지만 크는 것이 눈에 보입니다. 중학교때 같은 반 친구들 끼리는 변성기가 와서 목소리가 변하는지 매일 보기 때문에 크게 느껴지지는 않지만 오랜만에 조카가 변성기가 오면 느껴지는게 크듯이 같이 있으면 잘 못느낄 수 있지만 아이는 사소한 것도 크게 느껴집니다. 이 과정은 마치 게임을 하는 것 같다는 생각이 들었습니다. 저는 게임을 참 오래 많이 좋아 했고 지금도 하고 있습니다. 아이가 성장하는 것을 볼 때면 게임에서 내 캐릭터가 레벨업을 하고 좋은 장비를 들고 위풍당당 서있는 것 같은 기분이 들 때가 있습니다. 그리고 레벨업이라도 하면..
- Total
- Today
- Yesterday
- 2017 티스토리 결산
- docker container tissue box
- docker container
- 개발자
- 도커각티슈케이스
- 도커티슈케이스
- Sh
- docker container tissue
- 도커컨테이너
- Linux
- 도커각티슈박스
- 싱가폴
- 이직
- shellscript
- docker container whale
- vim
- docker container case
- 도커티슈박스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |