티스토리 뷰

기술 서적 TIL/실용주의 프로그래머

Pragmatic TIL - 7 (2022-03-30)

YG - 96년생 , 강아지 있음, 개발자 희망 2022. 3. 31. 05:46

오늘 TIL 3줄 요약

 

  • 모든 일에 동시성이 있다.
  • 불규칙한 실패는 동시성 문제인 경우가 많다.
  • 칠판으로 작업 흐름을 조율하라.

 

TIL (Today I Learned) 날짜

 

2022. 03. 30

 

오늘 읽은 범위

 

6장. 동시성

 

책에서 기억하고 싶은 내용을 써보세요.

 

  • 동시성은 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것이다. 그리고
    병렬성이란 실제로 동시에 실행되는 것이다. - page.241
  • 여러분의 애플리케이션이 실제 세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 사용자와 상호작용하고, 데이터를 불러오고, 외부 서비스를 호출하는 일을 동시에 해야 한다. 만약 이를 순차적으로 하나를 끝낸 다음에 다음 일을 하는 식으로 수행한다면, 시스템은 거북이처럼 느리게 느껴질 것이고, 프로그램을 구동하는 하드웨어의 성능도 최대로 활용하지 못할 것이다. - page.242
  • 액터 모델에서는 프로세스들이 독립적으로 수행되며 서로 데이터를 공유하지 않는다. 대신 채널을 통해 잘 정의된 단순한 의미론을 사용하여 의사소통한다. - page.243
  • 칠판은 객체 저장소와 똑똑한 게시 - 구독 중개자를 합한 것처럼 동작하는 시스템이다. - page.243
  • 우리는 동시성을 확보해야 한다. 결과적으로 분석하기 더 쉽고 응답속도도 더 빠르며 안정적인 시스템을 만들 수 있을 것이다. - page.244
  • 활동 다이어그램 같은 표기법을 사용해서 작업 흐름을 기록하는 것이 한 방법이다.
    작업 흐름 분석으로 동시성을 개선하라.
    활동 다이어그램은 모서리가 둥근 상자로 표현하는 활동들로 이루어진다.
    활동 다이어그램을 사용하면 동시에 수행할 수 있는데도 아직 동시에 하고 있지 않은 활동들을 찾아내서 병렬성을 극대화할 수 있다. - page.244~245
  • 동시성은 소프트웨어 동작 방식이고, 병렬성은 하드웨어가 하는 것이다. - page.247
  • 공유 상태는 틀린 상태다. - page.249
  • 세마포어는 단순히 한 번에 한 사람만이 가질 수 있는 무언가다. - page.251
  • 액터는 자신만의 비공개 지역 상태를 가진 독립적인 가상 처리 장치다.
    프로세스는 본래 더 일반적인 가상 처리기로, 보통 운영 체제가 동시성을 지원하기 위하여 구현한다. - page.259
  • 액터의 특징으로는
    1. 액터를 관리하는 것이 하나도 없다.
    2. 시스템이 저장하는 상태는 오직 메시지 그리고 각 액터의 지역 상태뿐이다. 메시지는 수신자가 읽는 것 외에는 확인할 방법이 없고, 지역 상태는 액터 바깥에서는 접근이 불가능하다.
    3. 모든 메시지는 일방향이다. 답장이란 개념은 없다.
    4. 액터는 각 메시지를 끝날 때까지 처리하고 중간에 다른 일을 하지 않는다. 즉, 한 번에 하나의 메시지만 처리한다.
    공유 상태 없는 동시성을 위하여 액터를 사용하라. - page.259~260
  • 엑터 말고 동시성을 조율하는 방법으로는 칠판으로 작업 흐름을 조율하라. - page.270

 

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

 

  • 액터에 대해 읽었을 때 전역 상태 관리인 리덕스가 생각이 났었고 리코일 또한 같은 맥락이지 않을까라고 생각이 들었습니다. 전역적인 상태 관리가 이루어지는 방법으로 액터라는 방법을 알게 되어 좋았습니다.
  • 요즘은 동기, 비동기 코드 처리가 다양하고 쉽게 사용하게끔 되어 있는 데 언제 어떻게 사용해야 할지 구분하는 방법을 알려주어서 새로운 프로젝트를 할 때 사용해보려고 합니다.(활동 다이어그램)
  • 동시성과 병렬성에 대해 알게 되었고 CS 지식으로 머리에 넣어두려고 합니다.

 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

 

  • 칠판 쪽의 내용 쉽게 이해가 되지 않았고 명확히 무엇인지 아직 모르겠습니다.

 

오늘 읽은 다른 사람의 TIL

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함