일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring boot
- java병렬처리
- Java
- MajorGC
- java 멀티스레딩
- GOF
- mustache함수
- 동시요청
- 테스트대역
- 헥사고날
- MappingJackson2HttpMessageConverter
- 유스콘
- 테스트더블
- 개발컨퍼런스
- 클린아키텍처
- refelction API
- 어댑터패턴
- 멀티코어 프로그래밍
- 자바디자인패턴
- test double
- Spring
- WebMvcConfigurer
- reflection api
- 개발블로그
- MinorGC
- @advice
- 인텔리제이에서 프로젝트 이름 바꾸기
- 스프링부트 프로젝트 이름 변경
- js숫자체크
- WebMvcConfigurationSupport
- Today
- Total
목록전체 글 (23)
져니의 개발 정원 가꾸기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WX8gj/btsiBKGIjPz/0PJcKtmBkBYq0chVMPvpzK/img.png)
멀티 프로세스 멀티 프로세스란, 실행 중인 프로그램 을 말한다. 어떠한 프로그램을 실행시키면 CPU스케줄링에 따라 OS로부터 실행에 필요한 메모리를 할당 받게 되는데, 이 할당받은 메모리로 실행되는 프로그램이다. OS가 프로세스를 관리할 때는 PCB(프로세스 정보 저장소)단위를 사용한다. 예) 인터넷 아이콘을 눌러서 인터넷 창을 띄운 경우 여기서 프로세스가 하나이면 이를 싱글 프로세스(Single Process)라고 하고 여러 개의 프로세스를 만들면 이를 멀티 프로세스라고 한다.(Multi process) 예) 인터넷 아이콘을 3번(여러 번) 눌러서 3개의 창(여러 개의 창)을 띄운 경우(3의 프로세스가 돌아 감) - 텝 아님 예) 인터넷 창을 키고 엑셀 창도 키기 (두 개의 프로세스가 돌아 감) 멀티 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bY2ffS/btr1MiYN3tA/DIUrWPew3B46AjcbJKgWE0/img.png)
목차스프링MVC 혹은 부트 프레임워크로 개발을 하다보면 api를 개발하거나 호출하는 경우가 많다. api를 호출하기 위해 우리는 주로 json 형식의 데이터를 함께 전송하곤 하는데, 과연 json 데이터가 어떻게 POJO객체(객체 쓰임상 dto나 vo라고도 불리운다)에 매핑될까?더불어 반대의 경우(POJO 객체 -> JSON 형태)는 어떻게 변환되는 것일까?직렬화 / 역직렬화변환 과정을 바로 알아보기에 앞서 먼저 직렬화와 역직렬화에 대한 개념을 이해해야 한다.직렬화(serallization) : 데이터구조나 객체의 상태를 파일이나 메모리 버퍼에 저장하거나 다른 환경으로 전송(ex. 네트워크 통신)할 수 있도록 재구성할 수 있는 포맷으로 변환하는 과정을 말한다.역직렬화(deseriallizaion) : 반..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c9IOvK/btr0VLv1kSg/qCgDROJ5F6g56774gk64Ik/img.png)
reflection API란? 런타임에 메소드, 클래스, 인터페이스등을 검사하거나 조작하는데 쓰이는 api이다. java.lang.Class와 java.lang.reflect 패키지와 관련있다. 특징 1. 객체가 속한 클래스에 대한 정보와 클래스의 실행가능한 메서드에 대한 정보를 제공한다. (클래스타입을 알지 못하는 객체라도 ok) 리플렉션은 java.lang.Class 객체를 만드는 것에서 시작한다. Class 객체는 크게 두 가지 기능을 제공한다. 런타임에 클래스의 메타데이터를 가져오는 메서드를 제공. 클래스의 런타임 동작을 검사하고 변경하는 메서드를 제공. 실제 Class 클래스가 제공하는 메서드 몇가지를 살펴보자. 메소드 상세 클래스 로드&가져오기 public static Class forName..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJndD6/btr4JMvUa8s/HXPxZ0XEXnTlaiv4kLzO51/img.png)
많은 개발자들은 매일매일 코드와 고군분투한다. 특히나 새로운 요구사항이 추가될 때마다 과거에 코드 몇줄을 추가하기 위해 혹은 수정하기 위해 누군가가(혹은 본인이) 쓴 의도를 파악할 수 없는 코드를 파악하는데 수많은 노력과 기나긴 시간을 쏟는다. 개발자의 의도가 드러나는 코드와 좋은 소프트웨어 아키텍처는 개발자들의 큰 갈증이었다. (사실 책이 나오기 이전부터도)돌아가기만 하는 소프트웨어가 아닌 확장과 변경이 용이한 소프트웨어를 만들기 위해 다양한 아키텍처와 개발 방법론이 등장했다. 그 중에서도 로버트 마틴(a.k.a 엉클밥)의 저서 클린 코드와 클린 아키텍처는 클린 소프트웨어 아키텍처의 바이블이라고 불리우릴 만큼 개발자들에게 많은 인사이트를 주었다. 좋은 소프트웨어 아키텍처란 단기적으로나 장기적으로 비용을..