5주차 들어서 JWT와 API 개발하는데 정말 정신이 하나도 없었다 😩 블로그 포스팅 하는게 귀찮은 것도 없잖아 있지만 벌써 8주차에 들어섰는데 이제서야 6주차 포스팅을 작성한다. 6주차 부터는 강의 내용보다는 개인적인 학습량이 더 많아서 내용이 많지 않다!
📖 강의 주제
- Paging & Regex
Paging 기법과 정규 표현식
📝 목표
- 페이징 기법
- 정규 표현식
▶️ 개발 일지
1. 강의 내용 정리
1) 페이징 개념
- 데이터를 한 페이지에서 특정 개수로 잘라서 관리하는 방식
- limit (t(n-1), t)
t는 보여줄 페이지 개수, n은 페이지 넘버
- 사용자 경험을 낮추는 문제 발생
2) 페이징 트렌드
- 데이터가 유실되거나 중복되지 않게 반응형 웹으로 개발
= 필터링에 문제가 생길 수 있음
3) 정규 표현식
- 문자열에서 특정 문자 조합을 찾기 위한 패턴
- 자바스크립트에서 정규 표현식은 객체로 exec()와 test() 메소드 사용 가능
- 정규 표현식 리터럴은 슬래시로 패턴을 감싸서 작성
const re = /ab+c/;
const re = new RegExp('ab+c');
- 특수 문자를 탐색할 경우 역슬래시를 배치하여 이스케이핑 해야함
const re = /a\*b/;
- exec() 메소드는 문자열에서 일치하는 부분을 탐색하고 일치 정보는 나타내는 배열을 반환. 일치한 문자열이 없을 경우 null을 반환
- test() 메소드는 문자열에 일치하는 부분을 확인하고 true 또는 false를 반환
2. 이슈사항 정리
1) 리눅스 스왑 메모리
- AWS 인스턴스에 설치된 리눅스(Ubuntu 20.04)에서 npm install을 할 때 속도가 현저히 느려지는 현상을 발견했다.
내용을 찾아보니 프리티어에서는 메모리가 1GB밖에 되지 않아 문제가 생긴다고 한다. 일시적으로 하드디스크를 메모리로 만들어서 속도를 향상 시킬 수 있다.
- 내용은 이 블로그 포스트를 참고한다.
역시 공짜는 그다지 좋지 않다
2) 세션 ID 에러
- Node.js에서 세션 ID를 사용하려고 하는데 자꾸 에러가 났다. 블로그 모든 내용을 찾아봐도 다를 점이 없는데 에러가 자꾸 나는거 같아서 원인 파악하는데 애를 먹었다.
결론은❗️ Express 프레임워크는 미들웨어 기반이기 때문에 app.use()를 사용할 때 순서가 중요하다. 세션이 생성되기 전에 다른 미들웨어를 사용할 경우 에러가 날 수 있다! (StackOuverflow 내용 참고[2])
3) Git 하위 디렉토리 Clone/Pull
- 서버에 소스를 배포할 때 매번 SFTP로 보낼 순 없다. 특히 다른 사람이랑 협업해서 개발할 경우 Git과 같은 형상관리 시스템을 사용하거나 배포 툴을 사용해야 한다.
- 나는 혼자 개발하고 있지만 Git을 통해 서버에 소스를 배포하고 싶었고, 한 프로젝트에 여러 파일을 올리다보니 서버용 소스코드만 서버에서 다운받고 싶었다.
- 방법은 있다! 특정 디렉토리만 Clone 혹은 Pull 하면 되는 것이다. 내용은 인터넷을 찾아보면 많지만 이 블로그 포스트를 참고해도 된다.
자꾸 바쁘단 핑계로 블로그 포스팅을 미룬다. 여기에 기록하지 않으면 머릿속에서는 금방 사라지니, 생각 날 때마다 포스팅 해야겠다.
& 링크모음
[1] : 라이징캠프
[2] : StackOverflow : req.session Error