본문 바로가기

TIL139

23.06.28 lv3을 해결하기위해 강의를 듣던 중 강사님이 User의 PK를 username으로 두는 것을 보고 좋은 방법이라 생각해 이 부분을 수정해 보았다. 내가 만든 서비스를 전 세계에 보일 때는 타임존을 통일해야 해서 글로벌 런칭을 한다면 꼭 필요한 과정이라고 알려주셔서 한 번 추가해 봤다. @EnableJpaAuditing @SpringBootApplication public class MyBlogBackendApplication { @PostConstruct public void setDefaultTimeZone() { TimeZone.setDefault(TimeZone.getTimeZone(ZoneId.of("UTC"))); } public static void main(String[] args) { S.. 2023. 6. 28.
23.06.27 erd를 만들어보자. 일단 User, Blog, Comment만 있다고 가정하면, Blog와 User는 다대일 관계일 것이다. 외래키는 Blog에서 생성하고, User는 조회만 할 것이니 외래키의 주인은 Blog일 것이다. 또한, 글을 통해 유저를 조회하진 않을 것이므로 단방향이면 될 것이다. Comment와 Blog도 다대일 관계일 것이다.위와 마찬가지의 이유로 외래키의 주인은 Comment고, 단방향이면 될 것이다. Comment와 User도 다대일 관계일 것이며, 마찬가지로 외래키의 주인은 Comment, 단방향이다. 코멘트는 blog와 크게 다르지 않게 만들어서 문제점은 없었으나 코멘트 조회를 글이 조회될 때 같이 하기 위해선 글의 조회와 코멘트의 조회를 손봐야 할 것 같다. 또한, 글이 삭제될 .. 2023. 6. 27.
23.06.23 lv2 jwt 토큰 생성해서 글 생성, 수정, 삭제 때 토큰을 통해 인가받기 3주차와 4주차 강의에서 서로 다른 sql 설정을 써서 이에 대해 질문했으나 언제 작동하느냐의 차이일 뿐 보통 사용하는 코드는 4주차 거라고 하셔서 이걸 그대로 사용하기로 함 // MySQL implementation 'mysql:mysql-connector-java:8.0.28' 이후 3주차 강의에서 사용된 코드가 더 최신의 코드라 이게 더 좋을 듯 하다고 하셔서 수정 // MySQL runtimeOnly 'com.mysql:mysql-connector-j' 예시에서 로그인과 회원가입은 어느정도 구현해놓은 것 같아 편하게 회원가입을 구현해 토큰을 사용하려 했으나 이를 위해선 admin 등의 Role도 정해줘야 해서 이는 lv3.. 2023. 6. 26.
23.06.24 연속된 수의 합 public int[] solution(int num, int total) { int[] answer = new int[num]; for (int i = 0; i < num; i++) { total -= i; } if (total%num == 0) { for (int i = 0; i < num; i++) { answer[i] = total / num + i; } } return answer; } 처음에는 total을 num으로 나눈 뒤 몫을 통해 배열을 구하려 했으나 이 방법은 배열의 중간값을 구하는 것이고, num이 짝수냐 홀수냐에 따라 방식도 달라져 비효율적이기에 배열의 첫 번째 수를 x라 두고 푸는 방식을 택했다. 로그인 성공? public String solution(String[.. 2023. 6. 24.