SuperCoding

2024.02.02(금) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day5 보고

효딩 2024. 3. 6. 19:30
  • TO-DO LIST

- 63-2강 멀티 쓰레딩 프로그래밍 ~ 64-2강 디자인 패턴 소개

  • 배운 내용 요약 정리

Thread 동기화 문제

여러 스레드 공통 영역 동시 접근하여 수정하는 상황, 충돌과 일관성 문제 발생

synchronized로 동기화 문제 해결

 

하나의 서버는 다수의 client 요청을 동시에 처리해야 한다.

 

디자인 패턴

= 소프트웨어 디자인 과정(코드 구현 전 설계) 전형적인 해결책

= 게임 공략법, 전략

최적의 설계 노하우 정리

 

많은 디자인 패턴은 새로운 문법이나 키워드를 사용하는 게 아니다

문법, 개념을 유기적으로 연결하여 사용한다.

 

Java 3가지 디자인 패턴 그룹

1. 생성 패턴

2. 구조 패턴

3. 행동 패턴

 

Java 싱글톤 패턴

단 하나 인스턴스만 생성 및 공유하여 자원 절약 일관성 유지 목적 디자인 패턴

사용: static, Synchronized 설정

 

Java 빌더 패턴

복잡한 객체의 생성 과정을 단순화, 가독성과 유연성을 높여 객체를 생성

사용: 정적 내부 클래스, 내부 this 변환

 

Java 데코레이터 패턴

기존 객체 변경 없이 동적으로 기능을 추가 / 수정하는 디자인 패턴

사용: 추상클래스, 인터페이스, 업캐스팅

 

Java 전략 패턴

동적으로 교체 가능한 전략을 제공, 객체 관계를 유연하게 만드는 디자인 패턴

  • 부족한 점

  • 스스로 시도해본 것들

​디자인 패턴 개념이 모호해서 구글링 통해 더 알아봤다.

 

  • 해결 내용

  • 알게된 점

  • 헷갈리거나 실수한 점

  • 회고

혼자 코드 작성해보라고 하면 사실 아직은 못할 것 같다..ㅠㅠ

그래도 계속 해봐야지

만약 서버 쪽으로 가닥을 잡으면 multi thread가 중요하지 않을까 싶다.