자바 5

코드 가독성 개선 with if kakao

코드 가독성 개선 with if kakao 오늘은 if 카카오에 올라온 코드 가독성 개선 영상을 보고 정리할까 한다. 프론트엔드 파트에서 나와 JS를 기준으로 설명하지만 코드를 개선함에 있어 백엔드에도 적용되는 부분이 있었다. https://youtu.be/emGLxi0LvNI?si=rWqOcyGA8HiAKQYj 영상은 주니어 프론트개발자과 함께 진행한 코드 가독성 개선을 공유한다. 가독성 개선을 위해 집중한 부분은 다음과 같다. 정확한 단어 고르기와 잘 보이는 형태로 작성해보기 하나씩 알아보자. 정확한 단어 고르기 다른 뜻을 가진 단어와 구분하기 load와 fetch의 사전적 정의는 다음과 같다. load: 가져와서 싣다 fetch: 가져오다 함수명에 load를 포함하면 가져온 후 싣는 행동을 기대할 ..

자바 2023.12.11

JVM 메모리 구조을 알아보고 JVM warm up을 이해하자

JVM 메모리 구조을 알아보고 JVM warm up을 이해하자 목표 JVM에 대해 알아보고 카카오 if 영상, JVM warm up을 이해한다. JVM? "Write Once, Run Anywhere(WORA)" 자바 바이트코드를 실행하는 가상머신. 자바코드는 java compiler에 의해 바이트코드(클래스 파일)로 변환되고 JVM 위에서 interprete 방식으로 실행된다. 위 그림의 backend(JVM)은 바이트코드를 어셈블리어로 바꿔야하는데 어셈블리어가 OS나 하드웨어에 종속적이다. 따라서 자바 컴파일러로 바이트코드를 만드는 부분인 compiler frontend는 OS나 하드웨어에 종속되지 않는다. JVM 구조 Runtime Data Areas JVM이 자바 바이트코드를 실행하기 위해 사용하..

자바 2023.12.07

자바 인 액션 실전 요약 (2) Ch. 3 람다 표현식

자바 인 액션 실전 요약 Ch 3. 람다 표현식 주니어인 내가 당장 알아야하는 챕터만으로 정리했다. 병렬 처리와 프로그래밍의 역사적 흐름과 같은 내용은 제외했다. 최대한 책의 내용을 그대로 요약하려 노력했고 내 의견은 기울여서 표현했다. 예제 코드는 내 프로젝트에서 따오거나 직접 작성한 코드들이다. Chapter 3 람다 표현식 람다란? 메서드로 전달할 수 있는 익명 함수를 단순화한 것 참고로 람다라는 용어는 다음과 같다고 한다. "람다 표현식"에서의 "람다"는 람다 대수(lambda calculus)에서 유래한 용어입니다. 람다 대수는 함수 정의와 함수 응용을 기술하는 형식적인 언어로, 수학적인 논리와 계산 이론에서 사용됩니다. 이 용어는 프로그래밍 언어에서도 채택되었고, 특히 함수형 프로그래밍 언어에..

자바 2023.10.19

자바 인 액션 실전 요약 (5) Ch 12. 새로운 날짜와 시간 API

자바 인 액션 실전 요약 Ch 12. 새로운 날짜와 시간 API 주니어인 내가 당장 알아야하는 챕터만으로 정리했다. 병렬 처리와 프로그래밍의 역사적 흐름과 같은 내용은 제외했다. 최대한 책의 내용을 그대로 요약하려 노력했고 내 의견은 기울여서 표현했다. 예제 코드는 내 프로젝트에서 따오거나 직접 작성한 코드들이다. Chapter 12 새로운 날짜와 시간 API 자바 8 이전 버전에서 제공하는 java.util.Date 클래스는 여러 결함이 존재했다. java.time 패키지는 LocalDate, LocalTime, LocalDateTime, Instant, Duration, Period 와 같은 새로운 클래스를 제공한다. 다음은 LocalDate와 LocalTime의 간단한 예시이다. LocalDate ..

자바 2023.10.17

자바 인 액션 실전 요약 (1) Ch 1 ~ 2 자바와 동적 파라미터화

자바 인 액션 실전 요약 Ch 1 ~ 2 자바와 동적 파라미터화 주니어인 내가 당장 알아야하는 챕터만으로 정리했다. 병렬 처리와 프로그래밍의 역사적 흐름과 같은 내용은 제외했다. 최대한 책의 내용을 그대로 요약하려 노력했고 내 의견은 기울여서 표현했다. 예제 코드는 내 프로젝트에서 따오거나 직접 작성한 코드들이다. Chapter 1 자바에서 무슨 일이 일어나고 있을까? 자바 8은 람다와 스트림 API로 간결한 코드를 구현할 수 있도록 지원한다. 람다는 Ch. 3, 스트림 API는 Ch. 4 ~ 6에서 자세한 내용을 확인할 수 있다. 프로그래밍 언어의 핵심은 값을 변경하는 것이다. 그리고 우리는 이 값을 "일급 값"이라고 한다. 반면에 인스턴스화하여 전달하는 값인 메서드, 클래스를 이급 값 이라 한다. 자..

자바 2023.10.17