iron session?
서명 및 암호화된 쿠키를 사용하여 데이터를 저장하는 Node.js의 stateless 세션 유틸리티이다. Next.js, Express 및 Node.js HTTP 서버에서 동작한다. 세션 데이터는 암호화된 쿠키(”seals”)에 저장된다. 그리고 사용중인 서버에서만 세션 데이터를 디코딩할 수 있다. iron session은 세션 ID가 없으므로 서버 관점에서 Iron 세션을 “무상태”로 만든다.
서명 및 암호화된 쿠키를 사용하여 데이터를 저장하는 Node.js의 stateless 세션 유틸리티이다. Next.js, Express 및 Node.js HTTP 서버에서 동작한다. 세션 데이터는 암호화된 쿠키(”seals”)에 저장된다. 그리고 사용중인 서버에서만 세션 데이터를 디코딩할 수 있다. iron session은 세션 ID가 없으므로 서버 관점에서 Iron 세션을 “무상태”로 만든다.
Axios Interceptor는 axios의 request
와 response
를 가로채 필요한 기능을 추가할 수 있다.
axios의 return type이 Promise인 점을 이용해 특정 요청 전 부가 작업을 할 수 있게 해주는 라이브러리이다.
우선 stop
, kill
두 명령어 모두 실행 중인 컨테이너를 종료할 때 사용하는 명령어이다.
Next.js로 만든 프로젝트를 EC2에 올려서 테스트 해보기 위해 EC2 내부에서 코드를 clone 하고 yarn
으로 의존성 패키지를 설치하려고 했다.
Next.js는 Image
컴포넌트를 사용한 이미지 최적화를 지원한다. 이미지의 퀄리티는 유지하면서 용량을 줄이고 디바이스별 최적화를 하는 등 다양한 기능을 지원한다. 하지만 로컬이 아닌 외부에서 이미지를 가져와 사용하는 경우에는 악의적인 사용을 방지하기 위한 별도의 처리가 추가로 필요하다. next.config.js
에서 remotePatterns
속성으로 옵션에 설정할 수 있다. 지정한 도메인에 있는 이미지만 가져와 Next.js의 이미지 최적화를 사용할 수 있게 해준다.
그동안 만나본 수많은 디자이너들 중에 가장 의외였다. 서비스 서비스 구축 당시의 멤버도 아니었고 PM도 아닌 PD가 전반적인 프로세스를 정확하게 파악하고 있었고 서비스 E2E QA를 진행할 수 있을 정도로 디자인 업무 외적으로 커버하고 있는 역할이 커 보였다. 내가 만났던 디자이너의 느낌과 달랐다.
개인 포트폴리오 사이트에서 Works 내 작업물 컨텐츠를 일반 HTML 기반의 개별 컴포넌트 형태로 가지고 있다보니 운영 비용이 크고 코드의 양 또한 많아져서 리소스 낭비가 컸다. 무엇보다 하드 코딩 형태의 정적 파일이 비효율적이고 개선이 여지가 많아 보였다. 작업물을 추가할 때 마다 불편했다. 제작 당시 시간 없다는 핑계로 막 잡은 ul, li, br 태그로 난무한 페이지를 더 이상 지켜 보고만 있을 수는 없었다.
현재 블로그 mooooburg-dev.github.io
에 dev.drawyourmind.com
도메인을 연결했다.
메인 도메인 drawyourmind.com
은 aws에서 Route53
을 이용해 관리중이라 Route53 내에서 dev.drawyourmind.com
레코드를 추가로 생성했다.
CloudFront
는 AWS
에서 제공하는 CDN
(컨텐츠 전송 네트워크)이다. CDN
서비스를 사용하면 서비스 대기 시간과 성능이 개선되고 이미지 등의 리소스에 접근하는 속도가 빨라진다. 서비스 지역이 S3
리전과 같은 지역이거나 가까우면 데이터 전송 속도가 빠르겠지만 다른 리전일 경우 다소 느릴 수 있다. CloudFront
를 사용하면 이와 같은 문제를 개선할 수 있고 보안상으로도 SSL을 지원하기 때문에 안전하게 구성할 수 있다.
S3
버킷에 리소스를 담고 Route53
에서 해당 버킷으로 라우팅 처리할 수 있지만 CloudFront
로 한번 더 감싼다고 이해할 수 있다.
파일 업로드 처리중에 아래와 같은 상황이 있었다. upload file
을 이용해 업로드 할 파일을 선택후 X버튼으로 파일을 삭제하고 방금 선택헀던 같은 파일을 재선택할 경우 change
이벤트가 발생하지 않는다. formdata
에 선택한 파일 정보가 남아있기 때문이다.