Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트
- 소프트웨어
- til
- 스파르타내일배움캠프TIL
- 중심사회
- wil
- 운영체제
- Python
- 스파르타내일배움캠프
- 개발자블로그
- 개인공부
- 국비
- 99일지
- 개발자스터디
- MySQL
- Flutter
- 컴퓨터구조론 5판
- Spring
- 프로그래머스
- 백준
- 부트캠프
- 스파르타내일배움캠프WIL
- java
- 스파르타코딩클럽
- 99클럽
- 자바
- 컴퓨터개론
- 항해
- 내일배움캠프
- AWS
Archives
- Today
- Total
컴공생의 발자취
계산기 만들기(level 1) 본문
728x90
반응형
2024.04.29.(월)
💡 오늘의 학습 키워드
- 5주차 -
순수 함수
스트림
람다
Optional
- 숙제 -
mapToDouble()
getAsDouble()
- 코드카타 -
limit
- 개인과제 -
LinkedList 사용법
순수 함수(= 순수한 메서드)
: 외부의 영향력이 미치지 않는 것
스트림
: 컬렉션이 반복을 처리하는 기능
ex) map, filter, forEach...
- map() : 모든 요소를 가공해서 반환
- filter() : 조건에 맞는 것만 반환
- forEach() : 각각의 원소에 넘겨받은 함수 실행
- 스트림 받아오기(.stream())
carsWantToPark.stream()
- 스트림 가공하기
.filter((Car car) -> car.getCompany().equals("Benz"))
- 스트림 결과 만들기
.toList();
- 원본 데이터 변경 X
- 일회용
람다
( 파라미터 값, ... ) -> { 함수 몸체 }
// 한 줄은 return과 중괄호 생략 가능
limit
: 상위 n개 레코드만 보여주기
Optional
: Null Pointer Exception을 방지
- 값이 null인 Optional 생성하기
Optional<Car> emptyOptional = Optional.empty();
- 값이 있는 Optional 생성하기
Optional<Car> hasDataOptional = Optional.of(new Car());
- 값이 있을수도 없을수도 있는 Optional 생성하기
Optional<Car> hasDataOptional = Optional.ofNullable(getCarFromDB());
- Optional 객체 사용하기(값 받아오기)
Optional<String> carName = getCarNameFromDB();
// orElse()를 통해 값을 받아옵니다. 파라미터로는 null인 경우 반환할 값을 적습니다.
String realCarName = carName.orElse("NoCar");
// 위는 예시 코드, 실제는 아래와 같이 사용
String carName = getCarNameFromDB().orElse("NoCar"):
// orElseGet()이라는 메서드를 사용해서 값을 받아올 수 있다
// 파라미터로는 없는 경우 실행될 함수를 전달
Car car = getCarNameFromDB().orElseGet(Car::new);
// 값이 없으면, 그 아래 로직을 수행하는데 큰 장애가 되는 경우 에러를 발생
Car car = getCarNameFromDB().orElseThrow(() -> new CarNotFoundException("NO CAR!))
mapToDouble()
: 숫자형 스트림으로 반환
getAsDouble()
: OptionalDouble 객체의 값을 double로 가져오기 위해서는 getAsDouble()를 사용해야 한다.
LinkedList 사용법
* 정리 엄청 잘하셨움.. 👍
숙제
- 숙제 내용 간략한 설명
stream을 활용해서 아래와 같은 문제를 풀이하는 거 였다.
- 책 분류 준비 코드가 주어진다.
- 카테고리가 여행인 책 제목 조회
- 가격이 16,200원 이하인 책 제목 조회
- 책 제목에 "경제"라는 용어가 들어간 책 제목 조회
- 가격이 가장 비싼 책 가격 조회
- 카테고리가 IT인 책들의 가격 합 조회
- IT 책 할인 이벤트!
- 숙제 결과물 보기(더보기 ..Click)
- 숙제 완료 후 고촬
이번 숙제는 그렇게 어렵지 않았다. 처음엔 문제를 보고 이게 뭐지? 싶었는데..
생각보다 쉽게 완료 할 수 있었다. 다만 mapToDouble 또는 getDouble? 이런 것들을 몰라서 헤맸다.
그리고 map이랑 forEach에 대한 사용은 아직 익숙하지 않아 불편?했다..
코드 카타
* 프로그래머스로 진행
- 알고리즘
- 두 수의 합
- 두 수의 나눗셈
- 각도기
- 짝수의 합
- SQL
- 동명 동물 수 찾기
- 아픈 동물 찾기
- 상위 n개 레코드
- 최솟값 구하기
개인과제
오늘의 회고
- 12시간 중 얼마나 몰입했는가?
생각보다 많은 집중은 하지 못한 것 같다.
오늘은 주의가 산만했던 것 같다.
- 오늘의 생각
이때까지 매번 강의에서 숙제를 내가 풀이한 것들이 거의 없었어서 살짝 암담하다 생각하고 있었는데..
그래도 마지막 주라도 숙제를 온전하게 내가 풀이할 수 있어서 다행이었다.
강의를 완강한 후 개인과제를 진행했는데.. level 1이라 그런지 아직까지는 쉬웠다!
- 내일 학습할 것은 무엇인지
개인과제 2와 더 나아가 3까지 진행할 예정이다.
시간이 된다면 네트워크 관리사 2급 자격증 공부와 독서토론 책을 읽을 예정이다.
그리고 내일은 꼭 형변환 정리와 bfs/dfs 공부를 할 것이다!!!
728x90
반응형
'🌃 TIL' 카테고리의 다른 글
Spring 실습과 다양한 개념 (0) | 2024.05.24 |
---|---|
유스케이스 다이어그램 및 RESTful한 API설계(Param vs Query vs Body) (1) | 2024.05.20 |
enum & final 및 팀 프로젝트(필수 기능) (0) | 2024.05.08 |
계산기 만들기(level 3) (0) | 2024.05.01 |
계산기 만들기(level 2) (0) | 2024.04.30 |