일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 멀티코어 프로그래밍
- refelction API
- mustache함수
- 어댑터패턴
- 클린아키텍처
- @advice
- reflection api
- GOF
- 자바디자인패턴
- 윈도우11 바로가기
- Java
- 테스트더블
- test double
- java병렬처리
- 개발컨퍼런스
- spring boot
- 동시요청
- 스프링부트 프로젝트 이름 변경
- 윈도우11 아이폰 메모 앱
- Spring
- java 멀티스레딩
- MappingJackson2HttpMessageConverter
- 헥사고날
- 유스콘
- 인텔리제이에서 프로젝트 이름 바꾸기
- js숫자체크
- MinorGC
- MajorGC
- 테스트대역
- 윈도우11 icloud 메모
- Today
- Total
목록개발노트 (22)
져니의 개발 정원 가꾸기

*이 글은 마틴 파울러(Martin Fowler)와 Gerad Meszaros의 글을 참고하여 작성했습니다. 애플리케이션에서 테스트할 대상(SUT - system under test)이 테스트 환경에서 쓸 수 없는 운영 코드의 클래스 혹은 컴포넌트에 의존하고 있을 때 테스트 코드 작성의 어려움을 겪곤 한다. 실제 운영 코드의 클래스를 테스트 환경에서 그대로 사용할 경우, 테스트에 필요한 입출력을 통제할 수 없거나, 테스트 코드의 실행이 적절치 않은 부작용(side-effect)를 만들어낼 수 있기 때문이다. 따라서 테스트하고자 하는 로직만 고립시켜 검증하기 위해서는, 실제 운영코드를 대신하는 테스트 객체 혹은 컴포넌트가 필요하다. 이처럼 대신하는 코드를 테스트 대역이라고 한다. 테스트 대역이 무엇이고, ..
멀티쓰레드와 멀티프로세스에 대하여 스레드를 생성하는 방법 java에서 멀티스레딩을 구현하는 방법은 Thread 클래스를 이용하는 방법과 Runnable 인터페이스를 이용하는 방법, 크게 두 가지 있다. 이 클래스 및 인터페이스를 상속받는 클래스를 생성했을 때 스레드가 실행되는 것이 아니라, start()객체를 호출할 때 스레드가 실행 되는 것이다. 1. Thread Class 첫 번째 방법으로는 Thread class를 extends하는 방법이 있다. 이렇게 Thread class를 상속받는 클래스는 자체적인 쓰레드가 된다. 방법은 다음과 같다. Thread 클래스를 exteds하는 클래스를 정의한다.. Thread 클래스의 run() 메소드를 오버라이딩(Overriding)한다. 스레드를 실행시킬 곳에..

멀티 프로세스 멀티 프로세스란, 실행 중인 프로그램 을 말한다. 어떠한 프로그램을 실행시키면 CPU스케줄링에 따라 OS로부터 실행에 필요한 메모리를 할당 받게 되는데, 이 할당받은 메모리로 실행되는 프로그램이다. OS가 프로세스를 관리할 때는 PCB(프로세스 정보 저장소)단위를 사용한다. 예) 인터넷 아이콘을 눌러서 인터넷 창을 띄운 경우 여기서 프로세스가 하나이면 이를 싱글 프로세스(Single Process)라고 하고 여러 개의 프로세스를 만들면 이를 멀티 프로세스라고 한다.(Multi process) 예) 인터넷 아이콘을 3번(여러 번) 눌러서 3개의 창(여러 개의 창)을 띄운 경우(3의 프로세스가 돌아 감) - 텝 아님 예) 인터넷 창을 키고 엑셀 창도 키기 (두 개의 프로세스가 돌아 감) 멀티 ..

목차스프링MVC 혹은 부트 프레임워크로 개발을 하다보면 api를 개발하거나 호출하는 경우가 많다. api를 호출하기 위해 우리는 주로 json 형식의 데이터를 함께 전송하곤 하는데, 과연 json 데이터가 어떻게 POJO객체(객체 쓰임상 dto나 vo라고도 불리운다)에 매핑될까?더불어 반대의 경우(POJO 객체 -> JSON 형태)는 어떻게 변환되는 것일까?직렬화 / 역직렬화변환 과정을 바로 알아보기에 앞서 먼저 직렬화와 역직렬화에 대한 개념을 이해해야 한다.직렬화(serallization) : 데이터구조나 객체의 상태를 파일이나 메모리 버퍼에 저장하거나 다른 환경으로 전송(ex. 네트워크 통신)할 수 있도록 재구성할 수 있는 포맷으로 변환하는 과정을 말한다.역직렬화(deseriallizaion) : 반..