본문 바로가기
  • ANALOG CODE
  • AnalogCode
반응형

개발34

Gitlab Pages 를 이용하여 무료로 웹사이트 호스팅하기 Gitlab Pages는 Github Pages와 똑같은 개념이다. 둘다 모두 정적 웹사이트를 호스팅할 수 있는 기능을 제공한다. 그것도 모두 무료로 사용이 가능하다. 그중에서도 Gitlab Pages를 이용하여 NuxtJS로 만든 정적 웹사이트를 호스팅하는 과정을 정리하여 보았다. AWS EC2에서 Gitlab Pages로 이전 (NuxtJS) NuxtJS로 개발하여 AWS EC2로 호스팅중인 서비스 하나가 있다. 사용량이 적은데다가 AWS에 도메인비용 + EC2 비용을 내기가 아까워서 무료로 호스팅할 수 있는 방법을 찾다보니 Github Pages와 Gitlab Pages 가 눈에 들어왔다. 백엔드 API만 없다면 충분히 이쪽으로 이전할 수 있을 것 같다는 생각이 들었다. 백엔드 API 달랑 하나 있.. 2023. 4. 21.
Nuxt.js SSR 모드 PM2 배포시 빌드 문제 Nuxt를 사용하여 SSR 모드로 어플리케이션을 만들어서 PM2를 사용하여 서버로 배포한다. 그러면 서버에서 nuxt build 작업을 하게 되는데, 이때 빌드 작업이 CPU와 메모리에 상당한 부하를 일으킨다. 그래서 AWS EC2 micro 이하급으로 하면 빌드 중간에 리소스 부족으로 멈추는 현상이 발생한다. 문제가 발생하는 현재 상황은 이렇다. Nuxt SSR + PM2 Deploy Nuxt SSR 모드로 개발을 하고 PM2를 이용하여 서버에서 인스턴스 관리를 하고 PM2 deploy 를 이용하여 배포 작업을 한다. Nuxt SSR 모드로 production server에서 동작하려면 빌드 과정이 필요하다. 이 빌드 작업은 Remote Server에서 실행한다. Nuxt SSR 모드 명령어 Nuxt가.. 2023. 4. 13.
자바스크립트 비동기 처리의 변화(callback, Promise, async/await) NodeJS로 백엔드 서버를 오랫동안 만들어 봤다면 자바스크립트의 비동기 처리때문에 코드가 지저분해지는 경험을 해봤을 것이다. 지금이야 aync/await 로 인해 수월해졌지만, 자바스크립트 콜백헬(Callback Hell) 시절에는 정말 NodeJS로 개발을 포기하고 싶은 생각이 들 정도였다. 프론트엔드는 그나마 백엔드보다 콜백헬로 떨어지는 수심이 깊지가 않아서 콜백헬의 구렁텅이에서 허우적거리는 상황이 많지가 않았는데, 백엔드는 그야말로 정말 콜백 지옥의 구렁텅이였다. 이것을 Javascript 표준을 제정하는 단체도 분명히 인지하고 있었을거라 생각한다. 그래서 비동기 처리를 개선할 수 있는 새로운 표준을 만들어왔고 지금의 async/await에 이르렀다. 비동기처리란? 일단 비동기 처리란 무엇인지를 .. 2023. 4. 9.
Web Worker - 브라우저에서도 백그라운드 작업이 가능 자바스크립트는 단일 쓰레드로 동작한다. 그래서 브라우저에서 자바스크립트로 시간이 오래걸리는 코드를 만나게 되면 UI는 멈추게 된다. 브라우저에서 자바스크립트로 시간이 오래 걸리는 작업을 하고 싶은 경우에 Web Worker를 사용하면 된다. Web Worker는 별도의 쓰레드에서 동작하여 메인쓰레드에 영향을 주지 않게 작업을 할 수 있다. 시간이 오래걸리는 작업 코드 예제 아래 코드에서 0부터 1000000000까지 더하는 코드가 시간을 많이 걸리는 코드이다. 브라우저에서 페이지를 열면 한동안 페이지가 로딩중으로 멈춰있다가 덧셈 연산이 모두 끝나면 결과가 출력되면서 페이지가 동작을 하게 된다. 0 자바스크립트는 단일쓰레드이므로 덧셈연산이 끝나기 전까지 쓰레드를 독점하고 있으므로 UI도 출력이 될수가 없게.. 2023. 4. 8.
반응형