Skip to content

김현수 6주차 개인 회고

Kim Hyunsu edited this page Aug 2, 2024 · 1 revision

240729

  • VPC
  • ip-tables 를 설정할 때 주의할 점

아래의 명령어를 통해 primary network interface 를 찾아 iptables 를 설정해준다.

netstat -i

sudo /sbin/iptables -t nat -A POSTROUTING -o {primary_network_interface} -j MASQUERADE
sudo /sbin/iptables -F FORWARD
sudo service iptables save

https://docs.aws.amazon.com/vpc/latest/userguide/work-with-nat-instances.html

240730

240731

  • QuestionService 에서 Reply의 정보가 필요할 때 ReplyService 를 가져와야할까? 아니면 ReplyRepository 를 가져와야 할까?

  • 쉘 스크립트
#! 공인 IP 를 알아내는 방법
aws --region ap-northeast-2 \
ec2 describe-instances \
--filters \
"Name=instance-state-name,Values=running" \
"Name=instance-id,Values=i-0a9d00c7eb481af68" \
--query 'Reservations[*].Instances[*].[PublicIpAddress]' \
--output text
  • IMDS
  • 랜덤 스쿼드 리뷰
    • 💡 새로 알 게 된 점
      • @NotNull 어노테이션을 통해 벨리데이션을 하면 좋다~
      • 필터로 RESTAPI 요청에 대한 Exception 을 묶어서 처리한 점이 좋아 보였다.
        • 나는 하나씩 잡아서 처리해준다.
      • deleted_at 으로 삭제 여부 확인
      • username을 넣지 않고 조인해서 넣도록 수정
    • 🚨 궁금한 점
      • 제가 DB connection 을 하나만 두고 있는데 유저 2만명일 때까지 문제가 발생하지 않습니다.

        • Connection Pool 을 써야하는 명확한 이유가 무엇인가요 ?

        → 쿼리가 복잡하지 않아서 그런 것 더 복잡하거나 네트워크 지연이 발생하면 지연 문제가 크게 발생한다.

      • 그리고 동시에 쿼리를 날려도 처리를 하는데 어떻게 된거죠 ?

        • 동시에 처리 아님, 쿼리 실행 속도가 너무 빨라서 그런거 같다.

image

그리고 DB 접근할 때 랜덤 포트로 접근하는 것 같다.

240801

  • ⚙️ ConfigLoader 만들기
    • 설정 정보를 숨길 수 있다.
  • ❓ ServiceLocator 은 안티패턴 ?
    • 필요한 곳이 아닌 다른 곳에서도 객체를 접근해서 사용할 가능성이 있어서 위험하다.
    • 필요한 곳만 넣어주는 DI 가 더 좋다.
    • 하지만 내가 구현한 부분에는 문제가 크지 않고 테스트 용이성이 높아서 좋다.
  • 🏭 RepositoryFactory 구현

image

image

Repository를 생성할 때 DIContextListener는 Repository의 구현체에 상관없이 주입을 받고 싶다.

다음과 같이 Factory 패턴을 적용하면 DIContextListener 는 Repository의 구현체와 상관없이 주입이 가능해진다.

  • 🏊 ConnectionPool 적용
    • 기존 단일 커넥션을 이용한 서버는 고가용성을 추구할 수 없고 네트워크 지연이 발생하거나 복잡한 쿼리를 처리할 때 문제가 발생할 수 있으므로 커넥션풀을 적용했다.
    • tomcat vs HikariCP
      • 커넥션 풀 관리 정책에 관하여
  • I/O
    • 파일 I/O
    • 네트워크 I/O
      • mainframe
        • ㅇㅇ
    • I/O 멀티플렉싱
      • epoll → select

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally