서버 & 프레임워크
-
Factory method 'sqlSessionFactory' threw exception; nested exception is java.io.FileNotFoundException: class path resource [mapper/] cannot be resolved to URL because it does not exist 에러 해결서버 & 프레임워크/Spring & SpringBoot 2025. 2. 18. 10:18
Factory method 'sqlSessionFactory' threw exception; nested exception is java.io.FileNotFoundException: class path resource [mapper/] cannot be resolved to URL because it does not exist Mybatis 환경세팅을하고 스프링부트를 실행시켰는데 해당 에러가 나면서 실행이 되지 않았다.파악해보니, Mybatis가 Mapper XML 파일을 읽어들이지못해 나는 에러였다. XML 파일에 추가해주었더니 해결되었다.
-
hikaripool-1 - failed to execute isvalid() for connection 에러 해결서버 & 프레임워크/Spring & SpringBoot 2025. 2. 17. 16:44
hikaripool-1 - failed to execute isvalid() for connection, configure connection test query (receiver class cohttp://m.ibm.as400.access.as400jdbcconnectionimpl does not define or inherit an implementation of the resolved method 'abstract boolean isvalid(int)' of interface java.sql.connection.). 현재 AS400 DB2를 사용하고있는데 Spring Boot 에서 Mybatis를 연동하는 중, 이 에러를 마주했다.에러를 분석해보니 hikariCP에서는 isValid()라는 함수를 ..
-
AWS - Nginx에 React 프로젝트 빌드 후 배포하기서버 & 프레임워크/Server 2025. 2. 10. 22:13
로컬에 존재하는 React 프로젝트를 AWS EC2에 배포해보자. 배포하기전에 EC2에 Nginx가 미리 설치되어 있어야 하고, 보안그룹의 인바운드 규칙에 80번 포트가 추가되어 있어야 한다. 1. 내 로컬 PC에서 React 프로젝트 빌드npm run build 2. SSH로 AWS 접속 후, Nginx 기본 설정 비활성화sudo rm /etc/nginx/sites-enabled/default 3. 로컬에 있는 build 폴더를 EC2 서버로 옮기기scp -i [pem파일경로] -r build/ ubuntu@[AWS퍼블릭ip]:~/react-app// 로컬의 build 폴더를 서버의 홈 디렉토리에 react-app 이라는 폴더로 만든다. 4. 로컬에서 가져온 폴더를 Nginx 루트로 이동sudo m..
-
[리버스 프록시(Reverse Proxy)] 란서버 & 프레임워크/Server 2024. 11. 21. 08:43
리버스 프록시(Reverse Proxy)는 클라이언트의 요청을 받아서 이를 실제 서버로 전달하고, 서버에서 반환된 응답을 클라이언트로 전달하는 중간 서버 역할을 하는 시스템이다. 특징- 클라이언트는 원본 서버와 직접 통신하지 않는다. 클라이언트는 리버스 프록시 서버를 원본 서버처럼 인식하기 때문- 리버스 프록시는 원본 서버의 앞단에 배치되기 때문에 중간 서버 역할을 할 수 있는 것이다. 주요 용도1. 로드 밸런싱 - 여러 대의 서버에 요청을 분산시켜 트래픽을 효율적으로 관리한다.2. 보안 강화 - 원본 서버의 IP를 숨겨 외부로부터 보호할 수 있다. - SSL/TLS 암호화를 처리하여 원본 서버의 부담을 줄일 수 있다.3. 캐싱 - 자주 요청되는 데이터를 캐싱해서 성능을 향상시키고..
-
SSR(Server-Side Rendering) CSR(Client-side Rendering)의 이해서버 & 프레임워크/Server 2023. 7. 7. 22:49
백엔드 개발을 진행하며 SSR은 서버에서 동적으로 html을 생성하여 response해주고 클라이언트 페이지에 렌더링 하는 방식이고, CSR은 초기에 서버로부터 정적인파일 (HTML, CSS, JavaScript) 등을 받고 필요한 부분을 받아와 업데이트 시켜주는 방식으로 이해하고 있었는데 실무에 적용해서 개발을 진행하다 보니 헷갈려서 이곳에 정리해보려고 한다. 먼저, SSR(Server-Side Rendering)은 서버에서 전체 HTML을 생성하여 클라이언트에게 전달하고, 클라이언트는 해당 HTML을 화면에 렌더링하는 방식이다. 나는 여기서 '전체'라는 단어에 초점을 맞춰서 이해했다. 완성된 전체의 웹페이지를 서버에서 받아온다는 점에서 검색엔진 최적화(SEO)에 유리하고, 빠른 페이지 렌더링, OG(..
-
VI 에디터에서 za키와 zr키를 사용하여 손쉽게 코드를 접거나 펼쳐보자서버 & 프레임워크/Server 2023. 4. 10. 13:13
vi ~/.vimrc 를 눌러서 vimrc를 확인해 보면 이런식으로 세팅이 되어있다. 여기서 set foldmethod=indent로 세팅을 해주면 세팅이 완료된다. 위 코드를 예시로 두번째 라인에서 za를 눌러주면 이처럼 들여쓰기를 기준으로 한번에 코드가 접히는 걸 확인할 수 있다. 세번째 라인에서 za를 눌러주면 위처럼 들여쓰기가 된 부분을 기준으로 새롭게 코드가 접히는 걸 확인할 수 있다. 이처럼 들여쓰기를 기준으로 za를 누르면 코드를 접을 수 있다. z + (shift) + r 을 눌러주면 접혔던 코드가 전부 펴진다. 지금까지 vi 에디터에서 za zr을 이용하여 손 쉽게 코드를 접었다 펼치는 기능에 대해서 작성해 보았다. 이 기능은 vi에디터로 작업을 할때 아주 많이 사용하기도 하고, 애용하는..
-
nodejs express 에서 multipart 데이터를 받아서 처리하기서버 & 프레임워크/Server 2023. 4. 10. 12:44
input tag에서 이미지 파일을 받아서 웹서버로 넘겨주는 기능을 필요로 할 때, nodejs의 multer 를 이용해서 가져올 수 있다. 위 html 코드를 예시로 작성해 보았을 때, $(function(){ $("#submit_btn").on("click", function(){ let formData = new FormData(); formData.append('img', $("#multipart_file").prop('files')[0]); }); }); 위 코드에서 formData객체를 새로 생성 후, formData객체에 데이터를 추가하는 이벤트 리스너를 등록한 후에 $.ajax({ url: 서버URL, type: "POST", data: Formdata, contentType: false,..