Java
-
[Java7] 자바 숫자 _(언더바) 표현Java/기본 2017. 7. 9. 21:12
Oracle Java docs: Underscores in Numeric Literals 자바 8 인 액션을 보다가 숫자와 _(언더스코어)를 섞어서 쓰는 것을 처음 보았다. int a = 10_000_000; 이런 식인 것이다. 자바7 이후 버전부터 _는 숫자 리터럴의 어디에도 등장할 수 있다. 이로 인해 숫자를 끊어 읽을 수 있게 되어 가독성을 향상 시킬 수 있다. 예를들어 int myMoneyWon = 180000000라고 할 때, 한번에 얼마인지 파악하기 힘들다. 하지만 int myMoneyWon = 180_000_000라고쓴다면 (한국인의 경우) 몇 원인지 파악하기 쉽다. 하지만 마음대로 숫자와 섞어 쓸수는 없다. _는 숫자 사이에만 올 수 있다. 아래와 같은 곳에는 위치할 수 없다. 숫자의 처음..
-
JAVA 프로그래밍 면접 이렇게 준비한다후기/Book Review 2017. 3. 5. 22:07
면접을 준비하며 쭉 훑어보기 좋은 책이다. 제목만 보면 면접에 대한 것만 나올 것 같지만 사실은 면접 유형부터 시작해서 이력서 눈에 띄게 쓰는 방법, 필기시험이나 코딩테스트에 관한 팁(물론 면접 때 손코딩을 하기도 하지만) 등 면접 외적인 부분들도 잘 설명하고 있다. 따라서 이직을 준비하는 자바(스프링)개발자라면 꼭 읽기를 추천한다. (두 가지 걸리는 점은 약간은 구식의 내용이 있다는 것과, RESTFul에서 POST와 PUT을 반대로 설명한다는 점 정도가 있겠다...) 면접 내용과 관련해서는 본격적으로 자바 핵심, 컴포넌트와 프레임워크 위주로 설명을 한다.자바 핵심에서는 String의 특성들, JVM, 스레드 부분이 기억에 남는다. (그리고 면접 때 단골로 나오는 주제들이기도 하다)컴포넌트와 프레임워크..
-
[Java7] readAllLinesJava/기본 2017. 2. 9. 22:35
Java7의 try-with-resources를 사용하면 시스템 리소스 사용 후 해제를 일일히 안해줘도 된다고 했었다. 아래는 지난 글 [Java7] try-with-resources 예제 코드이다. 이제는 한발 더 나아가서 파일에서 한 줄씩 읽는 것이 아닌 한 번에 모든 문서를 읽는 방법이다. Java7에서 추가된 readAllLines라는 API이다. 다음과 같은 시그니쳐를 가지고 있다. 파일 경로와 인코딩 설정을 각각 Path와 Charset타입으로 인수에 넣으면 파일의 모든 라인을 읽어와 List로 저장한다. 아래는 readAllLines를 활용하여 위의 코드와 같은 기능을 하는 메소드이다. 출처: Oracle java doc
-
스프링 입문을 위한 자바 객체지향의 원리와 이해후기/Book Review 2017. 1. 23. 22:26
토비의 스프링 3.1의 1권 1장을 읽고 나서, 내가 아직도 부족하다는 것을 느끼고, 잠들어 있던 이 책을 다시 꺼냈다.자바는 배웠지만 C처럼 쓰는 초보, 스프링을 사용하여 개발은 하지만 정작 자바의 기본은 부족한 개발자 등 많은 이들에게 유용한 것 같다.예전에 이미 한번 읽은터라 훑어가며 다시 읽었다. 필요한 부분만 읽으려고 2장, 4장 이런식으로 띄엄띄엄 읽다가 결국은 완독하고 말았다. 책에서 좋았던 점은 1) T메모리 구조를 보여주면서 static, stack, heap 영역들의 역할과 구조 등을 알려 주는 점2) 상속 부분에서 is a 가 아닌 is a kind of로 설명하는 점3) SOLID, 디자인패턴 등을 간략하고 쉽게 설명하는 점4) 스프링의 삼각형(IoC/DI, AOP, PSA)를 간략..
-
[Java8] String.joinJava/기본 2017. 1. 21. 11:15
반복되는 구분자들을 이어 붙이는 작업들을 어떻게 하면 좋을까? "생년_이름_휴대폰끝자리" 형태처럼 _(언더바) 기호로 여러 항목들을 붙여서 키를 구성한다거나 할 경우가 있을 것이다. 기본적으로 세가지 방법이 있을 것이다. 1) 일일이 "_" 구분자를 붙여준다. 2) for 루프를 사용하여 붙여준다. 그리고 3) Java8의 String.join기능을 사용한다. String.join 메소드의 첫번째 인자에는 구분자, 두번째 인자에는 어레이나 컬렉션 형태의 문자열들을 넣는다. 자세한 내용은 아래 코드 참고 (3개의 테스트 모두 같은 결과, 초록색 막대기를 보여줄 것이다)