프로젝트/나만의명언집 (28) 썸네일형 리스트형 리팩토링 히스토리(24.08.21 ~) 해당 포스트는- 현재 포스트는 나만의 명언집 프로젝트(NextJS 로 개발)의 코드를 개선하면서 얻은 산출물을 남겨두는 용도로 작성 되었습니다. 포스트 추가server action 적용 전- 클라이언트로 부터 서버로 요청이 전송되는데 0.21ms 걸림- 서버로 부터 응답을 기다리는데 1.11초 걸림- 서버로 부터 받은 콘텐츠를 다운로드 하는데 0.61ms 걸림server action 적용 이후- 클라이언트로 부터 서버로 요청이 전송되는데 0.37ms 걸림- 서버로 부터 응답을 기다리는데 257.79ms초 걸림- 서버로 부터 받은 콘텐츠를 다운로드 하는데 0.61ms 걸림결과적으로 - 결과적으로, 1100ms−257.79ms=842.21ms(약 0.8초 ; 약 75.8%) 단축 포스트 수정Server A.. ec2 재부팅 시 사이트 접속 불가 (PostgreSQL, Nginx) 들어가는 말인스턴스에 구동 중인 서버의 네트워크 속도가 너무 느려졌습니다. 이럴 때는 실제 컴퓨터를 재부팅하듯이 인스턴스 또한 주기적으로 재부팅을 하면 좋다는 말이 있어서 시도했습니다. 그런데, 잘 되던 서버가 실행되지 않고 사이트 접속이 불통이었는데요. 어찌 보면 당연한 이유로 발생한 해당 문제를 해결하는 시간을 가져볼까 합니다. 문제상황EC2 에 배포한 사이트가 날이 갈수록 느려지는게 보여서, 컴퓨터를 재부팅하기로 하였습니다. 그런데, 재부팅 이후 사이트에 접속을 하려고 하니, 사이트에 연결할 수 없음 에러가 발생 하였습니다. 개선과정PM2 재실행일단 저의 경우에는 PM2 가 자동으로 서버를 모니터링하도록 해두었는데, 재부팅을 하면서 PM2 가 중지 됨에 따라 발생한 것이라 생각하여 pm2 sta.. [나만의 명언집] GithubActions 을 통한 CI 와 AWS CodePipeline (CodeDeploy)을 통한 CD 구축 | NextJS 프로젝트를 EC2 인스턴스로 배포하는 과정 들어가기 전아마 두 CI/CD 도구를 혼합해서 사용하는 경우는 많이 없을 것 같긴 합니다(현장마다 어떻게 활용하고 있을지 자세히 모르니, 추측일 뿐입니다). 보통 Github Actions + AWS CodeDeploy 만 같이 사용하거나, 아에 CodePipe 라인으로 빌드, 커밋, 배포 까지 한 방에 처리할 수도 있겠죠. 이 두 방식을 같이 사용하는 이유는 학습 목적도 있지만, AWS CodePipe 라인이 제공하는 로그 추적의 이점이 있기 때문입니다. 실제 인스턴스 터미널에서 CodeDeploy 로그를 확인하기 전에 어떤 부분에서 문제가 발생하였는지 대략적, 시각적으로 확인 가능하고, 버킷 마다 버전관리를 자동으로 해주기 때문에 필요에 따라 문제가 발생하면, 이전 버전으로 롤백하여 배포할 수 있.. WIndow 환경에서 Open SSH 로 접속 및 AWS EC2 인스턴스와 연결하기(+ 번외: SCP 사용해서 EC2 인스턴스로 파일 전송하기) 들어가는 말기존에 Putty 를 사용해서만 AWS EC2 인스턴스 터미널로 접근했습니다. 이는 학습목적으로 OPEN SSH 를 이용해 접근해보는 시간을 가졌고, 이 과정에 대해서 정리한 포스트입니다. WSL 설치하기해당 사이트(https://learn.microsoft.com/ko-kr/windows/wsl/install) 에 접속하여 WSL2 를 설치해줍니다.사실 설치를 하지 않아도 최신 PowerShell 에서는 OpenSSH 설치를 지원해주기 때문에 리눅스 가상환경을 윈도우 환경에서 접속하게 해주는 WSL 이 꼭 필요하지 않을 수 있습니다. 다만 저의 경우에는 문제가 있었기 때문에 해당 WSL2 를 같이 설치해주었습니다. Open SSH 설정window powershell 에서 OpenSSH 서버 .. [나만의 명언집] 트러블 슈팅 모음집 ③ | 14 ~ 16 해당 포스트는해당 포스트는 나만의 명언집 프로젝트에 대한 트러블 슈팅을 정리한 포스트 입니다. 전체 1,2,3 버전이 있고 현재 포스트는 3에 해당합니다. 로그인 액세스 토큰 재발급 시 과도한 HTTP GET 요청이 발생하는 문제※ 해당 문제는 AcessToken을 자동 재발급하는 로직에서 한번에 최소 10번 이상의 GET 요청이 발생하여, 서버측에서도 과도한 요청 처리가 발생하여 심각성을 느꼈던 문제였습니다. AWS EC2 의 모니터링 도구에서 네트워크 요청이 짧은 시간 안에 그래프가 큰 폭으로 상승하는 것이 규칙적으로 발생하는 것을 확인하여 이상함을 느꼈고, 이를 네트워크 탭에서 확인해보니 해당 문제가 발생하고 있음을 인식하였던 문제입니다.문제상황액세스 토큰 재발급을 위해 자동화 로직을 구현하는 .. 크롤링이 되긴 되었는데.. 크롤링이 되긴 되었다. 내가 만든 사이트를 구글 셔치 콘솔에 색인을 요청하고 대기한지 1주일 드디어 조금씩 색인이 된 페이지들이 구글에 보이기 시작했다. 그런데, 간과한 점이 한 가지 있었다. 아니 몰랐다고 보는게 맞을 것 같은데, 제목 밑으로 해당 대상의 명언이 아니라 명언 목록 페이지 전체에 대한 설명 글이 표시되고 있다는 점이다. 이 부분은 다시 알아보고 명언의 내용이 표시되도록 변경해야 할 것 같다. [나만의 명언집] 이메일 본인인증 기능 구현(With Redis 클라우드 & NextJS 서버리스) -> 핵심만 AWS SES 셋팅 포스트 NextJS 를 AWS EC2 에 배포하는 경우 비밀번호 찾기 기능이 안 되었던 이유와 해결 방법( with AWS SES + SMTP 의 기본 포트는 25 이다. 내가 만든 프로젝트에서 비밀번호 찾기 기능을 구현하고, EC2 에 배포했을 때 비밀번호 찾기 기능이 동작하지 않았다. 그 이유로 짐작되었던 것을 오늘 확인하였다. duklook.tistory.com 오늘의 명언 이번에 구현해볼 기능은 이메일 본인인증 기능이다. 참고로 언어는 NextJS(^14.04) 를 사용하므로 별도의 백엔드 언어를 따로 두지 않는다. 즉, 서버리스이다. 해당 기능은 사실 한참 이전에 구현했어야 했는데, 이메일 인증을 실제 프로덕션에서 적용하려니 생각보다 많은 에러 상황에 직면했고, 오늘 드디어 .. [나만의명언집] 드디어 ,, AWS SES 샌드박스에서 벗어났다 오랜 기다림.. 비밀번호 찾기 기능과 회원가입 시 유저 인증을 위해 발버둥 치던 지난 시간들.. 분명 쉬운 방법도 많았을텐데, 굳이 멀고 먼 길을 걸어갔던 시간을 지나 드디어 AWS SES 샌드박스에서 벗어났다는 소식이 들려왔다. 다른 개발자분들의 후기를 보면 샌드박스를 벗어나기 위해 몇 차례나 수정한 내용을 보내고, 기다리고는 반복했다고 하는데, 본인의 경우에는 운이 좋아서 인지 한 번만에 무려 3일 걸려 통과 할 수 있었다. 그럼 앞으로의 계획은? 이제 이메일 서비스를 개발 계정뿐만 아니라 서비스를 이용하는 모든 유저가 이용할 수 있게 되었으므로, 회원가입 시 이메일 인증과 비밀번호 찾기 시 이메일 인증 등의 본인확인 서비스를 적용할 수 있게 되었다. 따라서 이와 관련한 기능 구현을 내일 완료하고, .. 이전 1 2 3 4 다음