일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 동시성
- hackercup2017
- 개발자
- spray
- coursera
- 단위테스트
- 데이터플랫폼
- 해커컵
- 테스트주도개발
- 2016년회고
- 알고스팟
- kafka
- 회고
- wait region split
- 2017회고
- 실전사례
- 함수형 사고
- functional thinking
- 데이터야놀자
- 개발7년차매니저1일차
- 데이터유통
- 켄트백
- 데이터레이크
- 코딩인터뷰
- 개발자로살아남기
- Raw-Request-URI
- clean code
- datalake
- 클린코드
- 박종천
- Today
- Total
목록전체 글 (97)
Software Engineering Note
작게 만들것! 블록과 들여쓰기- if / else / while 문 등에 들어가는 블록은 한 줄이어야 한다.- 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다. 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한가지만을 해야 한다!! 의미있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다. 한 함수 내에 추상화 수준을 섞으면 코드를 읽는 사람이 헷갈린다. => 사람들이 함수에 세부사항을 점점 더 추가한다.- 한 함수에 다른 함수를 호출하는 부분도 들어있고, 다른 함수에서 해야할 일을 하는 부분도 섞여있는 경우 내려가기 규칙- 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다. switch문 => 다형성을 이용한다. 서술적..
문제: FIXPAREN / 구현, 자료구조 잘못 매칭된 괄호를 수정하는 문제. 괄호마다 우선순위가 있고, 잘못된 매칭인 경우 우선순위가 높은 괄호로 변환해야 한다. 스택에 무조건 쌓기만 하고 나중에 빼면 출력 순서가 보장되지 않으므로 임의로 index를 지정할 수 있는 배열을 출력용으로 사용했다. 해결전략 1. 왼쪽 괄호인 경우 스택에 넣는다. 이때, (입력 문자열에서의 위치, 문자) 가 저장되는 정보단위가 된다.2. 오른쪽 괄호인 경우 스택에서 왼쪽괄호를 pop한다. (문제 조건을 읽어보면 오른쪽 괄호전에는 반드시 왼쪽 괄호가 저장됨을 보장할 수 있다.)3. 왼쪽, 오른쪽 우선순위를 비교해서 우선순위가 높은 문자로 변환한다. 그리고 출력용 배열에 저장한다. 코드: https://github.com/xg..
이름 짓기에 대한 장 의도를 분명이 밝혀라 - 존재이유는? 수행기능? 사용방법은?- 주석이 필요없게끔, 주석을 넣을거면 그냥 변수 이름을 잘 지어라 문제는 코드의 단순성이 아니라 코드의 함축성이다. - 코드 자체에 맥락이 명시적으로 드러나도록 할 것 그릇된 정보는 피할 것 - 실제 컨테이너가 List가 아니라면 xxxList와 같은 이름은 피한다. => 개발자가 List로 오해할 수 있음- 실제 컨테이너가 List인 경우라도 컨테이너 유형을 이름에 넣지않는 것이 좋다. 읽는 사람이 차이를 알도록 이름을 지어라 발음하기 쉬운, 검색하기 쉬운 이름을 사용하라 (ex: 대문자로 정의하는 상수, MAX_NUM 같은) 인코딩을 피하라 - 여기서 인코딩은 뭔가 의미를 내포한 축약형 글자따위를 의미한다.- 헝가리식 ..