TIL51 aop, interceptor, filter 로 id 존재하는지 검사 상황 : - 컨트롤러에 id를 받는 부분이 있다. - 쿼리스트링으로 직접 받는 api도 있고, RequestBody로 dto안에서 받아내는 부분도 있다. - 해당 id를 통해 DB에 data가 존재하는지 확인하고싶다. aop 구현시 - 간단하게 어노테이션으로 구현 - 쿼리스트링으로 받는 경우는 간편하게 어노테이션 붙이는 것만으로 해결 다. 문제 1 - RequestBody로 받아내는 경우의 api마다 받아내는 dto가 다르다. 해결방법 : 1. dto 부모를 만들어 해당 dto 안에 uid 넣어서 @Around 내부에 해당 dto 선언하여 처리하는 방법 2. aop 구현부 내부에 if else로 instance 구분하여 처리하여 꺼내는 방법 문제 2 - 현재 프로젝트에는 에러시에도 200을 던지고 리턴코.. 2023. 8. 22. 인터프리터와 컴파일러 먼저 인터프리터와 컴파일러에 대해 간단히 알아보고 공통점 및 차이점을 알아보자. 인터프리터 인터프리터는 프로그래밍 언어를 한 줄씩 읽어들이고 실행하면서 해석하는 프로그램입니다. 즉, 소스 코드를 직접 실행하여 결과를 출력하는 방식으로 작동합니다. ex) Python, R, JavaScript 컴파일러 컴파일러(Compiler)는 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 번역하는 프로그램입니다. 즉, 개발자가 작성한 고급 언어 코드를 실행 가능한 기계어 코드로 변환하는 과정을 수행합니다. ex) C, C++, Go 인터프리터와 컴파일러는 모두 프로그래밍 언어를 실행 가능한 형태로 변환하는 도구입니다. 둘은 다음과 같은 공통점을 가지고 있습니다. 프로그래밍 언어를 실행 가능한 형태로 변환한다. 구문 오.. 2023. 4. 12. 반도체 기억장치의 발달과정 기억장치란? 기억장치는 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치이다. 기억장치는 접근 속도, 기억 용량, 용도 등에 따라 레지스터, 캐시 메모리, 주기억장치, 보조기억장치로 나누어진다. 레지스터 중앙처리장치 내부에 존재하는 기억장치이다. 접근 시간이 중앙처리장치의 처리 속도와 비슷하다. 캐시 메모리 중앙처리장치가 주기억장치에 접근할 때 속도 차이를 줄이기 위해 사용된다. 실행 중인 프로그램의 명령어와 데이터를 저장한다. 기억 용량은 작지만 접근 시간이 주기억장치보다 5 ~ 10배 정도 빠르다. 주기억장치 중앙처리장치가 직접 데이터를 읽고 쓸 수 있는 장치이다. 레지스터나 캐시 메모리보다 기억 용량이 크다. 보조기억장치 주기억장치에 비해 접근 시간은 느리지만 기억 .. 2023. 4. 2. 메타버스란? 메타버스의 개념 메타버스는 가상 또는 초월을 뜻하는 'meta'에 세계를 의미하는 'universe'가 붙어 만들어진 말. 그리고 이 안에서 현실과 상호작용하거나 사회·경제·문화 등 현실의 활동이나 기능을 영위할 수 있다. 정리하면 메타버스란 현실과 상호작용하거나 현실의 기능을 영위할 수 있는 가상 또는 초월세계이다. 핵심은 물리적 제약을 벗어난 이 가상세계에서 인간과 사회에 필요한 기능을 확장하는 데 있다. 그간 현실에서만 가능했던 일이 가상세계에서도 가능해졌다는 것을 말한다. 메타버스는 사전적으로 정의되거나 합의된 용어는 아니다. 애초에 소설 속 세계관으로 등장한 용어기도 하다. 지칭하는 것이 현상인지 속성인지 어떤 대상인지는 맥락에 따라 파악해야 하지만, 핵심은 현실이 아닌 가상세계에서 구현하는 현.. 2023. 3. 27. 테스트 코드 static class 호출 검증 방법 Static Mock전역으로 선언 MockedStatic mUtil; @BeforeEach mUtil = mockStatic(Util.class); @AfterEach mFilesUtil.close(); @Test mUtil.verify(times(1), () -> Util.staticMethod() ); Mock으로 처리한 static class method 호출 횟수를 체크할 수 있다. 2023. 3. 8. HttpServletResponse response.setContentType 변경 후 response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream") 메서드는 응답 본문의 타입을 설정합니다. 이 설정은 response.getWriter() 또는 response.getOutputStream()과 같은 메서드를 사용하여 응답 본문을 생성하기 전에 수행되어야 합니다. 하지만, Return 에서 JSON 형태의 문자열을 생성하고 반환하므로, response.getWriter() 또는 response.getOutputStream() 메서드가 호출되기 전에 이미 응답 본문이 생성되어 버립니다. 따라서 response.setContentType("application/octet-.. 2023. 3. 3. 이전 1 2 3 4 ··· 9 다음