코딩 개념 잡는 자바 코딩 문제집 (문제를 최대한 많이 풀어라!)

코딩 개념 잡는 자바 코딩 문제집 (문제를 최대한 많이 풀어라!)

$48.25
Description
모던 자바를 빠르게 공략한다

모던 자바의 주요 개념을 확실하게 이해한다
현대 프로그래밍 언어의 트렌드를 반영하면서 자바에는 타입 추론, 함수형, 옵셔널, 널 안전 스트림, 디폴트 메서드, 중첩 기반 접근 제어, 퓨처, 개선된 동시성 기능 등이 추가되었다. 300개 이상의 응용프로그램과 1,000개 이상의 예제를 통해 주요 개념을 확실하게 이해하자.

빠르게 발전한 자바 문법과 라이브러리를 익힌다
자바 언어가 빠르게 발전하면서 자바 문법과 라이브러리에 많은 변화가 생겼다. 이러한 변화는 개발 환경의 변화와 그에 따른 개발자들의 요구를 수용하기 위한 것이었지만, 학습 곡선을 빠르게 높였다. 즉, 학습하기 어려워졌다. 이러한 변화는 자바 입문서로는 제대로 배우기 어렵다. 문법 이후 막막한 학생, 빠르게 발전한 자바의 발전을 따라 잡고 싶은 개발자에게 필요한 내용을 담았다.

실무에서 만나는 문제를 해결하면서 레벨업한다
실무에서 공통으로 접하게 되는 분야를 문제로 출제했다. 문자열, 숫자, 배열, 컬렉션, 데이터 구조, 날짜와 시간, 불변성, 타입 추론, 옵셔널, 자바 I/O, 비동기 처리, 동시성, 자바 리플렉션, 람다, 스트림, 컬렉터, 함수형 프로그래밍, 디자인 패턴, HTTP Client API 등에 대한 문제를 수록했다. 문제마다 구글 검색으로 해결하려 한다면 코딩 속도가 너무 느리다. <자바 코딩 문제집>으로 많은 문제를 접하고 해법을 익혀두자. 이미 접해본 문제와 해법이 많을수록 문제 해결력이 생기고 코딩 속도도 빨라진다.
저자

안겔레오나르드

앵겔레너드(AnghelLeonard)는자바생태계에서20년넘게경력을쌓은수석기술전략가이다.강력한아키텍처와클린코드,고성능을갖춘자바분산애플리케이션의설계와개발이주업무다.코칭과멘토링,기술자리더십에도열성적이다.
자바기술과관련해여러가지책과영상,그리고다수의글을남겼다.

목차

1장문자열과수,수학
__1.1문제
__1.2해법
____001문자개수세기
____002반복되지않는첫번째문자찾기
____003글자와단어뒤집기
____004숫자만포함하는문자열인지검사
____005모음과자음세기
____006문자빈도수세기
____007문자열을int,long,float,double로변환
____008문자열에서여백제거
____009구분자로여러문자열합치기
____010모든순열생성
____011문자열회문검사
____012중복문자제거
____013주어진문자제거
____014빈도수가가장높은문자찾기
____015문자열배열을길이순으로정렬
____016문자열이부분문자열을포함하는지검사
____017문자열내부분문자열빈도수세기
____018두문자열이애너그램인지검사
____019여러줄문자열(텍스트블록)선언
____020같은문자열n번이어붙이기
____021문자열앞과뒤공백제거
____022가장긴공통접두사찾기
____023들여쓰기적용
____024문자열변환
____025두수의최솟값과최댓값계산
____026두큰int/long수의합과연산오버플로
____027기수를지정해문자열을부호없는수로변환
____028부호없는수로변환
____029부호없는두수비교
____030부호없는값의나눗셈과나머지
____031double/float가유한부동소수점값인지검사
____032두불표현식에논리AND/OR/XOR적용
____033BigInteger를원시타입으로변환
____034long을int로변환
____035나눗셈과나머지의버림계산
____036다음부동소수점값
____037두큰int/long수의곱과연산오버플로
____038단일곱셈누산기(FusedMultiplyAdd)
____039컴팩트수포매팅
__1.3요약

2장객체와불변성,switch문
__2.1문제
__2.2해법
____040함수형스타일과절차적코드에서%00;참조검사
____041%00;참조검사와맞춤형%00;PointerException던지기
____042%00;참조검사와명시된예외(가령IllegalArgumentException)던지기
____043%00;참조검사와%00;이아닌기본참조반환
____044인덱스가0부터길이까지범위에속하는지검사
____045부분범위가0부터길이까지범위에속하는지검사
____046equals()와hashCode()
____047불변객체개요
____048불변문자열
____049불변클래스작성
____050불변클래스로가변객체전달
____051빌더패턴으로불변클래스작성
____052불변객체내잘못된데이터유입방지
____053객체복제
____054toString()오버라이딩
____055switch표현식
____056다수의case레이블
____057명령문블록
__2.3요약

3장날짜와시간다루기
__3.1문제
__3.2해법
____058문자열을날짜와시간으로변환
____059날짜와시간포매팅
____060시간/날짜없이현재날짜/시간구하기
____061LocalDate와LocalTime으로LocalDateTime생성
____062Instant클래스로기계시간구하기
____063날짜기반값을사용한기간(period)과시간기반값을사용한기간(duration)정의
____064날짜와시간단위구하기
____065날짜와시간더하기와빼기
____066UTC와GMT로모든표준시간대구하기
____067모든표준시간대로로컬날짜와시간구하기
____068항공편날짜와시간표시
____069유닉스타임스탬프를날짜와시간으로변환
____070어떤달의첫째날과마지막날찾기
____071존오프셋정의/추출
____072Date와Temporal간변환
____073날짜범위순회
____074나이계산
____075어떤날의시작과끝시간
____076두날짜간차이
____077체스시계구현
__3.3요약

4장타입추론
__4.1문제
__4.2해법
____078간단한var예제
____079원시타입에var사용하기
____080var와자동형변환으로코드유지보수성지속
____081명시적다운캐스트,사실var를쓰지않는편이낫다
____082눈으로봤을때호출하는이름에타입정보가부족하면var를쓰지말자
____083LVTI와인터페이스기반프로그래밍기법
____084LVTI와다이아몬드연산자
____085배열을var에할당
____086LVTI로복합선언
____087LVTI와변수범위
____088LVTI와삼항연산자
____089LVTI와for루프
____090LVTI와스트림
____091LVTI로연쇄적인중첩/긴표현식나누기
____092LVTI와메서드리턴과인자타입
____093LVTI와익명클래스
____094LVTI는final과effectivelyfinal에사용할수있다
____095LVTI와람다
____096LVTI와%00;초기자,인스턴스변수,catch블록변수
____097LVTI와제네릭타입T
____098LVTI와와일드카드,공변성,반변성
__4.3요약

5장배열,컬렉션,그리고데이터구조
__5.1문제
__5.2해법
____099배열정렬
____100배열내원소찾기
____101두배열의동등혹은불일치검사
____102사전순으로두배열비교
____103배열로스트림생성
____104배열의최솟값과최댓값,평균
____105배열뒤집기
____106배열채우기와할당
____107NGE(NextGreaterElement)
____108배열크기변경
____109수정불가/불변컬렉션생성
____110기본값매핑
____111맵의존재/부재계산
____112맵에서삭제
____113맵항목치환
____114두맵비교
____115맵정렬
____116해시맵복사
____117두맵병합
____118프레디케이트와일치하는컬렉션내모든원소삭제
____119컬렉션을배열로변환
____120리스트로컬렉션필터링
____121리스트원소치환
____122스레드안전컬렉션,스택,큐
____123너비우선탐색
____124트라이
____125튜플
____126유니온파인드
____127펜윅트리또는이진인덱스트리
____128블룸필터
__5.3요약

6장자바입출력경로,파일,버퍼,스캐닝,포매팅
__6.1문제
__6.2해법
____129파일경로생성
____130파일경로변환
____131파일경로결합
____132두위치간경로생성
____133파일경로비교
____134경로탐색
____135경로감시
____136파일내용스트리밍
____137파일트리에서파일과폴더검색
____138효율적으로텍스트파일읽고쓰기
____139효율적으로이진파일읽고쓰기
____140대용량파일검색
____141JSON/CSV파일객체로읽기
____142임시폴더와파일다루기
____143파일필터링
____144두파일간불일치찾기
____145순환바이트버퍼
____146파일토큰화
____147출력을포매팅해서파일에작성하기
____148Scanner다루기
__6.3요약

7장자바리플렉션클래스,인터페이스,생성자,메서드,필드
__7.1문제
__7.2해법
____149패키지검사
____150클래스검사
____151리플렉션생성자로인스턴스생성
____152리시버타입의애너테이션알아내기
____153합성과브릿지구조체알아내기
____154다양한수의인수검사
____155디폴트메서드검사
____156리플렉션으로중첩기반접근제어
____157게터와세터리플렉션
____158애너테이션리플렉션
____159인스턴스메서드호출
____160static메서드알아내기
____161메서드,필드,예외의제네릭타입알아내기
____162퍼블릭과프라이빗필드알아내기
____163배열처리
____164모듈검사
____165동적프록시
__7.3요약

8장함수형스타일프로그래밍의기초와디자인패턴
__8.1문제
__8.2해법
____166함수형인터페이스작성하기
____167람다요약
____168실행어라운드패턴구현
____169팩터리패턴구현
____170전략패턴구현
____171템플릿메서드패턴구현
____172옵저버패턴구현
____173론패턴구현
____174데코레이터패턴구현
____175캐스케이드빌더패턴구현
____176커맨드패턴구현
__8.3요약

9장함수형스타일프로그래밍더깊이파고들기
__9.1문제
__9.2해법
____177고차함수테스트
____178람다를사용하는메서드테스트
____179람다디버깅
____180스트림에서0이아닌원소필터링
____181무한스트림,takeWhile(),dropWhile()
____182스트림매핑
____183스트림에서원소찾기
____184스트림에서같은원소찾기
____185스트림의합,최대,최소
____186스트림결과모으기
____187스트림결과조인
____188컬렉터요약
____189그루핑
____190파티셔닝
____191컬렉터필터링,플래트닝,매핑
____192병합
____193맞춤형컬렉터작성
____194메서드참조
____195스트림병렬처리
____196널안전스트림
____197함수,프레디케이트,비교자구성
____198디폴트메서드
__9.3요약

10장동시성-스레드풀,콜러블,싱크로나이저
__10.1문제
__10.2해법