일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 몰디브
- 클로저
- Spring
- 2022회고
- 부트캠프
- http
- html
- HTTP 완벽가이드
- java
- JavaScript
- css
- SpringSecurity
- 헤리턴스아라
- 이펙티브자바
- 취업회고
- 주간회고
- jvm
- 바닐라코딩
- 상속
- 자바
- til
- Hibernate Reactive
- 포트폴리오
- 소프트웨어장인정신
- CORS
- 메가테라
- http 완벽 가이드
- leetcode
- 신혼여행
- 자바스크립트
- Today
- Total
codingBird
11주차 - 주간 회고 본문
1. stream 사용에 대한 의문이 생겼다.
public List<Integer> toOneDimension(int[][] ints) {
List<Integer> numbers = new ArrayList<>();
IntStream.range(0, ints.length)
.forEach((y) ->
Arrays.stream(ints[y])
.forEach((x) -> numbers.add(x)));
return new ArrayList<>(numbers);
}
9주 차에서 언급한 적이 있듯, 의도적으로 for 문 사용을 지양했었다. for 문은 무언가를 반복한다는 의미만 있어 해당 코드의 의도를 명확하게 알고자 하면 코드를 하나하나 분석해야 하기 때문. 그런데 무작정 stream만 가지고 문제를 해결하자니 오히려 가독성이 떨어지는 일이 생기는 것 같다.
예를 들면 위와 같은 코드가 그러하다. 2차원 배열을 List로 변환하는 과정인데 2중 for 문을 사용하면 간단히 해결될 문제를 forEach에 forEach를 물어버려 오히려 복잡해진 느낌이 들고 아래를 보면,
public int picking(List<Stack> reversed, int[] moves) {
Stack stack = new Stack();
return Arrays.stream(moves).reduce(0, (acc, number) -> {
if (reversed.get(number - 1).size() == 0) {
return acc;
}
stack.push(reversed.get(number - 1).pop());
if (stack.size() >= 2) {
if (stack.get(stack.size() - 1) == stack.get(stack.size() - 2)) {
stack.pop();
stack.pop();
return acc += 2;
}
}
return acc;
});
}
Stack List를 구현하고자 작성했던 코드인데 이게 과연 자바 코드가 맞을까 싶은 정도로 자바스크립트와 유사한 방식의 코드가 보인다.
물론, 이와 같은 상황은 코드를 작성하는 버릇이나 개인 특성으로 인한 거지만 더 좋은 코드가 무엇인지 고민이 필요한 시점인 것 같다.
2. 휴식과 공부 사이 어드매에 있는 황금 포인트를 찾은 듯 하다.
항상 목요일만 되면 오후까지 정신을 차리지 못할 정도로 피곤해 하루 종일 졸곤 했는데,
점심 시간에 강제로 30분 누워서 휴식을 취하니 오후 내내 피곤하지 않고, 목요일이 되어서도 컨디션이 멀쩡하게 되었다. 이제서야 휴식의 중요성을 느끼다니. 조금 더 일찍 알았더라면 조금 더 효율 좋게 공부할 수 있지 않았을까 조금 아쉽다.
3. 요지부동하자
지금 코딩도장에는 1기분들이 웹 개발자 프로그램 코스의 마지막 단계인 개인 프로젝트를 준비하고 있다.
비록 단 몇 주이긴 하나 취업에 한 발짝 앞선 모습을 보면 내심 부럽기도 하고, 나도 이제 슬슬 취업 준비해야 하는 게 아닌가 싶어 주어진 학습 자료 외에 무언가를 더해야 하지 않을까 생각이 들었지만.
이번 주 강의 키워드 중 하나인 JWT에 대해 정확히 설명하지 못하는 내 모습을 발견해 주어진 학습 자료를 더 잘게 그리고 완벽하게 흡수하는 방향으로 가고자 한다. 만약 무언가 더 학습을 하더라도 주간 학습을 베이스로 찾아서 공부하자.
Action Plan
- 유노윤호 프로젝트 계속 진행 ( 압도적 학습, 압도적 낮잠 )
- 코드, 생활 패턴, 학습 패턴에 대한 개선점을 끊임 없이 생각해서 개선하자.
'회고' 카테고리의 다른 글
13주차 - 주간회고 (0) | 2022.11.27 |
---|---|
12주차 - 주간회고 (0) | 2022.11.20 |
10주차 - 주간회고 (0) | 2022.11.04 |
9주차 - 주간 회고 (0) | 2022.10.21 |
8주차 주간 회고 (0) | 2022.10.19 |