Skip to content

조희승 7주차 학습 일지

huiseung edited this page Aug 19, 2024 · 1 revision

취준생 입장에서 바라보는 CS 이갸기

  • Synchronization

    • POSIX 스레드 인터페이스
    • user space 에서 Mutext를 관리하자
    • synchronized 키워드
      • heap에 object header에 monitor lock 자료로 관리
    • HashMap
      • 요구사항 get 과 put 을 동기화
      • 방법 1. 인스턴스를 synchronized 로 묵음
        • BLOCKEd 가 자주 발생
      • 방법 2. Key를 synchronized의 대상으로 삼자
      • 방법 3. ConcurrentHashMap
        • get은 not block
      • 방법 4. ConcurrentHashMap에 compute 연산 적용
    • cas 기계어
  • api rate limit

    • spring cloud 는 redis를 활용
  • redis의 ttl 과 유사한 기능 만들기

    • ConcurrentHashMap에 value로 만료 시간을 두고, 요청이 올때 마다 현재 시간과 만료시간을 확인
      • 만료 시간이 지나면 제거
      • 주기적으로 map에서 제거하는게 별도 스레드에서 돈다
  • 다수 요청이 redis에 요청 보내는 상황

  • cache coherence

  • DB

    • 유저와 구매 테이블이 있을 때
    • 유저별 구매 수 총합과 금액 총합 구하기
      • 오래 걸리는 쿼리는 커넥션 풀 고갈을 낼 수 있다
    • 소켓 Read Time Out
      • Server 요청 보냄 -> DB요청 받음 -> DB 응답 -> Server 응답 받음
    • join시 메모리 한계에 도달하면 disk를 사용한다
    • 계산 결과를 DB가 아니라 애플리케이션에서 하자
    • JPA는 왜 쓰니
  • long 타입 숫자들이 10GB 있는 파일을 1GB 메모리를 이용해 파일에 내용을 정리해라

    • merge sort
    • 외부 sort 주의점

  • Socket

    • tcp와 http 차이
    • vpn 터널링

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

개인 활동 페이지

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

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally