모두의연구소에서 만들면 다릅니다. AI학교 아이펠 DS과정 마침내 오픈!
어떤 모임인가요?
Go언어를 배우는 이유는 어떤 것이 있을까요?
대다수의 사람들이 Go언어를 배우는 이유에는 도커나 쿠버네티스, 테라폼과 같은 분산 서비스 구축이라고 생각합니다.
이번에 나온 따끈따끈한 신간으로 분산서비스를 공부해봐요!!
모임이 더 궁금하다면 모두의연구소 커뮤니티(https://join.slack.com/t/modulabs/shared_invite/zt-24wqh8x3q-N4AzqCVF_qD1x4RQeqFzAQ) 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!
무엇을 얻을 수 있나요?
Golang에서 가장 빛나는 분산서비스를 구축할 수 있습니다.
쿠버네티스로 배포할 수 있는 실력을 얻을 수 있습니다.
무엇을 공부하나요?
  • Golang으로 네트워크 공부하기
  • Golang으로 분산 서비스 구축하기
어떤 사전지식이 필요한가요?
Golang을 아시는 분들이어야 합니다.
이런 분들이 들으면 좋아요!
Golang을 알고 있는 분들!!
Golang을 겉햝기는 했지만 본격적으로 이것저것 해보지 않은 분들!!
이런 분들은 신청하기 전 다시 한 번 고민해보세요!
Golang을 아셔야 이번 풀잎에서 많은 걸 얻어갈 수 있습니다!!
학습유형
사전학습
모임 운영 방식
예제를 나누어서 진행하고 예제에 대한 코드리뷰를 진행하면서 실력을 쌓는 과정으로 갈 예정입니다.
커리큘럼
CHAPTER 1 프로젝트 시작
1.1 분산 시스템에 HTTP의 JSON 서비스 적용하기 4
1.2 프로젝트 환경 설정하기 5
1.3 커밋 로그 프로토타입 만들기 6
1.4 HTTP의 JSON 만들기 7
1.5 서버 실행하기 10
1.6 API 테스트하기 11
1.7 마치며 12

CHAPTER 2 프로토콜 버퍼와 구조체 13
2.1 프로토콜 버퍼를 쓰는 이유 15
__2.1.1 일관된 스키마 15
__2.1.2 버전 관리 제거 15
__2.1.3 줄어드는 보일러플레이트 코드 16
__2.1.4 확장성 16
__2.1.5 언어 불가지론 16
__2.1.6 성능 16
2.2 프로토콜 버퍼 컴파일러 설치하기 16
2.3 프로토콜 버퍼로 도메인 자료형 정의하기 18
2.4 프로토콜 버퍼 컴파일하기 19
2.5 생성한 코드를 이용하여 작업하기 21
2.6 마치며 22

CHAPTER 3 로그 패키지 작성 23
3.1 로그는 강력한 도구 23
3.2 로그의 작동 원리 25
3.3 로그 만들기 26
__3.3.1 스토어 만들기 26
__3.3.2 인덱스 만들기 32
__3.3.3 세그먼트 만들기 38
__3.3.4 로그 코딩하기 44
3.4 마치며 54

CHAPTER 4 gRPC 요청 처리 57
4.1 gRPC에 관하여 58
4.2 서비스를 만들 때의 목표 58
4.3 gRPC 서비스 정의하기 60
4.4 gRPC 플러그인으로 컴파일하기 62
4.5 gRPC 서버 구현하기 62
__4.5.1 gRPC의 에러 처리 65
__4.5.2 인터페이스를 이용한 의존관계 역전 70
4.6 서버 등록하기 71
4.7 gRPC 서버와 클라이언트 테스트하기 71
4.8 마치며 76

CHAPTER 5 서비스 보안 78
5.1 서비스 보안의 세 단계 79
__5.1.1 주고받는 데이터의 암호화 79
__5.1.2 클라이언트 인증 80
__5.1.3 클라이언트 권한 81
5.2 TLS로 서버 인증하기 81
__5.2.1 CFSSL로 나만의 CA 작동하기 81
5.3 TLS 상호 인증으로 클라이언트 인증하기 90
5.4 ACL로 권한 부여하기 92
5.5 마치며 104

CHAPTER 6 시스템 관측 105
6.1 세 종류의 원격 측정 데이터 105
__6.1.1 메트릭 106
__6.1.2 구조화 로그 107
__6.1.3 트레이스 108
6.2 서비스를 관측 가능하게 만들기 109
6.3 마치며 116

CHAPTER 7 서버 간 서비스 디스커버리 119
7.1 서비스 디스커버리를 사용하는 이유 119
7.2 서비스 디스커버리 넣어주기 120
7.3 서프를 이용한 서비스 디스커버리 122
7.4 디스커버드 서비스의 요청과 로그 복제 130
7.5 디스커버리와 종단 간 서비스의 테스트 142
7.6 마치며 146

CHAPTER 8 합의를 통한 서비스 간 조율 148
8.1 래프트 알아보기 148
__8.1.1 리더 선출 149
__8.1.2 로그 복제 150
8.2 서비스에 래프트 구현하기 151
__8.2.1 래프트 설정 153
__8.2.2 로그 API 157
__8.2.3 유한상태 머신 159
__8.2.4 스트림 계층 165
__8.2.5 디스커버리 통합 167
__8.2.6 분산 로그 테스트 170
8.3 하나의 포트에서 여러 서비스를 실행하는 다중화 173
8.4 마치며 180

CHAPTER 9 클라이언트 측 서버 디스커버리와 로드 밸런싱 181
9.1 세 가지 로드 밸런싱 전략 181
9.2 gRPC 클라이언트 측 로드 밸런싱 182
9.3 서버를 찾을 수 있게 만들기 184
9.4 서버 정보 가져오기 188
9.5 피커로 요청 경로를 정하고 밸런스 잡기 195
9.6 디스커버리와 밸런싱 종단 간 테스트 200
9.7 마치며 202

교재 / 학습자료 / 준비물
Go 언어를 활용한 분산 서비스 개발(http://www.yes24.com/Product/Goods/114997239)
첫 시간 전 준비사항
1주차에 1번 챕터를 진행할 예정입니다.
미리 읽고 오세요.
퍼실이 소개
이영빈

이영빈

#Golang #고퍼가 되고 싶은 초급 고랭이

자기 소개 및 개설 동기

안녕하세요 모두의연구소 이영빈입니다.
저번 풀잎때 Golang에 대한 기초적인 내용을 진행했는데 이번에는 Golang 분산 서비스를 익힐 예정입니다!!
같이 함께 해요!!

소속

모두의연구소

풀잎스쿨 / LAB 참여 이력

AI Story LAB 랩짱

JAX/Flax LAB 랩짱

풀잎32기 경제학 책을 읽으면서 공부해요 - 힘든 시대를 위한 좋은 경제학 퍼실

풀잎28기 경제학을 책을 읽으면서 공부해요 - 경제학자의 시대 퍼실

풀잎25기 분산서비스해볼Lang? 고랭(Golang)! 퍼실

풀잎22기 못먹어도 GoGo 퍼실

풀잎19기 경제학을 책을 읽으면서 공부해요!! 퍼실

풀잎18기 CS182로 딥러닝 Deep하게 찍먹하기 퍼실

풀잎17기 cs182로 딥러닝 찍먹하기 퍼실

풀잎40기 Go로 웹 애플리케이션을 만든다Go? 참여

풀잎39기 Trustworthy AI 최신 연구 및 서비스 분석 참여

풀잎36기 경제학 책을 읽으면서 공부해요 - 21세기 통화정책, 금리의 역습 참여

풀잎19기 구글을 미치게 만드는 글쓰기 참여

풀잎17기 NLP with HuggingFace 참여

풀잎16기 구글 애널리틱스를 이용한 그로스해킹 첫걸음 참여

풀잎16기 딥 러닝을 연구하는 모두를 위한 Pytorch 논문 구현: Deep Generative Models부터 Vision Transformer까지! 참여

풀잎15기 MLOPs 참여

풀잎15기 슬로우페이퍼 10기 온라인 참여

풀잎스쿨 참여 주의사항
Q. 풀잎스쿨은 강의인가요?
풀잎스쿨은 학원식 강의가 아닌, 플립러닝(flipped learning) 방식으로 참여자들이 함께 만들어 나가는 스터디 모임이에요. 따라서 출석과 사전 학습을 성실히 수행하고, 공부한 것을 함께 나눌 의지가 있으시다면 그 어디보다 많은 것을 얻어가실 수 있답니다!

Q. '퍼실이'는 누구인가요?
퍼실이는 함께 공부하는 스터디 리더예요. 강사가 아니어서 강의를 하지는 않지만, 커리큘럼을 기획하고 모임을 진행한답니다. 선의와 공유의 마음으로 기꺼이 지원해 모임을 이끌어 주시는 만큼, 퍼실이와 함께 따뜻한 모임을 함께 만들어 주세요. :)
부득이하게 모임 참석이 어렵거나 모임에 늦는 경우처럼, 원활한 참여가 어려운 경우에는 퍼실이가 미리 인지하고 준비하실 수 있도록 반드시 알려주세요!

Q. 사회적 거리두기 단계에 따라 안전하게 진행되나요?
모두의연구소는 사회적 거리두기 단계별 방역 조치를 지켜, 모든 연구원들이 안전한 환경에서 편안히 활동하실 수 있도록 노력하고 있습니다.
오프라인 모임 또한 사회적 거리두기 단계별 방역 조치에 따라 온라인으로 진행될 수 있습니다. 다만, 방역 조치상 오프라인 모임이 가능한 경우 오프라인 진행을 원칙으로 합니다. 추가적으로, 모임의 질을 위해 온•오프라인 병행은 '지양'하고 있습니다.
풀잎스쿨에는 온라인으로 진행되는 다양한 과정이 있답니다. 시간적•거리적 제약으로 오프라인 참여가 어려우신 분들은 온라인 과정을 주목해 주세요! :)

Q. 온라인 모임에 참여할 때 캠과 마이크를 반드시 켜야 하나요?
네. 모두의연구소는 연구원 분들이 최적의 환경에서 학습과 연구에 몰입하실 수 있는 환경 조성을 최우선으로 하고 있습니다. 따라서, 온라인 모임 시에는 토론과 질문이 빈번한 학습 환경에서의 몰입과 매끄러운 진행을 위해, 반드시 캠과 마이크를 켜서 대화에 참여하도록 안내하고 있습니다.
캠과 마이크를 켤 수 없는 경우에는 아쉽지만 참여를 제한하고 있으니, 반드시 캠과 마이크 기능이 포함된 도구를 준비해 주세요. 원활한 의사소통을 위해 자택 등의 조용한 공간에서 참여해 주시면 감사드리겠습니다.
환불정책
첫 모임 시작 전날까지 취소 및 전액 환불이 가능합니다.
환불 신청은 홈페이지 상단의 “문의글 작성” 에서 가능합니다.
분산서비스해볼Lang? 고랭(Golang)!

모임시작

2022년 11월 16일

모임일시

매주 수요일 19:30 ~ 21:30

모임장소

온라인캠퍼스

모집기간

2022년 10월 31일 ~ 11월 13일

모집인원

8명

모집방법

신청 후 선발

165,000원 / 총 11회 24시간

(7,500원 / 시간)

📢 브라우저 창이나 탭을 동시에 한 개 이상 열어서 모임을 신청하는 경우 결제 오류가 발생할 수 있으니 하나씩 신청 부탁드려요!

모집 마감된 모임의 경우 '공석 알림 신청'을 해주시면, 추후 취소하는 참여자가 있는 경우에 이메일로 알림을 보내드립니다.

"모임이 더 궁금하다면 모두의연구소 커뮤니티 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!"

모두의연구소에서 만들면 다릅니다. AI학교 아이펠 DS과정 마침내 오픈!
분산서비스해볼Lang? 고랭(Golang)!

모임시작

2022년 11월 16일

모임일시

매주 수요일 19:30 ~ 21:30

모임장소

온라인캠퍼스

모집기간

2022년 10월 31일 ~ 11월 13일

모집인원

8명

모집방법

신청 후 선발

165,000원 / 총 11회 24시간

(7,500원 / 시간)

📢 브라우저 창이나 탭을 동시에 한 개 이상 열어서 모임을 신청하는 경우 결제 오류가 발생할 수 있으니 하나씩 신청 부탁드려요!

모집 마감된 모임의 경우 '공석 알림 신청'을 해주시면, 추후 취소하는 참여자가 있는 경우에 이메일로 알림을 보내드립니다.

"모임이 더 궁금하다면 모두의연구소 커뮤니티 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!"

어떤 모임인가요?
Go언어를 배우는 이유는 어떤 것이 있을까요?
대다수의 사람들이 Go언어를 배우는 이유에는 도커나 쿠버네티스, 테라폼과 같은 분산 서비스 구축이라고 생각합니다.
이번에 나온 따끈따끈한 신간으로 분산서비스를 공부해봐요!!
모임이 더 궁금하다면 모두의연구소 커뮤니티(https://join.slack.com/t/modulabs/shared_invite/zt-24wqh8x3q-N4AzqCVF_qD1x4RQeqFzAQ) 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!
무엇을 얻을 수 있나요?
Golang에서 가장 빛나는 분산서비스를 구축할 수 있습니다.
쿠버네티스로 배포할 수 있는 실력을 얻을 수 있습니다.
무엇을 공부하나요?
  • Golang으로 네트워크 공부하기
  • Golang으로 분산 서비스 구축하기
어떤 사전지식이 필요한가요?
Golang을 아시는 분들이어야 합니다.
이런 분들이 들으면 좋아요!
Golang을 알고 있는 분들!!
Golang을 겉햝기는 했지만 본격적으로 이것저것 해보지 않은 분들!!
이런 분들은 신청하기 전 다시 한 번 고민해보세요!
Golang을 아셔야 이번 풀잎에서 많은 걸 얻어갈 수 있습니다!!
학습유형
사전학습
모임 운영 방식
예제를 나누어서 진행하고 예제에 대한 코드리뷰를 진행하면서 실력을 쌓는 과정으로 갈 예정입니다.
커리큘럼
CHAPTER 1 프로젝트 시작
1.1 분산 시스템에 HTTP의 JSON 서비스 적용하기 4
1.2 프로젝트 환경 설정하기 5
1.3 커밋 로그 프로토타입 만들기 6
1.4 HTTP의 JSON 만들기 7
1.5 서버 실행하기 10
1.6 API 테스트하기 11
1.7 마치며 12

CHAPTER 2 프로토콜 버퍼와 구조체 13
2.1 프로토콜 버퍼를 쓰는 이유 15
__2.1.1 일관된 스키마 15
__2.1.2 버전 관리 제거 15
__2.1.3 줄어드는 보일러플레이트 코드 16
__2.1.4 확장성 16
__2.1.5 언어 불가지론 16
__2.1.6 성능 16
2.2 프로토콜 버퍼 컴파일러 설치하기 16
2.3 프로토콜 버퍼로 도메인 자료형 정의하기 18
2.4 프로토콜 버퍼 컴파일하기 19
2.5 생성한 코드를 이용하여 작업하기 21
2.6 마치며 22

CHAPTER 3 로그 패키지 작성 23
3.1 로그는 강력한 도구 23
3.2 로그의 작동 원리 25
3.3 로그 만들기 26
__3.3.1 스토어 만들기 26
__3.3.2 인덱스 만들기 32
__3.3.3 세그먼트 만들기 38
__3.3.4 로그 코딩하기 44
3.4 마치며 54

CHAPTER 4 gRPC 요청 처리 57
4.1 gRPC에 관하여 58
4.2 서비스를 만들 때의 목표 58
4.3 gRPC 서비스 정의하기 60
4.4 gRPC 플러그인으로 컴파일하기 62
4.5 gRPC 서버 구현하기 62
__4.5.1 gRPC의 에러 처리 65
__4.5.2 인터페이스를 이용한 의존관계 역전 70
4.6 서버 등록하기 71
4.7 gRPC 서버와 클라이언트 테스트하기 71
4.8 마치며 76

CHAPTER 5 서비스 보안 78
5.1 서비스 보안의 세 단계 79
__5.1.1 주고받는 데이터의 암호화 79
__5.1.2 클라이언트 인증 80
__5.1.3 클라이언트 권한 81
5.2 TLS로 서버 인증하기 81
__5.2.1 CFSSL로 나만의 CA 작동하기 81
5.3 TLS 상호 인증으로 클라이언트 인증하기 90
5.4 ACL로 권한 부여하기 92
5.5 마치며 104

CHAPTER 6 시스템 관측 105
6.1 세 종류의 원격 측정 데이터 105
__6.1.1 메트릭 106
__6.1.2 구조화 로그 107
__6.1.3 트레이스 108
6.2 서비스를 관측 가능하게 만들기 109
6.3 마치며 116

CHAPTER 7 서버 간 서비스 디스커버리 119
7.1 서비스 디스커버리를 사용하는 이유 119
7.2 서비스 디스커버리 넣어주기 120
7.3 서프를 이용한 서비스 디스커버리 122
7.4 디스커버드 서비스의 요청과 로그 복제 130
7.5 디스커버리와 종단 간 서비스의 테스트 142
7.6 마치며 146

CHAPTER 8 합의를 통한 서비스 간 조율 148
8.1 래프트 알아보기 148
__8.1.1 리더 선출 149
__8.1.2 로그 복제 150
8.2 서비스에 래프트 구현하기 151
__8.2.1 래프트 설정 153
__8.2.2 로그 API 157
__8.2.3 유한상태 머신 159
__8.2.4 스트림 계층 165
__8.2.5 디스커버리 통합 167
__8.2.6 분산 로그 테스트 170
8.3 하나의 포트에서 여러 서비스를 실행하는 다중화 173
8.4 마치며 180

CHAPTER 9 클라이언트 측 서버 디스커버리와 로드 밸런싱 181
9.1 세 가지 로드 밸런싱 전략 181
9.2 gRPC 클라이언트 측 로드 밸런싱 182
9.3 서버를 찾을 수 있게 만들기 184
9.4 서버 정보 가져오기 188
9.5 피커로 요청 경로를 정하고 밸런스 잡기 195
9.6 디스커버리와 밸런싱 종단 간 테스트 200
9.7 마치며 202

교재 / 학습자료 / 준비물
Go 언어를 활용한 분산 서비스 개발(http://www.yes24.com/Product/Goods/114997239)
첫 시간 전 준비사항
1주차에 1번 챕터를 진행할 예정입니다.
미리 읽고 오세요.
퍼실이 소개

이영빈

이영빈
#Golang #고퍼가 되고 싶은 초급 고랭이
자기소개 및 개설동기
안녕하세요 모두의연구소 이영빈입니다.
저번 풀잎때 Golang에 대한 기초적인 내용을 진행했는데 이번에는 Golang 분산 서비스를 익힐 예정입니다!!
같이 함께 해요!!
소속
모두의연구소
풀잎스쿨 / LAB 참여 이력

AI Story LAB 랩짱

JAX/Flax LAB 랩짱

풀잎32기 경제학 책을 읽으면서 공부해요 - 힘든 시대를 위한 좋은 경제학 퍼실

풀잎28기 경제학을 책을 읽으면서 공부해요 - 경제학자의 시대 퍼실

풀잎25기 분산서비스해볼Lang? 고랭(Golang)! 퍼실

풀잎22기 못먹어도 GoGo 퍼실

풀잎19기 경제학을 책을 읽으면서 공부해요!! 퍼실

풀잎18기 CS182로 딥러닝 Deep하게 찍먹하기 퍼실

풀잎17기 cs182로 딥러닝 찍먹하기 퍼실

풀잎40기 Go로 웹 애플리케이션을 만든다Go? 참여

풀잎39기 Trustworthy AI 최신 연구 및 서비스 분석 참여

풀잎36기 경제학 책을 읽으면서 공부해요 - 21세기 통화정책, 금리의 역습 참여

풀잎19기 구글을 미치게 만드는 글쓰기 참여

풀잎17기 NLP with HuggingFace 참여

풀잎16기 구글 애널리틱스를 이용한 그로스해킹 첫걸음 참여

풀잎16기 딥 러닝을 연구하는 모두를 위한 Pytorch 논문 구현: Deep Generative Models부터 Vision Transformer까지! 참여

풀잎15기 MLOPs 참여

풀잎15기 슬로우페이퍼 10기 온라인 참여

풀잎스쿨 참여 주의사항
Q. 풀잎스쿨은 강의인가요?
풀잎스쿨은 학원식 강의가 아닌, 플립러닝(flipped learning) 방식으로 참여자들이 함께 만들어 나가는 스터디 모임이에요. 따라서 출석과 사전 학습을 성실히 수행하고, 공부한 것을 함께 나눌 의지가 있으시다면 그 어디보다 많은 것을 얻어가실 수 있답니다!

Q. '퍼실이'는 누구인가요?
퍼실이는 함께 공부하는 스터디 리더예요. 강사가 아니어서 강의를 하지는 않지만, 커리큘럼을 기획하고 모임을 진행한답니다. 선의와 공유의 마음으로 기꺼이 지원해 모임을 이끌어 주시는 만큼, 퍼실이와 함께 따뜻한 모임을 함께 만들어 주세요. :)
부득이하게 모임 참석이 어렵거나 모임에 늦는 경우처럼, 원활한 참여가 어려운 경우에는 퍼실이가 미리 인지하고 준비하실 수 있도록 반드시 알려주세요!

Q. 사회적 거리두기 단계에 따라 안전하게 진행되나요?
모두의연구소는 사회적 거리두기 단계별 방역 조치를 지켜, 모든 연구원들이 안전한 환경에서 편안히 활동하실 수 있도록 노력하고 있습니다.
오프라인 모임 또한 사회적 거리두기 단계별 방역 조치에 따라 온라인으로 진행될 수 있습니다. 다만, 방역 조치상 오프라인 모임이 가능한 경우 오프라인 진행을 원칙으로 합니다. 추가적으로, 모임의 질을 위해 온•오프라인 병행은 '지양'하고 있습니다.
풀잎스쿨에는 온라인으로 진행되는 다양한 과정이 있답니다. 시간적•거리적 제약으로 오프라인 참여가 어려우신 분들은 온라인 과정을 주목해 주세요! :)

Q. 온라인 모임에 참여할 때 캠과 마이크를 반드시 켜야 하나요?
네. 모두의연구소는 연구원 분들이 최적의 환경에서 학습과 연구에 몰입하실 수 있는 환경 조성을 최우선으로 하고 있습니다. 따라서, 온라인 모임 시에는 토론과 질문이 빈번한 학습 환경에서의 몰입과 매끄러운 진행을 위해, 반드시 캠과 마이크를 켜서 대화에 참여하도록 안내하고 있습니다.
캠과 마이크를 켤 수 없는 경우에는 아쉽지만 참여를 제한하고 있으니, 반드시 캠과 마이크 기능이 포함된 도구를 준비해 주세요. 원활한 의사소통을 위해 자택 등의 조용한 공간에서 참여해 주시면 감사드리겠습니다.
환불정책
첫 모임 시작 전날까지 취소 및 전액 환불이 가능합니다.
환불 신청은 홈페이지 상단의 “문의글 작성” 에서 가능합니다.