개인 프로젝트를 AWS에 배포하는 단계에서 EC2앞에 nginx를 두고, F.E, B.E 모두 포트 포워딩을 해야 하는 상황이 생겼다. 어떻게 EC2에 nginx를 설치하고 멀티 포트 포워딩을 할 수 있는지 정리해보고자 한다. 내가 nginx를 이용하여 EC2에서 포트 포워딩 하고자 하는 구조는 아래와 같다. EC2 환경 참고로 내 EC2 환경은, 프리티어를 이용하기 위한 t2.micro으로, ubuntu 22.04(LTS) 버전을 사용하고 있다. 환경에 따라 아래 기술한 명령어는 조금씩 달라 질 수 있으나, 큰 차이는 없다. Nginx 설치 먼저 아래 명령어를 이용하여 nginx를 EC2에 설치 해 준다. # Ubuntu 환경 sudo apt-get install nginx //Linux 환경 sudo..
전체보기
개인 프로젝트를 EC2에 배포하는 CI/CD를 구현 중에 있었다. 그런데 이상하게 npm install을 하면 계속 멈춰버리고 중간에 timeout으로 죽어버리는 현상이 발생했다. 어떻게 이 현상을 해결했는지 알아보자. 참고로 stackoverflow에서 사용해보라고 하는 아래 방법을 시도해 봤지만, 난 해결되지 않았다. removing package-lock.json npm config set registry http://registry.npmjs.org/ --global npm cache verify 문제 원인: 프리티어 사용으로 인한 메모리 부족 원인은 메모리 부족에 있었다. 현재 개인 프로젝트를 띄우는 용도였기에, 프리티어 지원이 가능한 .micro 인스턴스를 사용하고 있었다. 제공되는 RAM은 ..
사내에서 Excel Export/Import 기능을 구현 하던 중, try-with-resources를 남용하다 아래와 같은 에러를 만났다. "Cannot write data, document seems to have been closed already" try-with-resources이 무엇인지, webflux환경에서 reactive하게 개발할 때 주의할 점에 대해 알아보도록 하자. try-with-resources? 1. java7 이전의 try-catch-finally java7 이전에는 Closable인터페이스를 구현하고 있는 자원들은 사용이후에 반드시 close 메소드를 호출 해줘야 했다. 예를 들어 아래와 같은 코드처럼 말이다. //... SXSSFWorkbook workbook = new ..
Vue3 CompositionApi 에서는 script setup 사용을 권장하고 있고, 더이상 defineProps를 import할 필요없게 되었다. 하지만 이상하게도 내가 import 없이 defineProps를 사용하려고 할 때, eslint에서는 계속 'defineProps' is not defined 라고 에러메시지를 출력한다. 어떻게 해결하는지 알아보자. 구글링을 해보니 이미 eslint에서 이슈가 되어 있던 문제였다. (참고링크) 뭐 App.vue에서 글로벌 import를 해라. 라는 말도 있었지만, 더 이상 import안해도 되는데 eslint를 위해 내가 따로 global import하기는 싫었다. eslint.vuejs에서 찾아보니, 아래처럼 설명되어 있었다. 결론은, 아래처럼 9.0...
파일타입의 Input은 Browser에서 정해놓은 defualt 스타일이 적용되어 있으며, 일반적으로 파일 선택 버튼이나, placeholder를 수정할 수가 없다. 이번 포스트에서는 내가 원하는대로 file type의 input의 스타일을 수정하고, 버튼과 placeholder 텍스트를 수정하는 방법에 대해 정리해보고자 한다. 완성 Input Component 위 사진은 커스텀해서 만들 Input의 모습이다. 드래그엔 드랍이 가능하며, 버튼 색, 버튼 Text, Placeholder 까지 모두 수정이 가능하다. (참고로 디자인은 tailwind의 input을 벤치마크했다.) 참고로, 이번 포스트에서 나는 편의상 vue3를 사용할 예정이지만 자신이 편한 프레임워크를 사용해도 상관없다. 전체 로직 전체로직..
개발편의를 위해 Docker를 이용하여 Mysql 컨테이너를 띄워 사용하고 있었다. EC2에 있는 Mysql 컨테이너의 백업 sql을 생성하는 방법을 간단히 정리해보자. 컨테이너에 띄워져있다는 사실 때문에 복잡하게 생각할 필요 없다. 아래처럼 호스트와 포트를 지정해서 container에 있는 mysql 데이터를 원하는 경로에 백업할 수 있다. //mysql container에서 3307로 port expose하고 있어서 -P로 지정해주었다. mysqldump -h 127.0.0.1 -u root -p -P 3307 [테이블명] > [path_you_want]/backup.sql 위 처럼 명령어를 입력하면, 패스워드를 입력하라는 안내가 나오고, 정확한 패스워드를 입력하면 원하는 경로에 backup.sql ..