> For the complete documentation index, see [llms.txt](https://simian114.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://simian114.gitbook.io/blog/undefined-1/diary/2021/february/20210205.md).

# 20210205(금)

## 2021-02-05

### 1. 학습 날짜

* 2020-02-05

### 2. 학습 시간

* 11:00 \~ 23:30

### 3. 학습 범위 및 주제

* 이벤트

### 4. 학습 목표

* DOM 요소 자체에 이벤트를 걸기

### 5. 학습 정리

* [레일즈 스토롱 파라미터](https://simian114.gitbook.io/blog/undefined/rubyonrails/strongparameter-1)
* [백본뷰, 제이쿼리 remove](https://simian114.gitbook.io/blog/undefined/backbonejs/view-remove-jquery-remove)

### 6. 상세 학습 내용

* 어제까지 액션 케이블을 활용해서 appearance 뷰에서 유저 자체 실시간으로 관찰할 수 있도록 만들었다.
* 따라서 오늘은 이 유저 자체를 누름으로써 메뉴창을 띄우고 메뉴의 각 요소를 누를 때 적절한 행동을 할 수 있도록 만드는 작업을 했다.
* 일단 오늘 가장 문제가 되었던건 역시 html, css 였다.... 이 부분은 정말 알면 알수록 더 어려운것 같다.
* 결국 띄우는데까지 성공했다.
* 학습했던 부분에서 프론트에서 백으로 데이터를 날릴 때 데이터를 객체로 감싸서 보낼수도 있고 데이터 자체만 보낼때도 있는데 만약 이 둘을 한번에 보낸다면 값을 어떻게 스트롱 파라미터로 받아야 하는지에 대해 고민했었다. 결론은 이 둘을 한번에 받을수는 있지만 require을 사용하지는 않고 permit 만을 사용한다는 것.
* 또한 view에서의 remove에 대해서도 학습을 했다. 주정님이랑 같이 작업을 할 때 각 view 를 지워줄 때는 `this.$el.remove` 를 이용해서 지우고 있었는데 실상 이건 뷰 객체를 지우는게 아닌 DOM 요소만을 지우는거였다. 왜냐면 this.$el.remove 는 제이쿼리의 함수기 때문.... 이렇게 지우면 뷰 객체에 속한 모델 컬렉션, 그리고 모델과 컬렉션에 listenTO 되어있는 이벤트를 지워주지 못하고 오직 DOM요소와 DOM과 관련된 이벤트만 지워주는 것이다.
* 처음에는 물론 이상이 없겠지만 가면 갈수록 문제가 생길게 뻔했기 때문에 수정했다.

### 7. 오늘 학습 내용에 대한 개인적인 총평

* 속도가 너무 느리다. 내가 너무 멍청한가..?

### 8. 다음 학습 계획

* 메뉴에 대한 각 기능 정의 및 구현하기
