일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인프런
- 스프링시큐리티
- 스파르타코딩클럽
- org.h2.jdbc.JdbcSQLSyntaxErrorException
- unmappable character for encoding MS949
- jwt
- java.sql.SQLException
- WIL
- 항해99
- HTML
- 독서
- 프로그래머스
- MS949
- 자바
- 김영한
- 객체지향
- Code
- 에러해결법
- java
- 자바스프링
- 인텔리제이
- ServerSelectionTimeoutError
- mysql
- PUT과 PATCH
- TIL
- .decode('utf-8')
- 엔터키 이벤트
- JSESSIONID
- 알고리즘
- API
- Today
- Total
목록TIL (14)
고을마을 : 나의 코딩 이야기
2022.6.26 항해 7주차. 목요일부터 실전프로젝트를 하게됐다. 우리 조는 Scatch : 슥캐치를 만들고자 한다. 캐치마인드처럼 그림그리면서 퀴즈를 맞추는 형식의 웹게임이다. 우선적으로 백엔드가 구현해야할 기능으로는, jwt를 활용한 로그인 회원가입, oAuth를 통한 로그인기능(카카오, 구글, 네이버) 소켓, stomp, sockJS를 통한 채팅구현이다. 이중에서 내가 담당하게 된 건 jwt를 활용한 로그인 회원가입, oAuth를 통한 로그인기능(카카오, 구글, 네이버)이다. 미니프로젝트, 클론코딩 주차에 로그인기능을 만들어보지 못했고, 이 기능에 대해 관심이 많았었다. jwt에 대한 기초적인 학습부터 진행했다. @Component public class TokenProvider implement..
2022년 6월 16일. 항해 39일차. 미니프로젝트 주차가 끝난 날. 스프링 시큐리티에만 몰두를 한게 후회되는 날이다. jwt라는 한가지 방법이 있었지만엄두가 나지 않았다. '스프링 시큐리티도 모르는데 jwt라니!' 라는 생각을 하게 됐는데. 이게 가장 큰 패착이었던 것 같다. 세션을 쿠키로 변환하는 것에 문제가 발생했고 결국 세션쿠키로 userid를 받아오지 못했다. samesite에러까지.... 멘붕이었다. 궁여지책으로 @Pathvariable long id를 넣어서 해결하긴 했지만 땜빵식 구현이었다. 진짜 너무 후회스럽달까? jwt 구현에 왜이리 겁을 냈는지 모르겠다. 시큐리티에만 집중을 했더니 crud도 기억이 안나게 됐다. 하... 아쉬운 미니프로젝트이다. 다시 멘탈 바로잡고 열심히 해야겠다...
2022년 6월 15일. 항해 38일차. 요근래 너무 정신없는 하루를 보냈다. 주특기 학습을 끝내고 나서 미니프로젝트를 진행하게 됐다. 프론트 분들과 함께 작업을 하는데 에러와 에러의 연속이었다. 로그인 회원가입 기능을 무턱대고 맡아서 조원들이 내 작업이 끝날때까지 기능 확인을 하지 못했다ㅠㅠ 가장 큰 어려움은 스프링시큐리티, CORS와 JSESSIONID 문제였다. @Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); //configuration.addAllowedOrigin("http://firstreactproject.s3-websi..

2022년 6월 7일. 항해 27일차. 주특기 심화 주차이고 과제에 전념했던 날이었다. 솔직히 내 코드가 맞는 건지도 잘 모르겠지만 테스트를 돌려보면 통과된다! 다음은 과제의 일부이다. 음식점 정보 입력받아 등록 음식점 이름 (name) 최소주문 가격 (minOrderPrice) 허용값: 1,000원 ~ 100,000원 입력 100 원 단위로만 입력 가능 (예. 2,220원 입력 시 에러발생. 2,300원은 입력 가능) 허용값이 아니거나 100원 단위 입력이 아닌 경우 에러 발생시킴 기본 배달비 (deliveryFee) 허용값: 0원 ~ 10,000원 (예. 11,000원 입력 시 에러발생.) 500 원 단위로만 입력 가능 (예. 2,200원 입력 시 에러발생. 2,500원 입력 가능) 음식점 조회 등록..

2022년 6월 3일. 항해 24일차. 오늘부터 주특기 심화주차. 과제에 끌려다니기 보단 기초부터 차근차근히 다져나가기로 했다. 장기적으로 봤을때 그게 더 나에게 이득일테니... 나는 @Transactional이 "SQL 쿼리가 일어나야함을 스프링에게 알려주는 것"으로만 알고 있었다. public Users updateUser1() { // 테스트 회원 "user1" 생성 Users user = new Users("user1", "RM", "고기"); // 회원 "user1" 객체를 영속화 Users savedUser1 = userRepository.save(user); // 회원의 nickname 변경 savedUser1.setNickname("남준이"); // 회원의 favoriteFood 변경 sa..
2022년 5월 26일. 항해 18일차. 주특기 입문 마지막 날. 과제를 마무리하고 서버에 배포까지 해봤다. @RequiredArgsConstructor @RestController public class MemoController { private final MemoRepository memoRepository; private final MemoService memoService; // 게시판 글 생성 @PostMapping("/api/memos") public Memo createMemo(@RequestBody MemoRequestDto requestDto) { Memo memo = new Memo(requestDto); return memoRepository.save(memo); } // 게시판 전..

2022년 5월 25일. 항해 17일차. 주특기 입문 커리큘럼대로 개인과제에 몰두한 날. 어제 controller, domain, service를 마무리하고 오늘은 html을 만들어봤다. 본격적으로 TIL을 작성하기에 앞서서 PUT과 PATCH의 차이를 살펴보자! PUT은 데이터의 전체 교체에 쓰인다. 일부만 교체 할려고 할 시 나머지에 null이나 초기값이 된다 PATCH는 데이터의 부분 교체이다. { "title": "앱개발 종합반", "tutor": "김건희" } 오늘은 이 PUT과 PATCH로 인해서 엄청나게 곤욕을 치른 날이다. function submitEdit(id) { // 1. 작성 대상 메모의 username과 contents, password 를 확인합니다. let contents =..

2022년 5월 24일 항해 16일차. 오늘도 어김없이 주특기 입문 커리큘럼을 수행했으며 개인과제를 수행했다. @Getter @MappedSuperclass // Entity가 자동으로 컬럼으로 인식합니다. @EntityListeners(AuditingEntityListener.class) // 생성/변경 시간을 자동으로 업데이트합니다. public abstract class Timestamped { //추상으로 달아둘것! 상속이 되어야만 쓸수있게 해줘야함. @CreatedDate //생성시간 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createdAt; @LastModifiedDate //수정시간 @JsonFormat(patt..