티스토리 뷰
- SQL
solved 1 SQL problem ✔
- Algorighm
I tried to solve kakao Algorithm which I tried few days ago. I couln't solve it....😥 thesedays, I am quiet confused that I am going on the right way. Maybe problem would be much difficult than I could solve. It could be cause of losing confidence. 😥 Anyway, keep trying to work on studying algorithms. 💻
- Woowa Tech Course (Lotto Mission Step2)
It tooks much hours than I thought. Refactored step1 review and Implemented step2 to create Pull Request. I could learn a lot while refactoring and developing. I think adding new requirements on previous system makes me learn a lot.
학습로그
[Java] BigDecimal - 1
내용
- BigDecimal에서 사칙연산은 BigDecimal을 반환한다. 따라서 새로 더한 값으로 덮어쓰고 싶다면 반환값을 재할당 해주어야 한다.
private BigDecimal getTotalPrize() {
BigDecimal localPrize = BigDecimal.ZERO;
for (Map.Entry<Rank, Integer> result : resultMap.entrySet()) {
localPrize = localPrize.add(
result.getKey().getPrize()
.multiply(BigDecimal.valueOf(result.getValue()))
);
}
return localPrize;
}
이 부분에서 총 합계가 계산이 잘 안되서 원인을 한참동안 찾았다ㅠㅠ
링크
[TDD] DTO, VO - 4
내용
- ✨가능한 모든 도메인에 속하는 코드에 대해 테스트코드를 작성하자!
- Result 클래스는 DTO라고 생각하여 테스트하지 않았는데 생각치 못한 버그가 발생함 (Result도 수익률 계산이라는 로직을 담고 있으므로 순수한 DTO 객체라고 하긴 어려운듯 싶다.)
- DTO와 VO의 차이
- DTO : Entity(Domain)과 View 사이의 통신하며 Presentation Logic이 있는 객체. 로직을 가지고 있지 않는 순수한 데이터 객체. 여기저기 흩어진 값들을 모으는 역할도 하는 듯 싶다. 호출하는 메소드를 줄이기 위해 만든 객체라고도 할 수 있다.
- VO : 값 객체. 원시값을 포장하는 객체 같은 것들을 의미함.
[Java] Builder패턴 - 3
내용
- 생성자 여부만 늘어나는 것이 있다면 Builder 패턴을 사용하면 좋다.
- 꼭 필요한 값은 Builder를 만들때 초기화 해주고, 추가적인 값들은 체이닝을 통해 선택할 수 있다. 계층적으로 설계된 클래스와 함께 사용하기 좋다고 한다.
- 2개 이상의 this() 생성자 체이닝이 이루어질때, 사용하면 유용할 듯 하다.
- Builder를 사용하는데 대한 의견
Builder를 구현해보았으나, 선택적 매개변수를 사용할 때 의미가 있는 것 같다. 결국 Result라는 객체는 WinningNumbers와 LottoTickets가 필수적으로 필요하기 때문에 Builder 패턴을 사용하면 오히려 필요한 정보가 누락되는 상황이 발생할 수 있다. 대신 생성자의 입력값을 더 간단하게 수정할 수 있었다.
[Java] EnumMap -3
내용
-
단순히 HashMap을 EnumMap으로 바꾸는 것 이외에 아무 차이가 없어 보였기에 어떤 효과가 있을지 공부해보았다.
1. Performance : performance optimization, like a quicker hash computation since all possible keys are known in advance. 2. Functionality : EnumMap is an ordered map, in that its views will iterate in enum order. 출처:https://www.baeldung.com/java-enum-map
Key 값으로 가지고 있기 위해서는 hashing 작업이 이루어지는데 EnumMap은 이미 알고있는 키이기 때문에 빠른 해싱이 가능하다고 한다. 정확한 내부구현은 어려운 듯 싶으니 해싱이 간편해진다는 요점을 알자.
또다른 기능은 EnumMap은 orderedMap이다. Enum에 명시된 순서를 유지한다.
링크
Today is the first day of writing TIL in English. 😎 More reading is needed. Lots of books beside of me. 📖
'TIL(Today I Learned)' 카테고리의 다른 글
21.02.24 TIL (0) | 2021.02.24 |
---|---|
21.02.23 TIL (0) | 2021.02.23 |
21.02.21 개발공부일지(주간회고 포함) (2) | 2021.02.21 |
21.02.20 개발공부일지 (0) | 2021.02.20 |
21.02.19 개발공부일지 (0) | 2021.02.19 |
- Total
- Today
- Yesterday
- 개발공부일지
- JS
- DB
- python
- React
- 운영체제
- 모의면접준비
- TIL
- 학습로그
- TCP/IP
- 네트워크
- 내부코드
- 알고리즘
- 마스터즈코스
- 글쓰기미션
- 인증
- 코드스쿼드
- javascript
- java
- OS
- JPA
- 카카오
- Transaction
- 우아한테크코스
- 월간회고
- Spring
- 회고
- CS
- 객체지향
- 우테코수업
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |