신입 자라기 95일 차, 화요일
Daily Routine
시간 | Routine |
6 : 50 | 기상 |
7 : 10 ~ 8 : 10 | 출근 시간 |
8 : 10 ~ 9 : 10 | 헬스 |
9 : 10 ~ 9 : 30 | 샤워 |
9 : 30 ~ 9 : 50 | 출근 |
9 : 50 ~ 10 : 00 | 1. 짐정리 |
10 : 00 ~ 11 : 30 | 1. 코드 수정 |
11 : 30 ~ 12 : 30 | 점심 시간 |
12 : 30 ~ 18 : 20 | 1. ray 디자인 패턴 참조 |
18 : 20 ~ 19 : 00 | 저녁 시간 |
19 : 00 ~ 21 : 00 | 1. 개인공부 |
21 : 00 ~ 23 : 30 | 퇴근 및 휴식 |
23 : 30 ~ 25 : 00 | 1. 블로그 포스팅 2. 프로그래머스 |
Ray 디자인 패턴
https://docs.google.com/document/d/167rnnDFIVRhHhK4mznEIemOtj63IOhtIPvSYaPgI4Fg/edit#
Basic Patterns : Tree off Actors
- 다중 worker actor를 관리하는 단 하나의 Supervisor Actor가 있는 구조
- supervisor 죽으면 -> worker들은 자동으로 죽음
@ray.remote(num_cpus=1)
class Worker:
def work(self):
return "done"
class Supervisor:
def __init__(self):
self.workers = [Worker.remote() for _ in range(3)]
def work(self):
return ray.get([w.work.remote() for w in self.workers])
ray.init()
sup = Supervisor()
print(sup.work()) # outputs ['done', 'done', 'done']
- Supervisor() 초기화할 때, 3개의 Worker객체를 workers에 담아둠
- work 메서드 호출하면, 각 Worker 객체의 work 메서드 실행 -> remote 리턴 값이 objectref 형태이기 때문에 ray.get 메서드로 값을 반환
Map and Reduce Pattern
- 주어진 함수를 매핑시켜서 병렬로 실행하는 방법
- 반환 값을 ray.get으로 받음
@ray.remote
def map(obj, f):
return f(obj)
items = lists(range(10))
map_func = lambdad i : i *2
output = ray.get([map.remote(i, map_func) for i in items])
출근길에 보는 CS
Routing Table(라우팅 테이블)
- 포워딩 테이블 및 최적 라우팅 정보를 모두 나타낸 표 테이블
Router(라우터)
- 테이블에 담긴 정보를 가지고 패킷을 전달
- 라우터가 패킷 수신 -> 패킷 목적지 IP 확인 -> 라우팅 테이블 안에 일치하는 네트워크 주소 검색 -> 찾게 되면 인터페이스의 데이터 링크 프레임 안에 IP 패킷 캡슐화해서 패킷 전송
UTF-8
- 가변 길이 유니코드 인코딩
- 4바이트 사용, 실제 표현 가능 길이 6바이트
'Study > 신입 자라기' 카테고리의 다른 글
[Study] 신입 자라기 - 97 (0) | 2022.07.01 |
---|---|
[Study] 신입 자라기 - 96 (0) | 2022.06.30 |
[Study] 신입 자라기 - 94 (0) | 2022.06.28 |
[Study] 신입 자라기 - 93 (0) | 2022.06.24 |
[Study] 신입 자라기 - 92 (0) | 2022.06.24 |