Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter4_Tasty_testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Summary

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

## Review

- https://github.com/jongfeel/BookReview/issues/1677#issuecomment-4229436731

## 4.4 자신의 이득을 위해 테스트를 작성하라

> Writing tests after you have a good prototype works as a recap exercise for your design.
You go over the whole code once again with tests in mind.
You can identify certain problems that you didn’t find when you were prototyping your code.

이 부분에서 테스트 코드를 실제 작성해 본 사람이라는 걸 알 수 있다.
테스트 코드를 위해 설계를 해보면 로직 처리를 위한 코드만 짰던 것과 다른 시야를 가지고 문제를 파악할 수 있는 게 맞기 때문이다.
이건 데이터 중심적인 사고에서 처리해야 할 워크플로를 생각하는 데 좋은 설계 방법이기 때문에
테스트 코드를 작성하면 좋은 점 중에 하나이기도 하다.
16 changes: 16 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter5_Rewarding_refactoring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Summary

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

## Review

- https://github.com/jongfeel/BookReview/issues/1678#issuecomment-4231645630

## 리팩터링 설명을 하면서 이런 말을 한다.

> Since it’ll probably take a while before we get AI to do programming work for us, it’s a good idea to polish our refactoring skills.
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.

반대로, AI가 코드를 짜는 시점에는 리팩토링 스킬이 굳이 필요없을지도 모른다는 말로 이해 해볼 수도 있지 않을까 싶습니다. 혹은 AI가 코드를 짜는 시점에 리팩토링을 더잘하게 시키기 위해서, 미리 리팩토링 스킬을 연마해두자 라는 뜻도 될 수 있을거 같네요

실제 현업에서도 AI로 시도해봤을 때 리팩토링 굉장히 잘하긴 하더라구요


책 출판이 2022년이니까 2021년에 이 책을 집필했다고 가정하면 아마 어렴풋이 대화형 AI가 이제 나오기 시작할 무렵이라는 건 알고 있었을 거지만 그렇다고 해도 AI가 프로그래밍 해주는 건 아직 멀었다고 생각했을 수도 있다.

이제 고작 5년 뒤인 2026년은 진짜 AI가 우리를 위해 프로그래밍을 해주고 있다.
이 챕터도 읽고 있으면 앞선 챕터와 마찬가지로 씁쓸한 생각을 지울 수 없을 것 같다.
30 changes: 30 additions & 0 deletions 2026/Street_Coder/jongfeel/Chapter6_Security_by_scrutiny.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Summary

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

## Review

- https://github.com/jongfeel/BookReview/issues/1681#issuecomment-4252410513

## 후기

일반적으로 보안이라는 키워드에서 다루는 정도의 내용을 얘기해주고 있다.
마치 2장의 컴퓨터 공학과의 기초적인 지식을 다루는 것과 같은 느낌이지만 그 범위가 한정적이다.

현재 많이 쓰고 있는 토큰과 관련된 내용을 다루지 않고 있다는 점이 조금 아쉽습니다.

## 논의 주제

이 챕터에서 소개하는 보안 관련된 내용 중에 유익했던 내용이 있으면 얘기해 보면 좋겠습니다.
Comment on lines +16 to +18
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.

저는 책에 다른 내용은 거의 다 아는 내용이거나 그리 특이할 것 없는 내용인데,
위협모델이란게 이 챕터에 소개될줄은 몰랐고, 내용을 보았을 때 제 생각엔 개발자가 위협모델링에 대한 관심을 가지고 백엔드 아키텍쳐 및 코드를 설계하는게 가장 중요한 한가지 이기도 하기 때문 입니다

나는 백엔드 개발자이니까 보안을 잘몰라, 그냥 신경 안써도 보안 부서에서 알아서 하겠지라고 생각하는 것은 매우 위험하다고 생각합니다. 오히려 이와 반대로, 개발자가 위협을 인지하고 위협모델을 모델링을 하는 과정은 내가 만드는 백엔드 서비스에 대한 실질적인 위협을 사전에 파악해볼 수도 있고, 이를 통해서 더욱 탄탄한 설계를 할 수 있는 기반이 될 수 있다고 생각합니다

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.

비밀번호 해시 바이트 배열을 비교하는 방식과 반환 타이밍만으로도 해시를 유추할 수 있다는 내용을 보고 많이 놀랐습니다.
정말 사소한 부분도 보안 허점이 될 수 있다는 사실에 제 코드를 다시 돌아보게 되네요.


답변:

최근에 포프TV에서 GUID 관련 영상이 나와서 본 적이 있는데, 책 읽으면서 생각이 났습니다.

GUID로 업계가 집단 삽질했던 썰... 왜 그랬을까
https://youtu.be/Yk2CBVkuEdo?si=laNa8UNJQVGQF6Tr

가독성과 성능 사이의 균형을 위해 분산 환경에 좋다는 맹목적 GUID를 사용하는게 아니라 다른 여러 방법을 쓸 수 있다에 대한 내용입니다.

책에서도 가장 마지막 소주제에 UUID 관련 내용이 있고 성능 문제도 언급합니다.
그래서 UUID의 파생인 UUIDv6, UUIDv7, UUIDv8이 있다는 걸 새롭게 알게 되었습니다.