반응형
  • 엔컴퓨터 디바이스로 이루어진 네트워크는 신뢰할 수 있다.
    • 네트워크 실패 가능성을 고려하지 않으면 도착하지 않는 응답을 기다리며 멈춰있을 수 있다.
  • 요청을 보내거나 요청을 처리해 돌려 받을 때 시간 지연이 없다. (제로 레이턴시)
    • 패킷 손실을 무시하면 트래픽 양이 늘어나 대역폭을 낭비하거나 패킷 손실 비율이 높아질 수 있다.
  • 네트워크 대역폭에는 제한이 없다.
    • 너무 많은 데이터를 보내거나 너무 많은 요청을 보내면 가용 네트워크 대역폭이 점점 줄어들어 언젠가는 병목이 생기고 스룻풋(throughput - 시간당 처리할수 있는 데이터 양) 도 줄어든다.
  • 전체 네트워크는 내부나 외부 공격으로부터 안전하다.
  • 네트워크상의 컴퓨팅 디바이스의 위치나 배열은 결코 바뀌지 않는다.
    • 네트워크 변경이나 디바이스 변경은 대역폭이나 지연시간에 영향을 줄 수 있다.
  • 모든 요소마다 관리자가 단 한명 씩 존재한다.
    • 여러관리자가 존재하며 서로 상충되는 보안 정책이 있을 수 있다. 
  • 통신 비용은 0이다.
    • 네트워크 구축, 운용비용은 0이 아니다.
  • 네트워크 전체가 균일하다.

출처 : 엔터프라이즈 자바 마이크로 서비스

2020.07.01 - [Enjoy Life/책을 읽자!!] - [나는 리뷰어다] 엔터프라이즈 자바 마이크로 서비스

728x90
반응형
반응형

 

한빛 미디어 "나는 리뷰어다" 를 통해서 "자바 최적화(Java Optimizing)" 책을 읽게 되었다. 

 

실제 개발을 하면서 최적화나 성능에 관련 된 부분을 생각을 하게 되면 상당히 어렵다. 

어떤 부분을 어떻게 확인 해 봐야 하는지, 또 성능 측정은 어떻게 해야 하는지 간단하지는 않다. 

그런 면에서 이 책은 자바 최적화라는 내용에 대한 기본적인 이론부터 자세히 설명을 해주고 있다.

 

이론에 대한 설명을 돕기 위해서 위와 같이 자세히 그림으로 설명을 해주기도 한다.

 

성능에 대한 내용을 알기 위해서 실제 코드들이 바이트 코드 단위에서 어떻게 해석이 되는지.

그리고 자바를 사용하면서, 특히 Collection 을 사용하면서 어떤 부분들이 최적화를 해야 하는지에 대한 내용들을 자세히 설명을 해준다.

이것 이외에도 많은 내용들이 담겨져 있는데 내용이 어려운 부분들도 있었다. 

 

아마도 이 책은 내가 만든 자바 코드의 성능을 실제로 테스트 해보면서 활용하는게 가장 좋을것 같다.

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

728x90
반응형
반응형

 

이 책은 마이크로 서비스에 대한 내용의 책이다.

기초부터 실제 구현까지 다루면서 내용이 이어지는대 다음과 같은 장단점을 찾아 볼수 있었다. 

 

장점

- 마이크로 서비스에 대한 개념에 대해서 이해를 할 수 있다. 

- 마이크로 서비스에 대한 여러가지 아키텍처들에 대한 내용을 이해 할 수 있다. 

- 마이크로 서비스를 구성할 때 어떠한 툴들이 사용되는지, 또는 툴은 어떻게 사용할 수 있는지 간단히 체험해 볼 수 있다. 

 

단점

- 실제 코드가 나오긴 하지만 배경지식 없이 책만으로는 이해하기는 힘들 것 같다.

- 개인적으로는 코드와 툴에 대한 집중을 하던지 아니면 이론에 대한 내용을 집중을 하던지 했으면 더 좋았을 것 같다는 생각이 들었다. 

 

위에 써놓은 장단점 처럼 초보자들이 공부하는데 읽은 책으로는 어려움이 클것 같다. 개발을 하면서 마이크로 서비스를 접해보고 이론적인 내용도 알고 있는 분들이 정리하면서 공부하기는 도움이 될것 같다. 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

 

최근 들어 자바 버전이 굉장히 자주 업데이트 되고 있다. 그러다 보니 새로운 기능에 대해서 아는게 별로 없구나라는 생각을 자주 했었다. 마침 이렇게 새로운 버전에 대해서 리뷰할 기회가 되서 공부를 하게 되었다. 

 

우선 이 책은 총 21개의 챕터로 구성이 되어있고 600 페이지가 넘어가는 책이다. 앞에서 부터 차근차근 읽기에는 끈기와 노력이 필요하다. 그래서 나도 처음에는 차근차근 읽어가다가 어느정도 기본 개념에 대한 내용을 파악하고 난 후에는 실제로 내가 회사에서 사용해 볼 수 있는 부분부터 읽어 나가기 시작했다. . 

 

단, 최소한 5장까지는 차례대로 읽어보는 것을 권하고 싶다. 왜냐하면 5장까지의 내용을 알아야 뒤에 나오는 내용을 파악하는데 좀 수월해 진다. 5장의 내용이 위에 보듯이 스트림에 관련된 내용이다. 내 기준에서는 새로운 기능(?) 중에서 가장 쉽게 접하고 많이 써먹을 수 있는 기능이 아닐까 생각이 되었다. 그래서 5장까지 읽어 보라 한것이다. 

 

 

내가 읽으면서 가장 좋았던 내용이다. 스트림을 저렇게 설명한 그림은 처음 보는것 같다. 각각의 단계별로 그림을 통해서 내부적으로 어떻게 동작하는지 그리고 결과는 어떤 타입인지 설명을 해줘서 이해하기가 쉬웠다. 저렇게 각각의 리턴을 생각해보면서 써본적이 없었는데 이제야 제대로 알고 쓸수 있게 되었다. 

 

 

날짜 부분도 내가 관심있어 하는 부분이었다. 로컬타임, UTC, 타임존, 썸머타임 등등. 그런데 날짜 관련 해서는 사용 예 보다는 메서드 위주로 설명이 되어 있어서 약간 아쉬웠다. 아마도 최근에 날짜나 시간 관련해서 사용할 일들이 많아져서 개념과 함께 예들을 많이 보면 좋겠다라는 생각이 든것 같다. 

 

앞에서도 말했듯이 이 책은 도큐먼트 같은 성격의 책이다. 앞장부터 정주행하기 보다는 내가 먼저 사용해볼수 있는 부분에 대해서 찾아가면서 읽고 공부하는게 더 효율적인 책이다. 그리고 버전 8, 9, 10 에서 추가 된 내용들도 설명을 해주기 때문에 그동안 미뤄놨던 기능들을 마치 All in One 같이 알아볼 수 있다. 그래서 자바의 새로 추가된 기능들에 대해서 한번 정도 정리해보고 싶거나 하는 개발자들에게 많은 도움이 될것 같다. 

 

728x90
반응형
반응형

Arrays.asList(array);

이렇게 하면 array를 List로 변환해 준다.

나름 유용할듯. ^^

이것 이외에도 sort도 사용할수 있다.

Arrays.sort(array)

배열 정렬시킬때 잘 써먹을듯 하다. 

728x90
반응형

'Development > Java' 카테고리의 다른 글

Null Object 사용  (0) 2013.07.05
Singleton Pattern  (0) 2013.07.03
Annotation : Retention  (0) 2013.07.01
Meta Annotaion  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
반응형

Annotation을 지정할 때에 특정 field나 method에 한정해서 지정해 줄 수 있다.


@Target(ElementType.FIELD)

위와 같이 사용하게 되면 해당 Annotation은 Field에만 사용할 수 있게된다.

FIELD 이외에도 다른 타입들이 존재한다.

TYPE(Class, interface..)
METHOD
PARAMETER
CONSTRUCTOR
LOCAL_VARIABLE
ANNOTATION_TYPE
PACKAGE

여러개를 사용하고 싶을 때에는 다음과 같이 Array형태로 지정한다.

@Target({ElementType.FIELD,ElementType.METHOD })


728x90
반응형

'Development > Java' 카테고리의 다른 글

List 를 Array로 바꾸는 함수.  (0) 2013.07.02
Annotation : Retention  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
Fileld명을 테이블 컬럼명으로 바꾸자  (0) 2013.04.06
Tomcat 구동시 라이브러리를 못찾을 경우..  (0) 2013.03.29
반응형

가끔 이런것이 필요할 때가 있다.

userId 를 USER_ID 로 바꾸는 기능.

  1. public class Test {
  2.     public static void main(String[] args) throws Exception {
  3.         String regex = "([a-z])([A-Z])";
  4.         String replacement = "$1_$2";
  5.                 String str = "UserId";
  6.                 String value = "";
  7.                 value = str.replaceAll(regex, replacement).toUpperCase();
  8.                 System.out.println(value);
  9.     }
  10. }

728x90
반응형

'Development > Java' 카테고리의 다른 글

Meta Annotaion  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
Tomcat 구동시 라이브러리를 못찾을 경우..  (0) 2013.03.29
ExecutorService  (0) 2013.03.22
오버라이딩 규칙  (0) 2013.02.12
반응형

해당 workspace 아래에 있는 

.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\프로젝트 명\WEB-INF

이 폴더를 찾아가서 lib가 제대로 들어가 있는지 확인해 보자..

이클립스 화면에 보인다고 해서 다 돌아가는게 아니더라...-_-;;

프로젝트 publising 할대 위에 폴더로 jar 파일이랑 다 들어가는데 그때 안들어가는 경우가 생기기도 한다..

그러니... 잘 기억해두고 찾아보자..


728x90
반응형

'Development > Java' 카테고리의 다른 글

Type-Safe Code란?  (0) 2013.06.25
Fileld명을 테이블 컬럼명으로 바꾸자  (0) 2013.04.06
ExecutorService  (0) 2013.03.22
오버라이딩 규칙  (0) 2013.02.12
Java에서 Null 값을 비교할 때  (0) 2013.02.12
반응형

1. 오버라이딩 할때에는 접근 제한자의 범위가 같거나 커야한다.

 

2. 오버라이딩 된 하위 클래스의 메서드에 throws 구문이 있으면 상위 클래스의 오버라이딩을 준 메서드도 반드시 해당 예외 클래스에 준하는 throws 구문이 있어야 한다.

 

맨날 오버로딩하고 헷갈리는 오버라이딩

규칙도 있다는것을 처음 알았다

 

참고로 오버 로딩은 매개변수가 다르거나 매개변수의 자료형이 틀린 동일한 메서드를 말한다.

까먹지 말아야지..

728x90
반응형

+ Recent posts