멋사 백엔드 2기 여러분들의 수료를 축하 드립니다. 10년간 개발자로 일하다가 지난 2022년 10월부터 5개월간 여러분들을 가르쳤습니다. 요즘은 다음 기수 강의를 준비 하면서 책을 쓰고 있고 그 다음 수업에 필요한 어플리케이션 개발도 하고있습니다. 수업은 하루에 6시간씩 라이브코딩으로 진행 했고 하루에 2시간씩은 알고리즘을 가르쳤습니다. 수업을 6시간 라이브코딩으로 하면 진이 다 빠져서 수업이 끝나면 바로 옆에 깔아놓은 라꾸라꾸에 누워서 한숨을 자야 할 정도로 지칩니다. 그래서 운동을 못다니고있다가 요즘 다시 건강을 챙겨야 할 것 같아서 운동(탁구)을 다니고 있습니다. 탁구장에 다시 등록해 오랜만에 레슨을 받았더니 근육 몸살이 왔습니다. 그 동안 안쓰던 근육을 다시 움직이고 자세도 제대로 잡는데 빠져있..
개요 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개월 동안 아이는 많이 컸습니다. 오늘은 아빠를 보고 꺄르르 웃는 능력이 추가 된 것 같습니다. 매일 곁에서 지켜보지만 크는 것이 눈에 보입니다. 중학교때 같은 반 친구들 끼리는 변성기가 와서 목소리가 변하는지 매일 보기 때문에 크게 느껴지지는 않지만 오랜만에 조카가 변성기가 오면 느껴지는게 크듯이 같이 있으면 잘 못느낄 수 있지만 아이는 사소한 것도 크게 느껴집니다. 이 과정은 마치 게임을 하는 것 같다는 생각이 들었습니다. 저는 게임을 참 오래 많이 좋아 했고 지금도 하고 있습니다. 아이가 성장하는 것을 볼 때면 게임에서 내 캐릭터가 레벨업을 하고 좋은 장비를 들고 위풍당당 서있는 것 같은 기분이 들 때가 있습니다. 그리고 레벨업이라도 하면..
제가 처음 월급이라는 것을 받은 것은 대학교 3학년 방학 때 인턴을 했을 때 받은 월급 120만원 입니다. 월급을 타면 물론 저축을 했지만 저축을 하고 나서 가장 먼저 산 것은 어릴때 갖지 못한 게임기였습니다. 부모님이 게임기를 안사주셔서 더욱 게임에 집착한 것인지 아니면 부모님은 이렇게 게임에 집착을 하는 성향을 보이니 안사준 것인지는 모르겠습니다만 게임기를 너무나 갖고 싶었던 것은 맞습니다. 저는 게임을 27년 정도 하고는 잘 안하게 된 것 같습니다. 10살에 시작해서 36살까지 게임을 아주 많이 했습니다. 다음 게임들은 제가 몇년동안 재미있게 했던 게임들 입니다. 다크소울2 블러드 본 몬헌 엑스컴 소울라이크, 몬헌, 엑스컴 이런 어려운 게임들 미친듯이 했던 것 같은데요 요즘은 게임을 잘 안하게 되었..
@WebMvcTest란? SpringMvc에 관련된 것들만 불러와서 테스트 할 수 있게 해주는 어노테이션. 테스트에 필요한 것들만 불러오기 때문에 로딩하는 속도가 비교적 빨라서 테스트를 자주 실행할때 많은 도움이 되는 어노테이션입니다. MockMvc란? MockMvc는 Spring 애플리케이션의 웹 계층을 테스트하기 위한 목(Mocks) 테스트 지원 클래스 입니다. 이를 사용하면 실제 HTTP 요청을 보내지 않고도 컨트롤러 엔드포인트를 호출하고 해당 엔드포인트의 응답을 검증할 수 있습니다. 이는 테스트의 속도를 향상시키고 테스트 환경을 더욱 예측 가능하게 만듭니다. 오늘 테스트 할 코드는 아래 world라는 String을 리턴하는 Controller입니다. @RestController @RequiredA..
- Total
- Today
- Yesterday
- vim
- docker container whale
- Sh
- shellscript
- 도커각티슈박스
- 2017 티스토리 결산
- 싱가폴
- 도커컨테이너
- 도커각티슈케이스
- docker container case
- 도커티슈박스
- 이직
- 개발자
- docker container tissue box
- docker container
- Linux
- docker container tissue
- 도커티슈케이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |