20210117(일)
2021-01-17
1. 학습 날짜
- 2020-01-17 
2. 학습 시간
- 10:30 ~ 15:00 
3. 학습 범위 및 주제
- 액션 케이블 
4. 학습 목표
- 액션 케이블 학습하기 
5. 학습 정리
- x 
6. 상세 학습 내용
액션 케이블
- 액션케이블은 레일즈에서 웹소켓 프로토콜을 프레임워크 아래에서 사용할 수 있게 해주는 기능이다. 
용어
- Connections: 커넥션이란 클라이언트와 서버간의 관계의 성립이다. - 하나의 액션 케이블 서버는 여러개의 커넥션 객체를 만들 수 있다. - 즉 여러 명의 클라이언트와 연결될 수 있다는 것이다. 
 
- 그리고 웹소켓 하나당 하나의 연결의 생긴다. 
- 한명의 유저는 브라우저의 탭, 서로 다른 기기등을 이용해서 여러 개의 웹소켓을 만들수있다. 
 
- Consumer - 웹소켓과 연결된 클라이언트를 컨슈머라고 부른다. 
- 액션케이블에서 컨슈머는 클라이언트 사이드인 자바스크립트 프레임워크 단에서 생성된다. 
 
- Channel - 각각의 컨슈머는 여러 개의 채널을 구독할 수 있다. 
 
- Subscriber - 컨슈머가 채널을 구독하면 이를 subscriber이라고 한다. 
 
사용법
- rails g channel room명령어로- room_channel을 만든다.
- 이렇게 채널을 만들면 클라이언트 사이드 파일과 서버 사이드 파일이 만들어진다. - 클라이언트사이드 파일은 - javascript파일로 생성
- 서버사이드 파일은 - ruby파일로 생성
 
- JS 파일에서 클라이언트가 서버에 연결됨을 명시할 수 있다. 이렇게 클라이언트와 서버가 연결이 되면 이제 웹소켓 프로토콜에 따라 서버거 클라이언트의 요청 없이도 응답을 보낼 수 있게 된다. - 여기서 클라이언트가 어떤 채널, 어떤 방에 접속하는지도 명시 할 수 있다. 
- 적절한 제어문을 사용해서 클라이언트가 어떤 채널의 몇번 방의 컨슈머로 만드는게 중요하다 
 
- 클라라이언트가 컨슈머가 되면, 즉 create 동작이 처음 발생하면 - connected()함수를 클라이언트 프레임워크에서 발생시킨다. 이 함수는 처음에만 발동함!
- 이렇게 어떤 채널, 어떤 방이 생성되면 해당 방에 ActionCable 클래스를 통해서 브로드캐스팅으로 연락을 줄 수 있다. 
7. 오늘 학습 내용에 대한 개인적인 총평
- 공부해야하는데 손에 안잡힌다... 
8. 다음 학습 계획
- 액션 케이블 
Last updated
Was this helpful?