From b2547ce2606108e4aa321c2d30d359f434c9c0d6 Mon Sep 17 00:00:00 2001 From: dhlee3994 Date: Fri, 1 May 2026 20:26:21 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=AA=85=20=EC=98=A4?= =?UTF-8?q?=ED=83=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2026/Street_Coder/donghyeon/{wee1.md => week1.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 2026/Street_Coder/donghyeon/{wee1.md => week1.md} (100%) diff --git a/2026/Street_Coder/donghyeon/wee1.md b/2026/Street_Coder/donghyeon/week1.md similarity index 100% rename from 2026/Street_Coder/donghyeon/wee1.md rename to 2026/Street_Coder/donghyeon/week1.md From 06f5e4e661bf38b45c268720f1d44007d2d4883f Mon Sep 17 00:00:00 2001 From: dhlee3994 Date: Fri, 1 May 2026 20:26:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?4~6=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2026/Street_Coder/donghyeon/week2.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 2026/Street_Coder/donghyeon/week2.md diff --git a/2026/Street_Coder/donghyeon/week2.md b/2026/Street_Coder/donghyeon/week2.md new file mode 100644 index 00000000..2c7c9a0e --- /dev/null +++ b/2026/Street_Coder/donghyeon/week2.md @@ -0,0 +1,16 @@ +# 4 ~ 6장 + +## 내용 + +- 위협 모델링 + - 위협 모델: 보안 측면에서 무엇이 잘못될 수 있는지를 명확히 이해하는 것 + - 보안 조치의 우선순위, 비용 최적화, 효율성을 높이기 위함 +- 소형 위협 모델 + - 애플리케이션의 자산 + - 자산을 저장하는 서버: 사용자 그룹별 액세스 가능 여부 파악 + - 정보 민감성: 정보 유출시 피해의 정도 + - 리소스에 대한 액세스 경로: DB에 접근 가능한 다른 방법이 있는지, 누가 접근 가능한지 등 +- 은둔 보안: 임시 방편이지만 **시간을 버는 용도**로는 좋음 +- 검증된 보안 라이브러리를 사용할 것 +- **타이밍 공격 방지** + - : 별것 아니라고 생각되지만 해커들에게 좋은 먹이감이 될 수 있겠네.. From f555921e973882500c1ad877d94148a3eb447ac2 Mon Sep 17 00:00:00 2001 From: dhlee3994 Date: Fri, 1 May 2026 20:26:34 +0900 Subject: [PATCH 3/3] =?UTF-8?q?7~9=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2026/Street_Coder/donghyeon/week3.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2026/Street_Coder/donghyeon/week3.md diff --git a/2026/Street_Coder/donghyeon/week3.md b/2026/Street_Coder/donghyeon/week3.md new file mode 100644 index 00000000..56399fc4 --- /dev/null +++ b/2026/Street_Coder/donghyeon/week3.md @@ -0,0 +1,26 @@ +# 7 ~ 9장 + +## 논의 + +저희 회사는 버그 분류를 우선순위 정도로만 하고 있는데, 다른 분들은 어떻게 분류하는지 경험을 이야기하면 좋을 것 같습니다. + +## 내용 + +- 100ms 이상이면 지연을 느낌 +- 성능 문제 발생 시, 애플리케이션 최상위 계층부터 시작해 이진 검색 방식으로 문제 위치 파악 +- 코드 최적화 + - 효율적인 자료구조 사용 => 검색 성능 개선 + - 플래그 저장시 문자열 지양 + - 불리언 평가 최적화 (변수 > 필드 > 속성 > 메서드 호출) +- CPU 최적화 + - 데이터 정렬: CPU는 4, 8, 16바이트 단위로 정렬된 데이터를 읽음 + - 캐시 근접성: 배열이 연결 리스트보다 빠름 + - 종속성 제거, 분기 예측으로 파이프라이닝 효율 증대 + - SIMD(Single Instruction Multiple Data) 활용 +- I/O 및 캐싱 + - 버퍼링: I/O 작업시 1바이트씩 읽지 말고, 적절한 크기만큼 읽어 시스템 호출 오버헤드 줄이기 + - 비동기 I/O (async/await): 병렬성을 높이고 리소스 절약 + - 캐시 활용: 최후의 수단 +- 수동 잠금(Lock) 주의사항: 잠금 전용 객체를 별도로 할당하여 사용 (제어할 수 없는 외부 코드와 충돌하여 데드락 유발할 수 있기 때문) +- 버그 분류 (Bug Triage): 우선순위와 심각성 기준으로 분류 (like 아이젠하워 매트릭스) +- 덤프 다이빙: JVM 진영에서는 `jhsdb`