func (idx, used int)
```used를 사용했다고 가정하고, idx는 몇 번째인지를 나타낸다고 해보자. 이 경우, used에 1로 켜져있는 비트의 수를 세면 이 함수가 풀 idx값을 얻을 수 있다. 하지만 이는 추가적인 계산이 필요하다. 편의를 위해 이 값을 idx로 전달하면 쉽게 해결된다. 이 경우 굳이 idx는 메모이제이션을 하지 않아도 된다. 어차피 idx값은 used값에 종속적이기 때문에 used에 의해 상태가 결정되지, idx에 의해 상태가 결정되는 것은 아니기 때문이다.input.value vs input.files오픈 카톡방에서 어떤 분께서 input에 여러개 첨부된 파일 중 특정한 것을 어떻게 빼야 하는지 질문을 하셨다. 나는 자연스럽게 input태그의 파일값은 읽기 전용이므로 바꿀 수 없다는 답변을 드렸다. 그런데 다른 분께서 그냥 다른 배열로 옮기고 처리하면 된다고 말씀하시고 그걸로 해결을 하셨다고 한다.
엥? 도대체 어떻게 그게 가능하단 말이여? 내가 알기로 input태그의 value값은 읽기전용인데, 읽기전용인 이유는 사용자 컴퓨터의 특정한 경로에 있는 파일들을 마음껏 업로드 할 수 있으니 이를 보안상 막기 위함이라고 알고 있는데 말이다.
근데 알고보니까 FileList객체는 value에 들어있는게 아니라 files에 들어있더라... Aㅏ.. 난 지금까지 value라는 값에 FileList같은게 들어있는 줄 알았는데 그게 아니었던 것이다... 그래도 FileList 자체도 immutable이므로 읽기전용이라고 봐야 한다.
책임이 가장 중요하다. 암 그렇고 말고!