1.8 KiB
1.8 KiB
| id | created | tags | aliases |
|---|---|---|---|
| 최적화(Optimization) 20260317 | 2026-03-17 16:59 |
💡 생각
이곳에 하나의 생각 또는 아이디어를 작성합니다.
📌 상세
1. 설계의 최적화 = 구조의 단순화
흔히 최적화라고 하면 '기교를 부려 속도를 높이는 것'을 생각하기 쉽지만, 가장 높은 수준의 최적화는 불필요한 단계를 제거하는 것입니다.
-
복잡한 로직: A를 거쳐 B를 확인하고 C를 실행한다.
-
최적화된 로직: 바로 C를 실행해도 문제가 없음을 발견하고 중간 과정을 삭제한다.
-
결과: 성능은 빨라지고(최적화), 코드는 짧아집니다(단순화).
2. 인지적 최적화 (Cognitive Optimization)
코드는 컴퓨터만 읽는 게 아니라 사람도 읽습니다. 읽기 복잡한 코드는 디버깅과 유지보수 시간을 엄청나게 잡아먹죠.
-
단순한 코드는 개발자가 코드를 이해하는 데 드는 **뇌의 연산 비용(Cognitive Load)**을 최소화해 줍니다.
-
결과적으로 전체 개발 프로세스의 성능을 높이는 '사람을 위한 최적화'가 되는 셈입니다.
3. 알고리즘적 최적화
예를 들어, 데이터를 찾을 때 전체를 다 뒤지는 O(n) 방식보다, 정렬된 데이터에서 이진 탐색을 하는 O(log n) 방식이 훨씬 빠릅니다.
- 때로는 효율적인 알고리즘(최적화)을 선택하는 것이, 지저분한 예외 처리를 잔뜩 넣어둔 이전 코드보다 훨씬 **간결하고 명확(단순화)**할 수 있습니다.
📝 노트
[!note]
관련 사례나 반대되는 개념이 있다면 여기에 기록하세요.
본인의 언어로 풀어서 쓰는 것이 제텔카스텔의 핵심입니다.