-problem 키오스크 기능을 수행하는 웹 어플리케이션을 제작하던 중, 사용자가 주문한 메뉴들의 가격을 찾아서 합산하는 기능을 제작했어야 했다. 여기에서 사용자의 주문을 확인했어야 하는데, 어디까지가 하나의 주문인지 어떻게 아는지에 대한 문제가 발생했다. -what I tried 일단 jwt의 issuedAt을 사용하고자 했다. 주문을 생성할때 토큰을 생성하고 주문 생성시간과 토큰 생성시간이 같으면 같은 주문이라고 보는 것이다. 다만 아무래도 토큰 생성과 주문 생성이 동시에 일어나지 않아서 미세한 차이가 있어 아예 동일하게 처리할 수 없었다. -my answer 먼저 주문 생성시간을 찍어줄때 아래와 같이 String으로 처리하고 localDateTime 의 포맷을 yyyy/MM/dd/hh/mm과 같이 ..
-problem 스프링 시큐리티의 기본적인 부분을 적용시키고 테스트를 진행하다가 위 에러를 마주침. 내용만 봤을때 내가 동일한 값을 넘기고 있다고 추측하였음. -what I tired 일단 Jpa로 조회되는 값이 2개 이상일때 해당 오류가 난다고 한다. 대충 봤을 때에는 조회가 어디서 일어나는지 찾기 어려웠다. -my answer 에러로그에서 에러가 난 부분을 보니 문제는 system.out.print 저 부분이었다. 저 부분을 지웠어야 했는데 지우지 못했다. 에러의 이유는 일단 저렇게 되면 findby~~에서 조회 결과가 하나 이상인데 (내 경우가 그랬다는 것!) 이러면 class로 받아서 담을 수 없게 된다. 쉽게 생각했을때에는 그냥 repository에서 List로 타입을 바꿔주면 되지만, 내가 짠..
-problem 스프링 부트를 사용해서 기초 예제를 제작하던 중, 게시글과 댓글에 좋아요 기능을 추가해야 하는 작업을 진행했어야 했다. -what I tried 처음에는 게시글, 댓글 테이블에 좋야요 갯수가 카운팅되는 칼럼을 만들어야 하나 생각했는데, 이건 너무 복잡해지고 검증도 복잡할 것 같았다. -my answer 생각해보니 나중에 총 갯수를 반환할때, 해당되는 게시글 / 댓글에 붙은 좋아요의 개수를 주면 되는 것이라고 판단했다. 이렇게 되면 훨씬 간편하다고 생각했다. sql에 count가 있으니 jpa에서도 당연히 있겠다 싶어 count를 타이핑해보니 바로 나왔다. -I learned! 뭔가 rdb라는 단어에 겁을 먹고 생각하기보다 그냥 엑셀 표를 떠올리면서 생각하니 금방 아이디어가 떠올랐다. (물..
-problem Bcrypt 해시함수를 통해 비밀번호 단방향 암호화를 공부하던 중, 입력받은 값과 DB에 저장된 값을 비교하는데 비밀번호가 일치하지 않는 오류 발생 -what I tired 처음엔 오타인가 싶어 다시 확인하였지만 오타는 아니었음. Postman도 다시 확인하였으나 문제는 없었음. 무엇이 문제였는지 생각하다가 passwordEncoder 인터페이스를 들어가 보기로 함. -my answer 인터페이스 안에 maches라는 메서드로 값의 일치여부를 확인할 수 있었음. 해시함수의 경우 단순 비교가 안되는 것 같다.. (이 부분은 다시 찾아보고 공부해봐야겠다!!) -I learned! 헷갈릴땐 설명서를 보자! 뭐든지 일단 들어가보면 친절하게 사용법과 파리미터 값이나 다른 것들도 정말 친절하게 적혀..
- problem 유효성을 검증하는 하기 코드를 작성했는데, 조건을 만족해도 계속 에러메시지를 띄움 -what I tried 처음에는 이 어노테이션 사용이 잘못되었는지, controller에서 @Valid를 빼먹었나 했는데 무언가를 빼먹거나 잘못 쓴 것이 아니었음 -my answer 문제의 경우의 수를 하나하나 줄여나가니 원인은 정규표현식밖에 없어서 다시 확인해보니 표현식 내에 글자수를 잡아주는 것이 없었다. 하기 이미지 처럼 수정하니 해결되었음. -I learned 솔직히 정규표현식 아직도 좀 헷갈린다. 원하는 게 있으면 바로바로 안되고 계속 검색을 여러번 해야되고, 이유도 제대로 모른다. 아직 어설프게 이렇다 저렇다 하는 것 같아, 팀프로젝트를 진행할때 조금 더 적극적으로 사용해봐야겠다.
- problem swagger를 통해 api명세를 정리하고 잘 날아가는지 테스트해보려 했는데 에러가 남 - what I tried dependency를 추가할때 버전을 잘못 설정했나 싶어 버전을 오르락 내리락 했으나 성공하지 못함 - my answer 설정에 대해선 구글링이 정답인가 보다 Spring boot 2.6버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 몇몇 라이브러리에서 오류가 발생한다고 한다. (출처 : https://goyunji.tistory.com/137) application.properties 에 하기 코드를 적어두면 된다. spring.mvc.pathmatch..
항해를 시작한지도 벌써 한 달이 다 되어간다. 부트캠프를 하면 당연하게도 모든 생활이 다 코드 중심으로 돌아간다. 새해 첫 꿈을 꾸었는데, 코드를 짜는 꿈을 꾸었다. 일어나서도 놀라지 않았다. 노트북을 열고 다시 할 일을 했다. 회고가 점점 올드보이 감금일기처럼 되어간다. 낄낄~ ///////////////////////////////////////////////////////////////////////////////////// 이번에 스프링을 공부하면서 Ioc, DI, bean에 대해서 정리한 적이 있다. https://kirinman.tistory.com/54 IoC (Spring에 국한된 것 아님!) 이전까지 내가 프로그래밍을 하던 방식은 코드를 짜다가 필요한 객체가 있으면 생성해서 쓰고, 또 생..
**221230 에러난 이유 추가 스프링 부트 3.0버전을 선택하게 되면 고려해야 할 것들이 있다. - Java17 이상을 사용해야 한다. - javax 패키지 이름을 jakarta로 변경해야 한다. 이것 때문에 에러가 난 거였다. 오라클과 자바 라이센스 문제로 모든 javax 패키지를 jakarta로 변경했다고 한다. problem spring 예제를 풀다가 코드를 복사해 왔는데 import javax.persistence.*; 이 라인에 빨간줄이 나왔다. what I tried 처음엔 내가 라이브러리 설치를 빼먹었나 싶어 확인해 봤는데 아니었고 뭐 그래들에서 꼬였나 싶어 캐시 지우고 ide 다시시시작 / 프로젝트 다시 빌드를 해 봤는데 문제가 지속되었음 my answer 그럼 남은 것은 버전 문제일 ..
정신없이 한 주가 또 지나갔다. 이번 주차는 알고리즘 주차! 내가 선택한 언어를 통해 열심히 알고리즘을 풀고, 시험까지 봤다. 하필 구름이가 옷에 오줌을 싸서 옷에 스며들기 전에 빨리 풀어야 한다는 압박감을 가지고 풀어서 의도치 않은 타임어택을 하게 되었다. 여튼! 알고리즘은 뭐 앞으로 계속 풀어나갈 것이고 재밌기도 하니까. (사실 머리채 부여잡고 다른 사람들 풀이 보면서 한숨쉴 때가 더 많았음 ^0^) 그것보다도 이번주의 큰 수확은 자바에 대해 조금 더 친숙해졌다는 것이다. 지난 주 정리내용을 보면 내가 DIP를 언급하면서 의존성이 무엇인지를 써논 내용이 있다. 단순히 글로만 보았을 때에는 그냥 그런갑다 하고 지나가게 되는데, 이번에 인터페이스 구현 예제를 풀어보니 100%는 아니지만 아주 조오오오오금..
problem 알고리즘을 풀던 중, 분명히 같은 값인데 자꾸 일치하지 않는다고 함. 런타임 오류가 나는 것도 아니고 계속 이상한 값이 나와서 오랜 시간 헤맸다 what I tried 코드 제일 밑단에서 부터 주석처리를 해가며 범인을 색출했다. 그리고 문제가 있는 코드 발견 if(temp.get(i) == ".") 대충 이런 형식의 코드였다. my answer 보자마자 머리를 때렸다 기본 중의 기본일 터인데.. ==는 비교를 위한 연산자이다. String의 경우 이 연산자를 사용하면 string의 값을 비교하는 게 아니라 힙 영역에 할당된 주소를 비교하게 되는 셈이다. 당시 내 코드에서는 "."이 따로 생성이 되는 상황이었는데, 이러면 사람의 눈으로 봤을땐 같아 보이지만, 힙 영역에는 서로 다른 부분에 저..
- Total
- Today
- Yesterday
- 프로그래머스
- hackerrank
- jmeter로그인
- EC2
- jmeter시나리오
- Redisson
- jmeter테스트
- jwt
- index
- CheckedException
- 동적크롤링
- CorrectnessAndTheLoopInvariant
- pessimisticlock
- 인덱스
- 부하테스트시나리오
- Lock
- jmeter세션
- 대규모더미데이터
- jmeter쿠키
- Java
- bankersRounding
- jmeter부하테스트
- 자바
- 스프링faker
- jmeter토큰
- Redis
- 항해
- Spring
- Python
- 토큰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |