분류 전체보기

· Nest JS
문제 상황Nest js 프로젝트를 진행하며 테스트코드를 작성하고 실행하는데 겪은 문제이다. 테스트를 실행하게 되면 아래와 같은 에러가 발생하게 된다.No tests found. exiting with code 1. 이는 작성한 테스트코드를 인식하지 못하는 문제인 것이다. 해결 방법을 알아보도록 하자. 해결 방안현재 나는 아래와 같은 폴더 구조를 가지고 있다. src와 test가 Root Directory 산하에 있는 걸 볼 수 있는데 package.json을 봐보자.[BEFORE] "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.(sp..
좋은 기회로 4학년 1학기에 한이음 ICT 멘토링을 참여하게되었다. 내가 참여한 트랙은 프로보노로 여러 대학교 학생들과 함께 프로젝트를 수행하게 되었다.처음으로 모르는 사람들과 함께 프로젝트를 수행하게 된건데 너무 설렜다. 멘토링이기 때문에 프로젝트를 수행하며 멘토님께서 중간 점검을 해주시기도 하고, 모르는게 있다면 많은 도움을 주시기도 하였다.누구에게 배우는거 없이 혼자서 프로젝트를 했을때와는 반대로 멘토에게 많은 꿀팁을 전수받으니까 성장이 빠르게 되는 경험을 하였다. 프로젝트 관련해서 뿐만 아니라 앞으로의 커리어를 정하는데 있어 많이 도움을 주셨기 때문에 정말 많은 도움이 되었다.내가 참여했던 프로젝트의 아이디어는 "한부모 조부모 육아 도우미 앱 구현" 이었다. 사람들과 회의를 통해 DB 설계도 하였..
재미있어보이는 세션이 너무 많네요!! 다들 참여 해보세요 😏
해당 경고는 Spring Data Jpa 에서 'PageImpl' 인스턴스를 JSON으로 직렬화 하려고 할 때 발생한다. 경고의 전문은 아래와같다.Serializing PageImpl instances as-is is not supported, meaning that there is no guarantee about the stability of the resulting JSON structure! For a stable JSON structure, please use Spring Data's PagedModel or Spring HATEOAS and Spring Data's PagedResourcesAssembler. 즉, JSON으로의 변화가 안정적으로 이루어지지 않을 수 있다는 것이다. 해당 경고를..
· 독후감
테스트 가능성이라는 단어를 들어봤나요? 영어 단어로 Testability라고 합니다.테스트하기 쉬울수록 Testability가 높습니다. 더 나아가 테스트하기 쉬운 코드일수록 좋은 설계일 확률이 높습니다. 하지만 저를 포함한 많은 사람들이 테스트를 어려워하고 있습니다. 테스트를 어렵게 만드는 요소는 무엇일까요? 테스트를 어렵게 만드는 요소테스트를 어렵게 만드는 요소의 결론부터 말하자면 테스트하려는 대상의 입력과 출력에 있습니다. 테스트는 테스트하려는 대상의 입력을 쉽게 변경할 수 있고, 출력을 쉽게 검증할 수 있어야 작성하기 쉽습니다.하지만 숨겨진 입력이 존재하거나 숨겨진 출력이 존재한다면 테스트를 검증하기 어려워집니다. 그렇다면 숨겨진 입력과 숨겨진 출력이 대체 무엇일까요? 한번 알아봅시다.숨겨진 입력..
· 독후감
테스트 대역이란 무엇일까요? 네트워크에서 사용하는 대역(bandwith)과 비슷합니다만. 전혀 관련이 없답니다!테스트에서의 대역은 오롯이 테스트를 위해 만들어진 가짜 객체 또는 컴포넌트를 의미합니다. 아래의 상황에서 테스트코드를 짜본 적이 없는 개발자라면 공감하실 수도 있겠습니다. 회원가입을 완료하면 회원 테이블에 저장하고 환영 이메일을 보냅니다. 이런 상황에서 테스트코드를 짜야한다면 머리가 지끈지끈하지 않으신가요? 그리고 이런 고민도 할 수 있겠습니다."테스트를 할때마다 디비에 계속 저장되겠는데..?" , "더미 이메일을 계속 보내야 하나..?" 이 고민을 해봤다면 계속 글을 읽어도 좋을 거 같습니다. 저와 함께 가보시죠.아까의 상황을 다시 가져와 보겠습니다.회원가입을 완료하면 회원 테이블에 저장하고 ..
현재 프로젝트에서는 GPT와의 통신이 필수인만큼 외부 API를 꼭 사용해야 한다. 그렇기에 이전에도 잘 써왔던 RestTemplate를 적용해서 프로젝트를 진행하고 있었다.전혀 아무 문제 없이 외부 API를 호출했고 원하는 대로 기능완성도 되었다. 평범한 일상을 보내던 중 자극적인 문장 하나를 보게 되었는데..."RestTemplate은 곧 deprecated 된다" 이걸 보자마자 머리가 띵했다. (나 잘 쓰고 있는데 왜?) 그렇게 급한 마음에 좀 찾아보니 현재 WebClient라는 기술이 잘 사용되고 있고 RestTemplate은 유지보수 단계에 들어갔다고 한다.나도 최신기술을 도입해보고자 하는 마음에 WebClient 기술을 간단하게나마 공부해 봤다.Webclient는 Spring5.0에서 WebFl..
똑같은 데이터를 매번 데이터베이스에서부터 가져오면 사용자와 서버입장에서 모두 비효율적이다. 그렇기에 한번 가져온 데이터의 경우엔 캐싱처리를 해서 두 번째 요청부턴 효율적으로 가져오고자 한다. 현재 프로젝트의 경우에 RefreshToken과 로그아웃 관리를 위해 Redis를 사용하고 있다. 그렇기에 캐싱 저장소로 Redis를 사용해 보기로 했다. ❗️❗️ 주의 ❗️❗️과정상의 코드는 별로 없다.바로 캐싱을 적용하기 전에 간단하게 공부를 해보니 캐싱에도 여러가지 전략이 있다고 한다. 캐싱 전략을 세울 때 유의해야 할 것은 무엇일까?캐싱 데이터는 주로 메모리에 저장되기 때문에 용량 제한이 있다. (주로 16 ~ 32 기가)따라서 캐싱 데이터의 유효기간 설정이 중요하다.따라서 어떤 데이터를 캐싱해 둘지 선택하는..
· 독후감
오랜만에 읽으면서 계속 감탄을 하게 되는 책을 접하게 되었습니다. 자바 / 스프링을 공부하고있는 여러 사람들이 있을 것입니다. 아래는 제가 이 책을 접하기 전에 처했던 상황인데요 이에 공감하는 사람들이 꽤 있지 않을까 싶습니다.객체지향이 중요한건 알겠는데... 스프링에는 어떻게 적용해야 하지?SOLID, 테스트, VO, DTO... 등 여러 단어는 접해봤는데 누군가 질문했을 때 떳떳하게 답 할 수 있나?계층형 구조와 헥사고날 구조? 어떤게 더 좋은거지?테스트가 중요한 건 알겠어 알겠는데 개발하면서 와닿지는 않네.. 이렇게 보니 제가 과연 자바 / 스프링 개발자라고 불려도 되는가 싶네요. 그냥 스프링부트를 쓸 줄 아는 사람 그 이상 그 이하도 아닌 거 같습니다. 하지만 이 책을 읽고나니 위의 질문에대해 자..
프로젝트를 한번 실행해본 결과... 빈 생성에 있어서 에러를 일으켰다는 에러 문구를 볼 수 있었다. 제일먼저 확인해본건 Controller나 Service 의 애너테이션이 누락된 곳이 있는지 확인해 보았지만 그런 곳은 없었다. . . . 위의 에러 메시지의 바로 아래 메시지이다. 이는 yml 파일에서 토큰의 유효시간을 지정할 때 access_token: 1000L * 60 * 5 * 5 # 5분 refresh_token: 1000L * 60 * 60 * 144 # 일주일 이런 식으로 작성해서 문제가 발생한 것이었다. access_token: 300000 # 5분 refresh_token: 86400000 # 일주일 위의 코드로 변경해주니 프로젝트가 잘만 돌아간다 ^^ 역시 에러 메시지를 제발 잘좀 읽어보..
Choony
'분류 전체보기' 카테고리의 글 목록 (3 Page)