본문 바로가기

개발 관련 학습 및 문제해결57

CKeditor 리액트에서 테스트 코드짜기[20221110-TIL] 외부 라이브러리는 어떻게 테스트 코드를 짤까? CKeditor라는 외부 라이브러리를 사용했는데 이걸 대체 어떻게 테스트 코드를 짜나... 고민했다. 트레이너 님에게 물어보니 외부 라이브러리는 그냥 그 자체에게 맡기고 테스트 코드를 따로 작성하지 않는다고 한다. 그럼 어떻게 mocking을 해 올 수 있을까?? 컴포넌트는 결국 함수다 컴포넌트는 결국 함수기 때문에 라이브러리를 불러온 위치를 써주고 jest.fn()으로 정의 내려 주었다. import { CKEditor } from '@ckeditor/ckeditor5-react'; import ClassicEditor from '@ckeditor/ckeditor5-build-classic'; jest.mock('@ckeditor/ckeditor5-reac.. 2022. 11. 10.
@ElementCollection , 모델(엔터티)에 List, 배열 넣는 법[20221109 TIL] 다시 코드를 리팩터링 하는 중. 어제 쓴 것에 기반으로 조금 리팩토링하는데 확실히 달라진게 있는 듯? 하다. 단점은 시간이 다소 걸린다는 점. 여태까지 모델(엔터티)에 배열 넣는 법을 글을 썼는데 다시 또 바꿔쓰려고 한다. 고민 https://onulmansanda.tistory.com/202 데이터베이스에 배열 넣기?[20221031-TIL] [관계형]데이터베이스에 배열을 넣을수 있나 데이터에 배열형태로 해쉬태그를 넣으려고 했는데 이런 오류코드가 뜬다. 테이블에 배열 넣을 수 없다는 뜻인듯. 이걸 해결하는 어노테이션이 있는 onulmansanda.tistory.com 1. @ManyToOne 쓰는 법 https://onulmansanda.tistory.com/204 ManyToOne, OneToMany.. 2022. 11. 9.
백엔드 Layered Architecture 구조와 모델 설정시 유의할 점[20221108-TIL] 레이어드 아키텍쳐를 구성할 때 유의할 점 사실 제목이 적절한지나 모르겠다. 아직 아키텍쳐의 이해도 많이 부족한데 그래도 잠시나마 오늘 코딩의 신 아샬님 특강을 보고 느낀점이 있어 적어보려고 적절한 제목을 정하다보니 저렇게 되었다. 설계시 고민 점 일단 백엔드를 구성하면 크게 1. Controller 2. Service 3. Repository + Model 라는 구조를 두었다. 컨트롤러는 인터페이스 측면에서 최소한의 코드만 가지고 프론트에서 들어오는 쿼리나 파람을 처리해주는 최소의 로직과 DTO 변환하는 코드정도만 있으려고 했다. 첫번째 문제. 컨트롤러가 지저분해짐 그러나 이는 컨트롤러에서 처리해야할 서비스가 매우 간략하고 복잡도가 적을 때 가능한 것이었고 모델과 엔터티가 많아지고 서비스가 서로 교류하는.. 2022. 11. 8.
효율적으로 학습을 하자[메가테라 19주차 주간회고] 학습이란? 배우는 느낌 저번주 였던가 아무튼 며칠 간 잠도 많이 자지 않고 의무적으로 일찍와서 가장 늦게가기를 실천하고 있었는데 정말 찝찝한 기분을 떨쳐버릴 수 가 없었다. 바로 학습이 크게 되지 않는 느낌. 지난 테스트할때 이사하느라 뭐하느라 새로운 장소에 적응하느라 학습을 잘 하지 않는 기분이었는데 그 기분 비슷한 것이 들었다. 원인? 구현 중심의 코드 일단 가장 큰 원인은 코드 구현을 워낙 잘 못해왔기에 '구현'에 급급해지고 그러다보니 학습을 하고싶지만 그러기보다 이전 코드를 '참조' 하는 느낌이 많이 들었다. 참조는 인출과 정말 정반대의 말이라서 정말 학습이 되는 느낌이 없다. 그리고 무언가 기능이 구현이 되면 굉장히 찝찝하고 재현할 때 무섭지만 또 인간은 간사해서 결과물을 보고는 저건 내가 했어.. 2022. 11. 7.