분류 전체보기
[팰월드] 멀티 서버 접속 시 타임아웃(timeout) 해결 방법
[팰월드] 멀티 서버 접속 시 타임아웃(timeout) 해결 방법
2024.01.23팰월드(PalWorld) 멀티 서버에 나는 접속이 되지만 친구가 타임아웃으로 접속되지 않을 때 높은 확률로 공유기 포트포워딩 설정을 하지 않아 발생한다. 나조차도 접속되지 않을 때는 백신, 방화벽 등등 여러 가지 개인 환경의 원인이 있을 수 있어서 자세한 내막이 필요하다. 1. 공유기 설정 1-1. 기본 게이트웨이 확인 우선 기본 게이트웨이를 확인하기 위해 윈도우 검색창에서 명령 프롬프트 혹은 cmd로 검색하여 실행한다. 명령 프롬프트 화면에서 ipconfig를 입력하여 나의 IPv4 주소(내부 IP)와 기본 게이트웨이 ip를 확인한다. 기본 게이트웨이 IP를 복사해서 브라우저의 URL 입력 칸에 붙여 넣기 하면 아래와 같이 로그인 화면이 나온다. 로그인 계정은 내가 어떤 인터넷 공유기를 사용하고 있는지..
[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)
[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)
2024.01.16이번엔 Nginx에 SSL/TLS 인증서를 등록하고 http로 접속 시 https로 리다이렉트 하려고 한다. 이전 글에서 이어서 작성했다. [AWS] EC2 NGINX 설치하고 Config설정 및 배포하기 EC2에서 톰캣(Tomcat)을 사용하여 서버를 배포하고 있는데 Nginx로 무중단 배포를 한 번 해보고 싶어서 변경하려고 한다. 본 글에서는 우선 Nginx 설치부터 설정 및 배포까지 해보도록 하겠다. 1. NGINX diary-developer.tistory.com 1. Certbot 및 플러그인 설치 1-1. EPEL(Extra Packages for Enterprise Linux) 저장소 활성화 EPEL은 CentOS나 다른 파생 배포판을 위한 패키지 저장소로 많은 소프트웨어 패키지를 제공하고 ..
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
2024.01.16EC2에서 톰캣(Tomcat)을 사용하여 서버를 배포하고 있는데 Nginx로 무중단 배포를 한 번 해보고 싶어서 변경하려고 한다. 본 글에서는 우선 Nginx 설치부터 설정 및 배포까지 해보도록 하겠다. 1. NGINX 설치하기 1-1. Nginx 설치 yum 명령어를 사용해서 Nginx를 설치하자. sudo yum install -y nginx 설치가 완료됐다. (더보기 시 설치 로그 확인) 더보기 Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.6 kB 00:00:00 amzn2extra-docker | 2.9 kB 00:00:00 amzn2extra-kernel-5.10 | 3.0 kB 00:0..
[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)
[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)
2023.12.06AWS EC2 사용 중인데 백엔드 개발자지만 프론트엔드도 같이 하느라 리액트 프로젝트를 배포할 일이 생겨서 서버에 여러 설정들을 했다. 리액트를 배포하기 위해 Node.js를 설치하고 npm을 사용하려고 한다. 1. NVM 설치하기 1-1. curl 설치 curl이 설치되어 있지 않다면 아래 명령어로 설치한다. yum install curl 1-2. nvm 설치 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash % Total % Received % Xferd Average..
[Oracle] DB 이모지 저장하기 - NVARCHAR2
[Oracle] DB 이모지 저장하기 - NVARCHAR2
2023.11.03오라클(Oracle) 데이터베이스를 사용하는데 이모지(이모티콘)가 저장이 안 된다... 😥 그래서 오라클 DB에서 이모지 저장하는 방법을 공유하려고 한다. 오라클 버전, 통신 방법 등 환경에 따라 상이할 수 있다. 환경 정보 JavaScript Java JDK 1.8 Oracle Database 19c 1. 오라클 데이터 타입 설정 (NVARCHAR2) 이모지(🖐)는 일반적으로 Unicode 문자를 지원하는 데이터 형식을 사용해야 한다. 내가 사용 중인 오라클 버전의 경우 데이터 타입 NVARCHAR를 사용해야 정상적으로 이모지가 저장 된다. (VARCHAR2는 하나의 문자에 3byte를 저장하는데 이모지는 4byte로 표현된다.) 이미 테이블 생성을 했다면 컬럼의 데이터 타입을 변경해 주자. ALTER..
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
2023.11.02따로 운영 중인 서비스의 경우 HTTP 통신으로 사용 중이었는데, 구글이나 애플 서비스를 이용해야 되다 보니 HTTPS 통신이 불가피하게 되었다. SSL 인증서 적용하는 방법 중 유료가 아닌 무료로 적용할 수 있는 방법에 대해 알게 되어 Let's Encrypt를 사용하여 AWS EC2에서 SSL 인증서 적용하는 방법을 공유하려고 한다. 더보기 Let's Encrypt는 SSL/TLS 인증서를 제공하는 비영리 인증 기관으로 유료로 SSL 인증서를 구매하는 것이 HTTPS 보급에 방해가 된다고 생각해서 무료로 HTTPS를 보급하려고 만들었다고 한다. 1. Certbot 설치 1-1. EPEL(Extra Packages for Enterprise Linux) 저장소 활성화 EPEL은 CentOS나 다른 파생..
[AWS] EC2 스왑 메모리 설정하기 (EC2 메모리 늘리기) - Swap Memory
[AWS] EC2 스왑 메모리 설정하기 (EC2 메모리 늘리기) - Swap Memory
2023.07.12AWS의 EC2를 사용하고 있는데 프리티어를 사용하다 보면 램 메모리가 1GB 밖에 되지 않기 때문에 메모리가 부족한 현상을 겪을 수 있다. 이를 해결하기 위해 램이 높은 인스턴스 유형을 선택하면 되지만 비용이 들기 때문에 무료로 이용하는 사람들에게는 부담이 된다. 그래서 디스크 용량을 이용해서 부족한 메모리를 대체하는 방법을 공유하려고 한다. 1. AWS EC2 접속 스왑 메모리를 할당하려는 ec2에 접속한다. 2. swapfile 메모리 할당 128M x 16 = 2048, 2GB로 swapfile을 생성한다. 스왑 메모리는 램 메모리의 2배 또는 그 이상을 추천한다는데 프리티어를 사용하면 램은 1GB이기 때문에 스왑 메모리를 2GB로 설정했다. sudo dd if=/dev/zero of=/swapf..
[Spring Boot] CORS Filter 설정하기 (CORS 오류 해결방법) - Java
[Spring Boot] CORS Filter 설정하기 (CORS 오류 해결방법) - Java
2023.07.11웹 개발을 하다 보면 CORS 오류는 많이 볼 수밖에 없다. 최근 Spring Boot로 개발을 진행하면서 발생했던 CORS 오류를 어떻게 해결했는지에 대한 과정이다. CORS (Cross Origin Resource Sharing) Policy 직역하자면 출처가 서로 다른 자원들을 공유한다는 뜻으로 브라우저가 리소스 로드를 허용해야 하는 자체 출처 이외의 모든 출처 (도메인, 스키마 또는 포트)를 서버가 표시할 수 있도록 하는 정책. Cross-Origin Resource Sharing (CORS) - HTTP | MDN Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicat..
[AWS] EC2 한글 언어 변경하는 방법 (locale)
[AWS] EC2 한글 언어 변경하는 방법 (locale)
2023.07.041. 현재 설정된 locale 확인 locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 현재 en_US.UTF-8로 설정되어 있다. 를 로 변경해 보자. 2. 한..
[마인크래프트] 마크 1.19.3 Forge 모드 적용하기 (서버 여는 법 포함)
[마인크래프트] 마크 1.19.3 Forge 모드 적용하기 (서버 여는 법 포함)
2023.06.09마인크래프트 모드 적용하는 방법은 포지(Forge), 패브릭(Fabric), 퀼트(Quilt) 3가지 방법이 있다. 이번에는 Forge 서버 여는 법과 Forge 모드 적용하는 방법에 대해 공유하려고 한다. 마인크래프트 1.19.3 버전으로 진행한다. 만약 Java가 설치되어 있지 않다면 꼭 Java를 설치해야 된다. Java의 경우 마인크래프트 버전에 따라 Java의 버전도 달라지니까 플레이하려고 하는 버전을 꼭 확인해야 한다. 이전 글에 자바 설치방법이 나와있으니까 참고하면 좋을 것 같다. (1번 Java 설치 항목만 보면 됨) [마인크래프트] 마크 1.19.3 버킷으로 서버 여는 방법 - Craft Bukkit 마인크래프트 1.19.3 버전을 윈도우환경에서 버킷으로 서버 여는 방법을 공유하려고 한다..
[Javascript] 이미지 불러오기 오류 및 무한루프 해결 - onError
[Javascript] 이미지 불러오기 오류 및 무한루프 해결 - onError
2023.04.10HTML 이미지 태그를 사용하여 이미지를 로드할 때 이미지 로드 오류 발생 시 onError 속성을 사용하여 대체이미지를 설정할 수 있다. 1. onError 속성 사용 아래 작성한 이미지 태그를 보면 dog.jpg 이미지를 로드하고, 로드에 실패했을 때 dog_2.jpg 이미지를 로드하도록 onError 속성을 추가했다. 그런데 만약 dog_2.jpg 이미지도 로드가 되지 않는다면 어떻게 될까? 그런 상황이 발생한다면 onError에서의 대체 이미지도 로드 오류로 판단해서 다시 onError를 호출하게 되면서 계속해서 onError를 호출하는 무한루프에 빠지게 된다. 2. onError 초기화 - 무한루프 방지 이 상황을 해결하기 위해 onError에서 다음과 같이 onError값을 비워주도록 한다. ..
[MySQL] 오라클에서 사용하던 시퀀스(Sequence) 구현하기 (feat. 날마다 시퀀스 초기화하기)
[MySQL] 오라클에서 사용하던 시퀀스(Sequence) 구현하기 (feat. 날마다 시퀀스 초기화하기)
2023.04.09나는 주로 오라클 데이터베이스를 사용하는데, 사이드 프로젝트를 시작하면서 MySQL을 사용하고 있다. 그러다 시퀀스 기능이 필요하여 찾아보니 MySQL에서는 오라클의 시퀀스 기능이 없다는 것을 알게 되었다. 시퀀스 (Sequence) 시퀀스(Sequence)란 순서를 의미하며, 자동으로 연속적인 숫자를 생성하는 객체 그럼 MySQL에서는 시퀀스(Sequence)와 같은 기능은 사용할 수 없을까? MySQL에서도 프로시저(Procedure)와 함수(Function)를 사용하여 충분히 오라클의 시퀀스 기능과 비슷하게 구현이 가능하다는 것을 알게 되었다. 더 나아가 날마다 시퀀스를 초기화하는 방법까지 응용해서 원하는 방향의 시퀀스를 생성하면 될 것 같다.😉 환경정보 MySQL 8.0.28 1. 시퀀스(Sequ..