프로필 사진의 변경을 담당하는 API에서 이미지를 그대로 받아와 저장소에 저장하기에는 용량이 너무 크다는 무리가 있었고 가지각색의 용량을 가진 이미지들을 반환해주는데 속도를 보장할 수 없었다. 나는 프로필 이미지를 받으면 프로필 상에 작게 표시해주고 크게 보여줄 일은 없기 때문에 이미지를 압축해 저장소에 저장을 하는 방법을 생각해보았다. sharp는 이를 도와주는 라이브러리이다.나는 sharp로 이미지 크기를 줄인 후 multer로 저장소에 저장하는 방식으로 구현을 했다. sharp를 설치해준다.npm install sharp// 혹은 (yarn을 사용한다면)yarn add sharp다음은 sharp를 importconst sharp = require("sharp") 형식은 아래와 같이 사용해주면 된다...
전체 글
전에 봤듯이 TypeScript에서 Object 타입을 선언할 때 interface와 type을 이용한다.TypeScript는 객체를 Object를 선언하고 바로 접근하려면 안되는 것을 볼 수 있다. 그래서 우리는 object에 이용할 때는 interface를 사용한다.object만 선언하고 사용했을 때랑 다르게 UserInfo라는 interface를 선언한 후 user의 name에 접근하니 오류 메시지를 띄우지 않는다. 잠깐.여기서 Interface란상호 간에 정의한 약속 혹은 규칙을 의미하며 TypeScript에서의 인터페이스는 보통 다음과 같은 범주에 대해 약속을 정의한다고 한다.- 객체의 속성과 속성의 타입- 함수의 파라미터- 삼수의 반환 타입- 배열과 객체를 접근하는 방식- 클레스 Interfa..
TypeScript의 기본 타입은 JavaScript와 거의 동일한 데이터 타입을 지원하며, 열거 타입을 이용하면 더 편리하게 사용할 수 있다고 한다. Type 목록1. Boolean2. Number3. String4. Array5. Tuple6. Enum7. Any8. Void9. Null and Undefined10. Never11. Object 1. Boolean참/거짓 (true/false) 값let isDone: boolean = flase; 2. NumberTypeScript의 모든 숫자는 부동 소수 값이다. 16진수, 10진수 리터럴에 더불어 2진수 8진수 리터럴도 지원함.let decimal: number = 6;let hex: number = 0xf00d;let binary: number..
이전에 프로젝트를 진행하면서 회원의 정보를 하루가 지날 때마다 수정을 해야 하는 작업을 했어야 했다. 처음엔 어플리케이션을 돌리는 서버에서 배치 프로그램을 돌리거나 crontap을 돌려야 되나 싶었지만 찾아보니 mongodb는 친절하게 Trigger라는 기능을 제공해 주고 있었다. 나는 예약 작업만 걸어주면 mongodb가 알아서 쿼리를 정해준 시간에 돌려준다. 방법이 복잡하지 않아서 남겨두려고 한다. 내가 할 작업은 우리나라 기준 0시마다 "test"라는 DB의 모든 User의 quizChance를 3으로 바꿔줄거다. 우선 웹 mongodb atlas 관리 페이지로 들어가 준다. 그러면 위처럼 왼편에 "Triggers"라는 것이 있다. 저곳에서 trigger를 등록할 수 있다. "Add Trigger"..
요즘 TypeScript라는 말을 자주 본다. 이는 대세가 되었고 공부를 해보려고 한다. 이전에는 TypeScript는 웹 프런트 분야가 주로 사용하는 언어인 줄 알았다. 그러나 요즘은 백엔드 분야에서도 많이 사용된다는 말을 듣고 친근해지면 전적으로 좋겠다 느꼈다.아직까지는 규모가 있는 프로젝트를 진행해보지 않았기에 JavaScript에 대해 크게 불편함을 느끼지 못했다. 하지만 프로젝트가 커진다면 이미 만들어진 스키마 위에서 작업을 하는 관정에서 자잘한 오타로 인한 에러가 발생되고 그 에러가 바로 보이는 것이 아니라 실행하면서 런타임이 되어서야 에러를 발견할 수 있다는 치명적인 단점이 있다고 한다. 이러한 이유로 기존 JavaScript의 동적 타입 체계를 완전히 뒤엎어 기존의 타입을 통해 컴파일이 ..
이전 글[SSL] certbot을 이용한 Let's Encrypt SSL 인증서 자동 갱신 [SSL] certbot을 이용한 Let's Encrypt SSL 인증서 자동 갱신이전 글 [SSL] Certbot으로 SSL 무료 인증서 발급 프로젝트 진행 중 카카오 맵 API를 이용해 명소의 위치를 찍어주려고 한다. 하지만 로컬에서는 잘 보이지만 배포 환경에서는 보이지 않고 404를 받는jangbageum.tistory.comNginx가 설치 되어있고 실행중이라는 가정 하에 적겠다. $ sudo vim /etc/nginx/site-available/defaultvim 에디터를 이용해 default 파일의 server 부분을 아래와 같이 수정해준다.server { listen 80; s..