일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #알고리즘 #백준 #2352 #백준2352 #algorithm #baekjoon #baekjoon2352 #C++
- #알고리즘 #백준 #2573 #백준2573 #algorithm #baekjoon #baekjoon2573 #C++
- #알고리즘 #백준 #2580 #백준2580 #algorithm #baekjoon #baekjoon2580 #Java
- #알고리즘 #백준 #1525 #백준1525 #algorithm #baekjoon #baekjoon1525 #C++
- #알고리즘 #백준 #17472 #백준17472 #algorithm #baekjoon #baekjoon17472 #C++
- #알고리즘 #백준 #17837 #백준17837 #algorithm #baekjoon #baekjoon17837 #C++
- #알고리즘 #백준 #15684 #백준15684 #algorithm #baekjoon #baekjoon15684 #C++
- #알고리즘 #백준 #1987 #백준1987 #algorithm #baekjoon #baekjoon1987 #Java
- #알고리즘 #백준 #15683 #백준15683 #algorithm #baekjoon #baekjoon15683 #C++
- #알고리즘 #백준 #14888 #백준14888 #algorithm #baekjoon #baekjoon14888 #C++
- #알고리즘 #백준 #17136 #백준17136 #algorithm #baekjoon #baekjoon17136 #C++
- 책리뷰
- #알고리즘 #백준 #4386 #백준4386 #algorithm #baekjoon #baekjoon4386 #C++
- CleanCode
- #알고리즘 #백준 #1260 #백준1260 #algorithm #baekjoon #baekjoon1260 #Java
- #알고리즘 #algorithm #프로그래머스 #2020카카오공채 #블록이동하기 #programmers #C++
- #알고리즘 #백준 #1793 #백준1793 #algorithm #baekjoon #baekjoon1793 #C++
- #알고리즘 #백준 #5214 #백준5214 #algorithm #baekjoon #baekjoon5214 #C++
- #알고리즘 #백준 #2616 #백준2616 #algorithm #baekjoon #baekjoon2616 #Java
- 개발서
- #알고리즘 #백준 #3190 #백준3190 #algorithm #baekjoon #baekjoon3190 #C++
- 개발자취미
- #알고리즘 #백준 #12094 #백준12094 #algorithm #baekjoon #baekjoon12094 #C++
- #알고리즘 #백준 #17140 #백준17140 #algorithm #baekjoon #baekjoon17140 #C++
- #알고리즘 #algorithm #프로그래머스 #2020카카오공채 #외벽점검 #programmers #C++
- 스레드 #동시성 #thread #process #
- #알고리즘 #algorithm #프로그래머스 #2020카카오공채 #문자열압축 #programmers #C++
- 클린코드
- #알고리즘 #백준 #17406 #백준17406 #algorithm #baekjoon #baekjoon17406 #C++
- #알고리즘 #algorithm #프로그래머스 #2020카카오공채 #괄호변환 #programmers #C++
- Today
- Total
목록독서/개발서 (6)
개발자 일기장.
Clean Code 내용 정리 - 6 부록 A. 동시성 클라이언트/서버 예제 서버 애플리케이션에서 많은 시간을 보내는 가능성은 크게 2개이다. I/O : 소켓 사용, 데이터베이스 연결, 가상 메모리 스와핑 기다리기 emd 프로세서 : 수치 계산, 정규 표현식 처리, 가비지 컬렉션 등 일반적으로 프로그램이 프로세서 연산에 많은 시간을 보낸다면, 하드웨어를 추가하여 성능을 높여야 한다. 즉, 스레드를 늘린다고 해결할 수 있는 문제가 아니다. 하지만 프로그램이 주로 I/O 연산에 시간을 보낸다면 동시성이 성능을 높여 줄 수 있다. 결론 단일스레드 시스템에서 다중 스레드 시스템으로 변환하고, 성능을 높이기 위해서는 다음과 같은 방법을 사용해야한다. I/O에 많은 시간을 보내야 한다. 관련된 코드를 분리시켜 여러..
Clean Code 내용 정리 - 5 14장. 점진적인 개선 좋은 코드가 많지만, 이를 다 적을 수 없어 내용적으로 간략하게만 구성하였다. 이후에 한 번 책을 사서 코드를 보는 것을 추천드립니다. 구현 깔끔한 코드를 짜는 방법에 대해 이야기할 수 있다. 깨끗한 코드를 짜기 위해서는 먼저 지저분한 코드를 짠 뒤에 정리해야 한다. 초안 최초의 코드에 인수 유형 1개만 추가해도 엄청나게 지저분해진다. 이 경우에, 기능을 더 추가하지 않고 리팩토링을 한다. 왜냐하면? 더 인수 유형을 추가할 수도 있기 때문에. 점진적으로 개선 프로그램을 망치는 방법 중 하나는 "개선"이라는 이름에서 구조를 크게 뒤집는 것. 이는 그 전과 똑같이 어려워질 수 있다. 따라서, 테스트 주도 개발(TDD, Test-Driven Deve..
Clean Code 내용 정리 - 4 11장. 시스템 도시가 잘 돌아가는 이유 다양한 분야를 관리하는 팀원 적절한 추상화와 모듈화 시스템 제작과 시스템 사용을 분리 제작과 사용은 다르다. 소프트웨어 시스템은 준비 과정(애플리케이션 객체를 제작하고 의존성을 서로 '연결'하는)과 런타임 로직(준비 과정 이후의 단계)을 분리해야 한다. 관심사 분리. Ex) 초기화 지연(Lazy Initialization), 계산 지연(Lazy Evaluation) 장점 애플리케이션을 시작하는 시간이 그만큼 빨라진다. 어떤 경우에도 null을 반환하지 않는다. 단점 의존성을 해결해야 한다. 테스트에서 문제가 생긴다. 즉, 일시적으로라도 단일 책임 원칙(SRP, Single Responsibility Principle)을 깨야한..
Clean Code 내용 정리 - 3 7장. 오류 처리 깨끗한 코드와 오류 처리는 연관성이 존재한다. 오류 코드보다 예외를 사용하기 오류가 발생 시 예외를 던지는 방법이 논리와 오류 처리 코드가 뒤섞이지 않아 코드가 더 깔끔해진다. Try-Catch-Finally 문부터 작성하기 예외가 발생할 코드를 짤 경우에는 try-catch-finally 문으로 시작하는 것이 좋다. public List retrieveSection(String sectionName) { try { FileInputStream stream = new FileInputStream(sectionName); } catch (Exception e) { throw new StorageException("retrieval error", e);..
Clean Code 내용 정리 - 2 4장. 주석 부정확한 주석은 아예 없는 주석보다 나쁘다. 주석은 나쁜 코드를 보완하지 못한다. 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문에, 주석보다는 코드를 정리를 해야 한다. 코드로 의도를 표현하기. 많은 경우에서 주석에서 할 수 있는 설명을 함수로 표현해도 충분하다 좋은 주석 법적인 주석 회사가 정립한 구현 표준을 지켜야 하는 경우 정보를 제공하는 주석 기본적인 정보를 주석으로 제공 Ex) // kk:mm:ss EEE, MMM dd, yyyy 형식이다. Pattern timeMatcher = Pattern.compile( "\\d*:\\d*:\\d* \\w*, \\w*, \\d*, \\d*"); 의도를 설명하는 주석 의도를 표현 Ex) pu..
Clean Code 내용 정리 - 1 대학시절 프런트 개발을 하다가, ebay에서 웹 개발을 하면서 백엔드 개발을 주로 하다 보니, Java나 C#으로 개발을 주로 하게 되었는데, 모르는 부분도 많고 함께 프로젝트를 만들기 때문에 좀 더 좋은 개발을 하고 싶어서, 1년 전에 샀던 책을 다시 펴서 정리한다. 1장. Clean Code 나쁜 코드가 만드는 결과 개발 속도의 감소 팀 생산성의 하락, 이후 재개발 필요 유지 보수의 어려움 깨끗한 코드란? 모든 테스트를 통과 중복이 없음 시스템 내 모든 설계 아이디어를 표현함 클래스, 메서드, 함수 등을 최대한 줄임 2장. 의미 있는 이름 핵심은 다음과 같다. 의도를 분명히 밝히기. ex) int elapsedTimeInDays, daysSinceCreation ..