(TIL) 2020-09-21 기록

업데이트:

오늘 한 일

  • 오늘 드디어 해쉬 태그 기능을 완성했다.(적어도 기본적인 기능성에 있어서는) [#]([^\s!@#$%^&*()\-=\+[{\]},.<>?\/`~\\|]+) 이와 같은 정규식 패턴을 사용하여 해시태그를 인식하도록 했다. 위의 정규식은 #로 시작하면서 그 뒤에 공백문자와 나열된 특수문자를 제외한 글자가 1개 이상 오는 패턴을 찾는다. #를 찾고 다음 공백 문자를 찾는 방식은 너무 단순한 방식이다. 그래서 지금 태그를 수정 중인지 아닌지를 확인하기 위해서는 일단 #의 위치를 찾고 없으면 아닌 것이고 만약 찾았다면 다시 반대 끝편으로 탐색을 해 공백문자나 문자열의 끝에 다다르면 그 인덱스를 저장해두었다가 시작점과 끝점 사이에 정규식 패턴과 일치하는 문자열이 있는지 찾는다. 없으면 유효한 태그를 작성 중인 게 아니니 태그를 수정하지 않는 것으로 인식하고 있다면 유효한 태그를 작성 중인 것이다.
  • 태그를 추출하는 것은 위보다 쉽다. 이미 위에서 지금 태그를 수정 중인 것으로 판단을 했기 때문에 가장 가까이 있는 이전의 #의 위치를 찾고 거기서부터 정규식 패턴과 일치하는 첫 번째 문자열을 찾으면 그게 작성 중인 해시태그이다.
  • 완성도를 기하기 위해서는 제안된 태그를 클릭했을 때 #부터 작성 중인 해시태그 끝까지 제안된 태그로 치환하는 기능과 타이핑을 빨리해서 중간에 쓸데없이 발생된 검색 함수 비동기 호출을 취소하는 것도 해야 한다.
  • html form과 table 사용법을 배우고 inline css, internal css, external css, 그리고 css를 적용할 때 selector의 종류를 배웠다.

내일 할 일

  • 중급 css를 배울 차례이다.
  • 일단 기본적인 태그 기능은 만들어졌으니 완성도는 차후에 높이기로 하고 이제 본격적으로 공개 보이스 업로드 기능를 디버깅해야겠다. 이게 다 되면 여러 보이스를 업로드하고 불러오는 기능을 디버깅해야 한다.

태그:

카테고리:

업데이트:

댓글남기기