TIL
TIL 블로그 개설
2022.08.29
JSDoc
JSDoc을 설치 후 사용해봤다.
- 자바스크립트 코드에 대한 주석, 타입 지정 등의 설명을 달 수 있는 마크업 언어
/** */사이에 내용을 입력해 작성할 수 있다.- 타입스크립트에서 사용할 수 있는 타입 지정, 타입 추론등의 기능 중 상당수를 동일하게 사용할 수 있음
/**
* TodoInputs 커스텀 타입 정의
* @typedef {Object} TodoInputsType
* @property {number} id - 아이디(필수)
* @property {string} contents - 내용(필수)
* @property {boolean} isCompleted - 완료여부(필수)
*/
2022.08.28
운영체제
KOCW 통해 이화여대 반효경 교수님 운영체제 강의 수강 중.
- 운영체제란? 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어. 사용자가 실 사용하는 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.
- 운영체제의 가장 중요한 목표는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것이다. 이 때 효율성과 형평성 등을 고려하여야 한다.
2022.08.22
Observable
- RxJS의 정의에 따르면, 자바스크립트의 비동기 환경에서 여러 데이터를 다루는 도구이다.
- Promise 객체의 최대 단점이 중간에 취소 불가능하다는 점인데, Observable을 이용하면 취소가 가능하다.
useRef typescript 지정
useRef를 이용해 특정 요소의 click 이벤트를 타 요소와 연결해주고 싶은 경우, 제네릭을 이용해 타입을 지정해주면 된다.
const inputRef = useRef<HTMLInputElement>(null);
const handleFileBtn = () => {
if (inputRef.current) {
inputRef.current.click();
}
};
2022.08.20
해시테이블
- 해시테이블이란? 해시함수를 사용하여 변환한 값을 index로 삼아 key: value 형식으로 데이터를 저장하는 자료구조. 탐색, 삽입, 삭제 속도가 굉장히 빠르다.
- 해싱이란? key에 해당하는 데이터를 해시함수를 사용하여 고정된 길이의 값으로 변환하는 작업.
- 충돌(Collision) 발생 가능성 있음. 서로 다른 데이터가 동일한 해시 값을 가지게 되는 상황.
vuepress로 블로그 만들기
티스토리에 TIL을 같이 쓰니까 TIL도 어느정도 글의 완결성이 있어야 한다는 압박감이 들어서 TIL용 vuepress 페이지를 만들고, github page를 이용해 배포했다.
github page deploy를 위한 커맨드 생성 (with git subtree)
git subtree 기능을 활용해 배포 단계를 단순하게 만들었다.
git push origin main && git subtree push --prefix=docs/.vuepress/dist origin gh-pages