Skip to content
Merged
13 changes: 13 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter7_Opinionated_optimization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Summary

- https://github.com/jongfeel/BookReview/issues/1693

## Review

- https://github.com/jongfeel/BookReview/issues/1693#issuecomment-4344676059

## 리뷰

한번 쯤 봤었던 최적화 관련된 내용인데 소프트웨어 관련 내용 뿐 아니라 하드웨어 관련 내용도 함께 다뤘다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated
비동기와 블로킹 논의는 과거 좋은 면접 질문 중 하나였던 걸로 기억하는데, 여기서는 꽤나 디테일하게 설명해주고 있다.
아마 비동기와 블로킹 관련 내용으로 설명해 주는 분량으로 치면 전공 서적을 제외하고 이 책이 제일 길고 자세할 것 같다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated
33 changes: 33 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter8_Palatable_scalability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## Summary

- https://github.com/jongfeel/BookReview/issues/1696

## Review

- https://github.com/jongfeel/BookReview/issues/1696#issuecomment-4344748943
- https://github.com/jongfeel/BookReview/issues/1696#issuecomment-4344806192

## 리뷰

이 챕터의 내용도 이전 챕터와 마찬가지로 한 번씩 접해본 내용들의 리뷰였다.

- Lock / Thread safe
- DB connection pool

7장에서 언급했어도 될 내용의 연장인 비동기와 스레드 내용이 더 추가가 되었다.

모놀리스에 대해 짧게 언급하는데, 처음부터 마이크로서비스를 만들려고 하는 건 이 챕터에서 얘기하고 싶은 확장성에 대한 현실적인 얘기였던 것 같다.

## C#에 대한 생각

저자는 마이크로소프트에서 일을 올해서 그런지 C# 언어를 많이 좋아하는데 느껴진다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated
물론 나도 C#을 오래 써 왔기 때문에 좋아하는 언어인건 맞다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated

10년 전 쯤이었으면 책의 저자와 같이 C# 언어의 훌륭한 점에 대해 얘기를 막 했을 거고
5년 전 쯤에는 C# 언어의 스펙이 다른 언어에 미친 영향에 대해서도 대변했을 것이다. (async/await 관련 내용이다)

과거에도 어떤 프로그래밍 언어가 좋은지 논의하는게 무의미하다고 많이 느꼈지만
이제 2026년에는 어떤 프로그래밍 언어가 좋은지에 대한 떡밥 조차도 무의미 한 것 같다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated

로버트 마틴이 < 우리 프로그래머들 > 책에서 최후에 살아남는 언어는 Lisp 이라고 예언했는데
향후 그렇게 된다고 해도 크게 문제되거나 하진 않을 것 같다.
26 changes: 26 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter9_Living_with_bugs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Summary

- https://github.com/jongfeel/BookReview/issues/1701

## Review

- https://github.com/jongfeel/BookReview/issues/1701#issuecomment-4344842812

## 리뷰

버그, 오류, 예외에 대한 일반적인 내용을 다루고 있다.
챕터별 소제목은 어그로성이 있는데 (버그를 수정하지 마라, 디버깅하지 마라 등) 실제로는 좋은 내용들이다.

## 논의주제

여기서 언급하는 여러 디버깅 기법 중에 실제로 적용해 보고 효과를 본 사례가 있는지 얘기해 보면 좋을 것 같습니다.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

최근에는 IDE의 디버거를 많이 사용하는 것 같습니다.
로컬이 아닌 k8s에 서비스를 띄어올려도 5005 포트로 Debug Remote Tomcat Server를 이용하면 로컬에서 하는 것 처럼 디버거를 사용할 수 있더라구요.

고무 오리 디버깅 같은 경우에는 다른 분에게 설명하다가도 혼잣말 하는 것과 비슷하게도 효과가 나타나서 종종 설명을 하거나 먼저 정리해보는 습관을 가졌습니다.


저는 두 가지인데 하나는 printf() 관련 내용입니다.
저는 대학에 다닐 때도 그랬고 주니어 개발자 시절에도 printf()를 쓰기 보다는 디버거를 통해 값을 확인하고 문제를 파악하는 방법을 더 좋아했습니다.
이건 학교 교수님이 디버거를 사용할 줄 아는 게 중요하다는 가르침 때문에 그런 것도 있습니다.
하지만 책의 내용대로 디버거는 번거로운 부분이 있는 건 사실이고 실행의 흐름을 끊고 파악해야 하기 때문에 개발자의 집중력을 요구하는 행동인 것도 맞습니다.
그래서 printf() (프로그래밍 언어별로 코드는 다르지만 로그 찍는 코드)를 통해 디버깅 하는 것도 좋다고 느낀 건 다른 개발자와 협업을 하면서 알게 되었습니다.

다른 하나는 고무 오리 디버깅입니다.
실제 고우 오리를 두고 대화를 하진 않았지만, 과거 디버거를 통해 디버깅을 할 때 혼잣말을 하면서 했던 버릇이 있었는데
Comment thread
jongfeel marked this conversation as resolved.
Outdated
이게 자신이 생각한 로직과 예외 상황을 검증하는 용으로 상당히 유용하다는 걸 많이 경험했기에, 한 번도 안해보신 분은 해보면 좋은 방법이긴 합니다.
Comment thread
jongfeel marked this conversation as resolved.
Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저같은 경우는 어느것 하나만 써서 효과를 봤다기 보다는 상황에 따라서 IDE에서 제공하는 디버거나 printf(로그 찍는 방식)을 둘다 활용하고 있습니다

이 둘을 나누는 기준은 환경인데, 로컬 환경의 경우 디버거를 활용해서, 버그 재현 및 원인 파악용도로 활용하고 있고, 개발환경 및 운영환경에서는 디버거를 붙여서 확인해보기 어렵기 때문에, 어쩔 수 없이 로그를 찍는 방식으로 디버깅을 합니다

쓰레드 덤프 같은 경우는 책을 보고 실습 정도는 해보았지만, 실제 업무환경에서 직접 해보진 않았고, 고무오리의 경우는 디버깅 방법론이라기 보다는 문제해결을 관점에서는 의도치 않게 내가 겪은 문제를 해결해보는 과정에서 자연스레 답이 나오는 것을 많이 경험해보았습니다

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 책에 나와있는 스택오버플로우 임시 작성글과 비슷한 방식을 사용합니다.
언뜻 고무 오리 디버깅과 유사하긴 한 것 같은데, 저의 상황을 아예 모르는 사람들에게 질문한다고 생각하면서 질문 글을 작성하다 보면 상황이 명료하게 이해되고, 해결되는 경우가 꽤 많았습니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저의 경우에는 IDE 디버깅을 주로 사용하고, 로깅은 필요한 거는 info, 무시해도 되는 오류는 warn, 오류는 erro나 fatal로 하고 저자가 이야기하는 print는 debug로 찍는 경우가 많습니다. 그리고 debug의 경우에는 alpha, beta환경에서만 작동하고, real에서는 logLevel을 info부터 찍기 때문에 debug로깅은 남지 않습니다.

Loading