반응형

Java 9

Java 8 표준 API의 함수형 인터페이스

1. 함수형 인터페이스는 java.util.fuction 표준 API 패키지로 제공하며 크게 5가지 종류가 있다. : Consumer, Supplier, Function, Operator, Predicate 2. 매개타입으로 사용되어 람다식을 매개값으로 대입할 수 있도록 해준다. 각 인터페이스는 또 여러개의 인터페이스로 나뉜다 두개의 매개 변수를 받는 인터페이스라면 bi 라는 접두사, 정수 타입을 매개변수로 전달받는 인터페이스라면 int 라는 접두사가 혹은 실수 타입을 반환하는 인터페이스라면 AsDouble과 같은 접미사가 달려있는 등 일정한 네이밍 규칙이 존재한다. Consumer 계열 : 매개 값은 있고, 반환 값은 없다. 매개 값을 전달받아 사용하고 아무것도 반환하지 않을 때 사용된다. 이를 소비 ..

Spring/Java,Spring 2023.09.17

System.nanoTime & System.currentTimeMillis (feat. Intstant.now())

System.currentTimeMillis 시스템의 시간을 사용하기 위해서 or 현재 시간을 알아내기 위해서 주로 사용 밀리초 단위 사용 (ms) - 1초 = 1000ms System.currentTimeMills는 1970 -01 -01 (협정 세계시) 기점으로 흐른 시간을 ms 로 표현해주어 현재 시간으로 변환이 가능 System.nanoTime 기준 시점에서 경과 시간을 측정하는데 주로 사용 나노초 단위 사용 (ns) 1초 = 1e+9 시스템 시간, 현재 시간과 무관 JVM의 정밀한 시간 소스의 현재 값은 long타입으로, 나노 세컨트 (1/10^-9)로하게 정밀한 시간 표현 가능 다른 서버간 통신 시간 측정시 사용하면 안됨 결론 정교한 시간 성능을 측정하기 위해서는 nanoTime()을 추천 시..

Spring/Java,Spring 2023.09.16

Oracle JDK & Open JDK

JDK 란 JDK 는 Java Development Kit 의 줄임말로 Java 플랫폼에 사용되는 소프트웨어 개발 환경 이라고 이해 하면된다. Java Application 을 실행하기 위해서 JVM이 필요하고 컴파일 하기 위해서 JDK가 필요하다. JDK를 설치하면 JVM도 함께 설치된다. 독립형 JRE 보다 더 많은 도구와 Java 애플리케이션 개발에 필요한 다른 구성 요소가 포함되어 있다. JDK는 2개 버전으로 나뉜다. 폐쇄적인 상업 코드 기반의 Oracle JDK, 오픈 소스 기반의 OpenJDK Oracle이 2010년에 Sun Microsystems을 인수하여 Oracle JDK 가 됨 Oracle JDK과 Open JDK 논쟁 LTS(Long term support) 릴리즈 : Java8 ..

Spring/Java,Spring 2023.09.15

[LeetCode] problem 1. Two Sum (Using HashMap)

지난번에 Two-Sum을 BruteForce 방식으로 풀고 나서 시간을 단축하기 위해 HashMap을 쓰고 싶다 라는 생각을 했었다. [LeetCode] problem 1. Two Sum Description. Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one so.. itkevin.tistory.com 오늘 코드 리뷰 이전까지 바쁘다는 핑계로 시도를 못했지만 오늘 다른 스터디원들의 친절하고 자세한 코드 리뷰를 듣고 용기를 내어 다시 풀어봐야겠..

ETC/Algorithm 2021.11.25

[Book] 자바 ORM 표준 JPA 프로그래밍 과 인연

JPA를 처음 알게 된 건 회사에서 업무 외에 진행하고 있는 토이 프로젝트에서 Spring Security를 쓰면서 우연히 알게 되었습니다. 그때 그 멍~했던 기분을 아직도 잊을수 없어요! Spring Security의 동작 원리를 파악하기 위해서 브레이크 포인트를 찍고 디버깅을 하는데 쿼리가 없다?! 어 내가 F8(다음 중단점으로 이동 단축키)를 눌렀나?라고 생각해서 4~5번은 돌려본 것 같아요 내 눈에 보이는 건 몇개의 어노테이션과 CRUD로 추정되는 함수들이 전부 ㅋㅋㅋ 이게 머선 129?!?! 오늘도 또 물음표로 시작합니다 우연히 알게 된 JPA라는 녀석에 관심이 생겨서 이것~저것~ 알아보다 보니 굉장히 흥미롭다고 생각이 들어서 한번 배워보고 싶다!라는 생각에 이곳저곳 수소문을 하고 다녔어요 (J..

ETC/Books 2021.09.27

[Book] Clean Code 리뷰 들어가기 전에

저는 국내 IT기업에서 시스템 개발 및 운영하는 업무를 하고 있습니다. 소프트웨어 개발과 관련된 업무는 시스템의 기존 소스를 리팩토링 하거나 고객의 요청사항에 맞게 시스템을 수정하거나 신규 기능을 추가하는 업무입니다. 리팩토링은 하드코딩되어 있는 부분을 조건문과 반복문을 이용해서 재 구성을 하거나 업무 성격에 맞게 서비스 단위로 코드를 분류하는 작업을 했고, 기능 개발은 간신히 동작이 될 정도로 구현했습니다. (제대로 한 게 맞는지 확신이 없습니다..) 오히려 리팩토링을 하기 전 소스가 더 좋았던 것 같단 생각이 들 때도 많습니다 ㅠㅠ 이대로는 안되겠다는 생각을 하게 되면서 알아보던 중 수학에는 수학의정석이 있다면 개발자에게는 Clean Code 라는 책이 있다는 사실을 알게 되었습니다. 로버드 C. 마..

ETC/Books 2021.09.26
반응형