일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2020년 일정
- 책리뷰
- LeetCode
- java
- 서평
- post
- 2020년 제4회 정보처리기사 필기 문제 분석
- 정보처리기사
- 회고
- 미니프로젝트
- git
- Python
- algorithms
- 함수형 코딩
- Real MySQL
- sqldeveloper
- 주간회고
- rownum
- 알고리즘
- 뇌정리
- 필기
- Jackson
- If
- 2020년 정보처리기사 4회
- 성적프로그램
- jsp
- 스터디
- hackerrank
- 코드숨
- Til
- Today
- Total
목록전체 글 (171)
조컴퓨터
파트 1. 액션과 계산, 데이터 챕터 3. 액션과 계산, 데이터의 차이를 알기 챕터 3에서 중점적으로 볼 내용은 ? - 액션과 계산, 데이터가 어떻게 다른지 - 문제에 대해 생가갛거나 코드를 작성할 때 또는 코드를 읽을 때 액션과 계산, 데이터를 구분해서 적용 - 액션이 코드 전체로 퍼질 수 있다는 것을 이해 - 이미 있는 코드에서 어떤 부분이 액션인지 액션과 계산, 데이터 1. 액션 - 실행 시점과 횟수에 의존 - 부수 효과(side-effects), 부수 효과가 있는 함수(side-effecting function), 순수하지 않은 함수(impure function) 2. 계산 - 입력으로 출력을 계산 - 순수 함수(pure function), 수학 함수(mathematical function) 3...
챕터 2에서 중점적으로 볼 내용은 ? - 현실적인 문제에 함수형 사고를 적용 - 소프트웨어의 구조를 잡는데 왜 함수형 프로그래밍이 좋은지 - 액션을 타임라인으로 구조화 - 타임라인을 활용하면 시간에 대한 문제를 잘 풀 수 있음 토니 피자에 오신 것을 환영합니다. 피자 가게를 운영하는 토니는 로봇에 함수형 사고를 사용했다. 다음은 두 가지 함수형 사고의 기술을 다시 한 번 살펴본 내용이다. 토니가 적용한 것을 통해 알아보자. 1. 액션과 계산, 데이터 - 토니는 요리 재료와 기타 필요 자원을 사용하는 코드를 액션으로 구분하고, 나머지 코드는 계산과 데이터로 구분했다. - 코드에 적용한 계층형 설계(stratified design) 원칙이 무엇인지 알아보기 2. 일급 추상 - 가게 주방에 많은 로봇들이 피자..
챕터 1에서 중점적으로 볼 내용은 ? - 함수형 사고가 무엇인지 - 함수형 프로그래머가 코드를 바라볼 수 있는지 함수형 프로그래밍은 무엇인가요? 함수형 프로그래밍(Functional Programming, FP) 이란 ? - 수학 함수를 사용하고 부수 효과(side effect) 를 피하는 것이 특징인 프로그래밍 패러다임 - 부수 효과 없이 순수 함수(pure function) 만 사용하는 프로그래밍 스타일 * 부수 효과(side effect) 란 ? 함수가 리턴값 이외에 하는 모든 일들을 뜻한다. 예) 메일 보내기, 전역 변수 수정하기 등 ** 순수 함수(pure function) 란 ? 인자에만 의존하고 부수 효과가 없는 함수이다. 이때 인자에만 의존한다는 말은 a 를 넣었을 때 항상 b 라는 값이 ..
1. 7월 첫 주는 회사와 적당한 거리감이 필요하다. 야근 열심히 했는데 목요일에 반영이 엎어지더라. 덧없다고 느꼈다. 2. 코드숨 프로젝트 1주차는 회사 덕분에 진행조차 못했다. 괜찮다. 남은 3주가 있으니까. 3. 회사가 마냥 힘들기만 했던 것도 아니다. API 구조에 대해 제대로 목격하고 그것을 토대로 공부했다. 모든 버릴 경험은 없는 듯하다. 4. 주말에는 몸상태가 최악이었다. 주간회고도 덕분에 늦어졌다. 7월 첫 주부터는 디스코드봇에 대해 공부를 시작할 것이다. 이전부터 해보고 싶었던 소재라 기대가 된다. 아직도 내용이 막연한 것은 큰 흠이다.
TDD Circle 1. Test Fails 2. Test Passes 3. Refactoring 내 경우에는 1번과 2번을 진행하고, 3번을 진행하지 않는 경우가 대다수였다. 박재성 님께서도 3번을 진행하지 않는 경우가 많다고 콕 집어 설명하셨다. - 리팩토링 연습 - 메서드 분리 테스트 코드는 변경하지 말고, 테스트 대상 코드(프로덕션 코드) 를 개선하는 연습에 집중한다. - 예를 들어, else 와 indent 를 줄이는 연습이 이에 해당한다. 이것은 의식적인 연습 7가지 원칙 중 2가지에 해당하는 경우이다. 두 번째, 개인의 컴포트존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도 세 번째, 명확하고 구체적인 목표를 가지고 진행 과거의 나와 현재의 나 둘 다 이것..
5월 2일부터 6월 26일까지의 스프링 6기 코드숨 과정이 끝났다. 회사 다니면서 진행하려니 시간이 빠듯했지만, 배운 것은 많았다. 일차적으로 TDD 를 맛보았다. 코드숨을 시작하기 전에는 TDD 가 마냥 테스트를 하고 그 기반으로 코드를 작성하겠거니 단순하게 생각했는데, 생각보다 더 좋은 과정이었다. 테스트에 나타나는 오류를 기반으로 왜 오류가 나타나는지 파악하고 오류에 해당하는 코드를 수정하고 이를 통해 올바른 동작임을 보장하는 방식으로 코드를 진행해가는 것은 매우 합리적인 행위라 생각한다. 이를 통해 왜 많은 회사들이 TDD 기반으로 코드를 작성하는지 알게 되었다. 또한 왜 그 경험 유무를 따지는지도 알게 되었다. 다음 주부터 시작하는 프로젝트 과정을 통해서 한 번 더 TDD 과정을 복습해 볼 예정..
1. 3일 간에 걸친 API 테스트를 드디어 마쳤다. 이해가 되지 않는 부분들이 계속 발생해 준 덕분에 multipart/form-data 구조 등 여러 가지 내용에 대해 공부하게 됐다. (솔직히 이 정도로 모르고 있는 줄은 생각도 못했다.) 오늘은 controller 부터 타고 들어가는 mp3 파일이 어떤 형식으로 나가는지를 파악하기 위해 코드를 짰다. 대충 짰지만 재밌는 시간이었다. API 테스트 첫 날에는 몇 개의 데이터를 잘못 받고 그 와중에는 누락된 것도 있고 해서 많이 놀란(?) 상태로 테스트를 진행했는데, 이제 와서 생각하니 그럴 일이었나 싶다. 하다 보면 괜찮아 진다는 것을 오늘도 느꼈다. 2. 코드숨 8주차 과제 Javadocs 를 작성하고 있다. 오늘은 인가, 인증 부분까지 마쳤다. (..
1) 대화를 하자. 이 과정에서 많은 문제가 해결된다는 것을 느낀 하루이다. 스트레스였던 문제거리들이 하나 둘씩 줄었다. 아예 사라진 것은 아니지만 그래도 오늘은 좀 편히 잘 수 있을 것 같다. 2) Spring Rest Docs 사용해 보았다. API 를 만들어주는 기능이 신기하다. 어떤 원리일까? 항상 만들어진 Swagger 문서만 봤는데 직접 API 문서를 제작할 수도 있겠구나 싶었다. 다양한 기능을 더 파봐야겠다. 3) 클린 아키텍쳐를 구매했다. 모던 자바 인 액션 스터디가 저번주 토요일을 마지막으로 끝이 났다. 자바8이 이런 거구나를 생각하게 해준 시간이었다. 공부한 내용을 토대로 회사 코드에 활용해보려고 노력중이다.