| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 뇌정리
- 회고
- 미니프로젝트
- 코드숨
- Real MySQL
- LeetCode
- If
- 주간회고
- 책리뷰
- 2020년 제4회 정보처리기사 필기 문제 분석
- 성적프로그램
- 정보처리기사
- 알고리즘
- 2020년 일정
- algorithms
- Til
- java
- 2020년 정보처리기사 4회
- 함수형 코딩
- 항해99
- hackerrank
- Python
- 서평
- jsp
- 스터디
- git
- 필기
- sqldeveloper
- Jackson
- post
- Today
- Total
목록전체 글 (174)
조컴퓨터
1. real MySQL 11장 완료 - group by 인덱스 최적화 (where 구문에 index 를 건 다음에 group by 구문에 index 를 거는 경우가 종종 있음. 즉, group by 순서를 생각하지 못하는 경우가 있음) - pk 설정은 모델링 관점에서 실물일 때, 자연키를 사용하고 그 외의 경우에는 인조키(예를 들어, uuid) 를 사용해야 한다. - LIMIT 으로 페이징 처리 시, where 조건절을 사용하는 것이 효율이 좋다. 2. 테스트 작성 - London school TDD 방식으로 test 작성을 하고 있는데, 잘 되지 않는다. 3. 오늘 할 일 중에 강의를 마저 들어야 할 것이 있었는데, 막판에 voc 가 터져서 다 듣지 못했다. 4. server history 관련한 개..
2022-11-21 ~ 12-19 딱 한 달이라는 기간을 정하고 공부하기 시작했다. MySQL 를 개발용으로 간단한 쿼리로만 대충 사용해보고, 튜닝이나 최적화를 생각해 본 경험이 전혀 없어서 이 책의 시선이나 시야가 신선하게 느껴졌다. 그리고 생각했던 것 보다 난이도가 있어서 좀 더 쉬운 책을 접하고 읽는 편이 효율이 좋을 것 같다. 개인적으로는 쿡북을 읽어 볼 예정이다. 솔직히 머리속에 남아있는 내용이 없다. 정말 어려웠다.
2022-09-03 ~ 11-05 (정확히는 오브젝트 스터디 회고를 진행하는 11-12 까지) 거의 두 달에 달하는 긴 스터디였다. 스터디 인원은 7명으로 시작했는데 시간이 지날수록 한 명씩 빠져나가 11월 5일 마지막 챕터는 나와 규원 님 둘이서 진행했다. 이 책은 객체지향 프로그래밍을 공부할 때 빼놓을 수 없는 책 중에 한 권이다. `객체란 무엇인가` 에 대한 의문을 가진 순간부터 지금까지 `객체` 에 대한 이야기를 꺼내면 항상 듣게 되는 이야기 중 하나가 조금 어렵겠지만 조영호 님의 오브젝트를 읽어보라는 이야기였다. 이 책은 OOP 의 전반적인 내용을 주입식의 서술이 아닌 이해할 수 있는 범주에서의 서술로 기술하고 있다. 물론 아직 이해가 안되는 부분도 있다. OOP 의 추상화, 캡슐, 상속, 다형..
`만들면서 배우는 클린아키텍처` 는 계층형 아키텍처의 문제에 대한 이야기로 시작해서 여러 가지의 트레이드 오프를 거친 후 최종적인 형태인 `헥사고날 아키텍처` 까지의 변환 과정을 적은 지면 안에 효과적으로 잘 집어넣은 책이다. 헥사고날 아키텍처에 대해 아직 이해가 되지 않는 부분이 있다. 예를 들면, 중간 과정이 너무나 많다는 것이다. 의존성을 줄이기 위해서 수많은 변환 과정을 거친다는 것이 이 책의 주요 골자인데, 의존성을 줄여야 하는 것은 맞지만 이렇게 많은 극단적인 계층적 분리가 필요한가 ? 이 점은 아직까지 의문으로 남아있다. 그러나 이 책을 읽으면서 좋았던 점은 헥사고날 아키텍처가 완연한 도메인 중심 디자인을 지향한다는 점이다. DDD 를 명확하게 이해하지 못한터라 도메인 중심이라는 키워드에 항..
API 에 대해 그림으로 잘 표현한 것이 있어 가져왔다. 요즘 하고 있는 일이 딱 이런 내용이다. 출처 https://www.linkedin.com/feed/update/urn:li:share:6968039620949270528?utm_source=linkedin_share&utm_medium=member_desktop_share&utm_content=post LinkedIn Tim Yeh 페이지: Interesting Interesting… www.linkedin.com
챕터 9에서 중점적으로 볼 내용은 ? - 코드를 모듈화하기 위해 추상화 벽을 만들기 - 좋은 인터페이스가 어떤 것이고, 어떻게 찾는지 알아보기 - 왜 계층형 설계가 유지보수와 테스트, 재사용에 도움이 되는지 이해하기 계층형 설계 패턴 패턴 2 : 추상화 벽 추상화 벽(abstraction barrier) 이라 하는 두 번째 패턴은 여러 가지 문제를 해결한다. 그중 하나는 팀 간 책임을 명확히 나누는 것이다. 추상화 벽으로 구현을 감춘다 추상화 벽(abstraction barrier) 은 세부 구현을 감춘 함수로 이루어진 계층이다. 추상화 벽에 있는 함수를 사용할 때는 구현을 전혀 몰라도 함수를 쓸 수 있다. 점선 위에 있는 함수로 마케팅 팀은 독립적으로 일할 수 있습니다. 점선 위에 있는 함수는 장바구니..
챕터 8에서 중점적으로 볼 내용은 ? - 소프트웨어 설계에 대한 실용적인 정의 소개 - 계층형 설계를 이해하고 어떤 도움이 되는지 알아보기 - 깨끗한 코드를 만들기 위해 함수를 추출하는 방법 배우기 - 계층을 나누어 소프트웨어를 설계하면 왜 더 나은 생각을 할 수 있는지 알아보기 소프트웨어 설계란 무엇인가 ? 설계를 잘하면 소프트웨어 개발 과정 전체에 도움이 된다. 아이디어를 코드로 구현하고 테스트하고 유지보수하기 쉽다. 소프트웨어 설계(software design) 코드를 만들고, 테스트하고, 유지보수하기 쉬운 프로그래밍 방법을 선택하기 위해 미적 감각을 사용하는 것 소프트웨어 설계 중 계층형 설계(stratified design) 을 사용해 볼 것이다. 계층형 설계란 무엇인가 ? 계층형 설계는 소프트..
챕터 7에서 중점적으로 볼 내용은 ? - 레거시 코드나 신뢰할 수 없는 코드로부터 내 코드를 보호하기 위해 방어적 복사를 만들기 - 얕은 복사와 깊은 복사 비교 - 카피-온-라이트와 방어적 복사를 언제 사용하면 좋은지 레거시 코드와 불변성 MegaMart 는 블랙 프라이데이 세일을 준비하기로 한다. 이전부터 MegaMart 코드에 많은 기능이 추가되어 왔다. 지금은 잘 동작하고 있고 비즈니스를 위해 코드를 유지하는 것이 중요하다. 지금까지 장바구니에 관련된 코드는 모두 카피-온-라이트를 적용해 불변성을 유지했다. 하지만 블랙 프라이데이 행사 코드는 많은 곳에서 장바구니 데이터를 변경한다. 잘 동작하기는 하지만 오래전에 만든 코드라 당장 바꿀 시간이 없다. 그래서 레거시 코드에 쓸 수 있는 안전한 인터페이..