분류 전체보기
토이프로젝트와 사이드 프로젝트를 위한 AWS 아키텍쳐 설계하기
토이프로젝트와 사이드 프로젝트를 위한 AWS 아키텍쳐 설계하기
2021.02.07AWS를 쓰기는 하는데, 어느 정도가 적당할까? 토이 프로젝트와 사이드 프로젝트를 위해서, 우리는 AWS를 이용할 가능성이 크다. 물론, 뭐 GCP나 애져를 사용해도 상관은 없지만 나는 자주 AWS를 사용하기 때문에 AWS로 이야기를 해볼 것이다. 물론, 이 글을 쓰는 건 AWS SAA 자격증 공부 도중 대학생과 소수의 인원이 들어올 정도의 AWS 아키텍쳐는 어느 정도가 적합하냐에 대해서 생각을 해보았고, SAA 자격증 공부 도중 비슷한 블로그 포스팅을 보기도 했었기 때문에 정리 겸사 작성하게 되었다. AWS를 가지고 토이프로젝트, 사이드 프로젝트를 하는 데 있어서 적정량의 서비스를 이용하는 것은 도대체 어느 정도 일까? 한 100명 정도 들어갈 수 있는 서버를 구성하고 싶은데, 도대체 AWS에 서비스를..
Spring boot로 API를 통한 이메일 전송 기능 만들기
Spring boot로 API를 통한 이메일 전송 기능 만들기
2021.01.17웹서비스를 이용하다보면, 다음과 같은 메일을 받아봤을것이다. 이런 것을 한번 구현해보고 싶어서 만들어보았다. 회원가입시 이메일에 대한 검증이 필요합니다. Spring boot를 통해서 개발을 할때, user 등록시 유저이름을 email로 하거나, 혹은 id로 하는 경우가 있는데. 물론 이메일 인증의 경우 이메일의 양식만 맞으면 대부분 회원가입이 될 가능성이 큽니다. (그래서 FE 검증, BE 검증이 필요한 것이겠지만...) 예를 들면 test@test.com 이라던지.. Admin@admin.com 처럼 없는 이메일을 써서 회원가입을 처리할 수 있다 그러면 이런 있을수 없는 이메일을 확인하는 방법은 이메일 인증체계를 만드는 것이다. 즉, 백엔드에서 이메일과 관련된 서비스를 제공할 수 있어야 한다는 것이다..
Spring Boot와 React를 통한 개발환경을 구성할때 고민해볼점
Spring Boot와 React를 통한 개발환경을 구성할때 고민해볼점
2021.01.10[Java/Spring] - Spring Boot와 React를 연동하여 개발환경을 만들어보자 Spring Boot와 React를 연동하여 개발환경을 만들어보자 이번에는 Spring Boot와 React를 연동하여 개발 환경을 만드는 과정을 이야기해보겠습니다. Spring Boot와 React를 연동하는 과정들 Spring Boot로 백엔드를 만들고, 프론트엔드까지 다 만들었을때 프론트엔 sundries-in-myidea.tistory.com 일단 글에 앞서서 안녕하세요. 위의 예상보다 인기가 좋아 짐에 따라 제가 생각하고 있던 생각들을 공유해볼 겸 작성해보는 글입니다. 이 글이 정말 너무 많은 사람들이 좋아해 주신 덕에... 그래서 항상 감사하다는 생각도 있으나, 당시에는 리액트에 대해서도 정확하게 몰..
2020년 회고 - 뭔가 많이 했지만, 스스로 만족할 만한 성과는 나오지 않은 한 해
2020년 회고 - 뭔가 많이 했지만, 스스로 만족할 만한 성과는 나오지 않은 한 해
2020.12.31안녕하세요. 세상에... 1년전에 회고를 쓸만해도 내년에는 잘되겠거니했던 일들이 지금에서 보면 잘 안된거보면 아쉬운 한해였습니다. 그리고지독하게도 괴롭히고 있는 코로나가 저희를 아직도 고통스럽게 한거를 보면, 아직도 왜 이런건지 하하... 내년이면 끝날지 의문이기도 한 한해이네요. 이런 코로나 덕분인지는 모르겠으나, 하루하루 어떻게 가는지도 모르겠고, 연말같지도 않은 2020년의 12월 31일까지 몰려서 한해의 회고를 작성하게 되었습니다. 올해를 굳이 설명해보자면...? 내 스스로 만족할 만한 성과가 부족한 한 해였다라고 볼수 있을것 같네요. 2020년도에는 도대체 뭔일을 했는가? 1. 취업 준비와 광탈 💫 여기저기 취업준비를 한다고 노력은 했었는데, 실제로 결과가 그렇게 좋지 못했습니다. 서류까지는 많..
Spring boot & Redis Cache 서버 구축하기
Spring boot & Redis Cache 서버 구축하기
2020.12.24백엔드에서 캐시서버란... 백엔드 서버에서 캐시 서버를 둔다는 것은 가용성적인 측면에서 접근할 수 있다. 쉽게이야기하면, DB서버에서 쿼리를 한번이라도 더 쿼리를 덜 보낼수 있게된다. DB에 쿼리를 줄이는 방법을 통해서 실제 서버의 가용성을 높일수 있다. 캐시서버에 대한 개념보다는 이번에는 구축하는 방법에 대해서 알아보도록 하자 SpringBoot 레디스 서버 구축 참고 링크 https://deveric.tistory.com/98 : 프로젝트 Spring boot에서 Redis Cache 사용하기 모든 소스코드는 아래 github에서 더 편하게 보실 수 있습니다. https://github.com/yyy9942/redis-cache-exam yyy9942/redis-cache-exam Contribute..
온라인 사진전을 개최하며 겪었던 후일담 -2편
온라인 사진전을 개최하며 겪었던 후일담 -2편
2020.12.15혹시 이전 편을 보지 않으신 분들은 이전 글을 참조 해도 좋을 것 같다. [프로젝트/개인프로젝트] - 온라인 사진전을 개최하며 겪었던 후일담 -1편 온라인 사진전을 개최하며 겪었던 후일담 -1편 나는 이게 이렇게 커질거라고 생각 못했다. 나는 금요일 그것도 저녁 10시가 넘어서 사진전 링크가 우리 동아리 카톡방에 뿌려질때만 해도 과연 우리 동아리 사진전이 이정도로 큰 파급력이 있 sundries-in-myidea.tistory.com 왜 이렇게 정적 이미지에 대해서 조회시 금액이 많이 나갔는가? 이전편 초입에서 봤듯이 가장 큰 문제는 하루만에 다 쓸정도로 정적이미지 전송량을 도대체 어디서 쓴 걸까? 나는 대략 여러가지를 예상을 했지만, 다음과 같이 요약할 수 있을 것 같다. 첫번째, 정말 놀라울 정도로 ..
if-kakao MongoDB 세션 정리
if-kakao MongoDB 세션 정리
2020.12.10사실 몽고 DB가 뭔지는 대충 알긴했지만... 몽고 DB가 NoSQL의 대표주자인 건 알고있고, RDBMS와는 다른 포지션을 가진 DB라는 것은 알고 있는데... 도대체 어디서 쓰는 게 좋을 까라는 생각을 되게 많이 했다. 이 MongoDB의 활용성을 극대화하는 것이 도대체 어떤 프로젝트일까라는 고민을 많이했다. 그냥 쓰기보다는 차라리 왜 써야하는 가라는 생각을 하고 그에 맞는 프로젝트를 찾는게 좋지 않을까라는 생각을 많이했다. 마침 그런 세션이 있길래 듣고 정리해본다. 특히 나같은 경우 몽고 DB의 실제사용 사례와 특징들을 집중적으로 이야기해보겠다. 실제 세션 영상 MongoDB 특징 몽고 DB는 4개의 특징이 있다. 신뢰성, 확장성, 유연성, Index 서포트 방식 신뢰성 신뢰성을 위해서 Replic..
온라인 사진전을 개최하며 겪었던 후일담 -1편
온라인 사진전을 개최하며 겪었던 후일담 -1편
2020.12.08나는 이게 이렇게 커질거라고 생각 못했다. 나는 금요일 그것도 저녁 10시가 넘어서 사진전 링크가 우리 동아리 카톡방에 뿌려질때만 해도 과연 우리 동아리 사진전이 이정도로 큰 파급력이 있을거라고 생각하지는 않았다. 저녁 12시부터 많은 공유가 된 이후부터 분명히 사람이 많이 들어오는 거까지는 봤는데... 실 서버 배포를 하는 건 결국 누구나 신경을 많이 써야하는 문제라서 당일날 앞에 테스트 및 드라이 리허설 방식으로 서버 부하테스트도 해보고 다른 일까지 모두 처리하다보니까 지쳐서 새벽에 구글 애널리틱스로 많은 사람들이 들어왔구나 와 그래도 서버가 안뻗고 잘 되는거 보면 뭐 어쨌든 굴러가는구나 이게...하면서 별생각을 안하고 잠을 잤다. 자고 일어난 나는 새벽녘에 AWS로부터 메일 두통을 받았는데, 다음과..
github actions를 통한 React의 build 오류 처리와 yarn install 캐쉬 처리
github actions를 통한 React의 build 오류 처리와 yarn install 캐쉬 처리
2020.11.20배포 작업은 귀찮아... 현재 진행하는 프로젝트에서 Front-end서버는 React로 다른 친구가 작업하고 있고, 나는 실제로 배포와 백엔드 서버와 같이 진행하고 있었다. 문제는 React를 다루는 친구가 배포에 대해서는 잘 모른다는 것이었는데, 나는 실제 서버에 올려보고 싶었다. 하지만 내 귀여운 t2.mirco는 백엔드도 키면서 yarn build를 돌리기에는 1시간정도 걸릴것만 같아서 외부에서 build를하고 차라리 파일을 가지고 오는게 훨씬 좋다고 판단했다. 근데 일일히 내 컴퓨터에서 굳이 친구가 commit올릴때마다 git pull로 다운 받아서 그걸 build를 해야하나 고민하다가 좋은 아이디어가 떠올랐다. 깃허브 액션을 통해서 React build를 해보았다. 일단 이 react를 buil..
AWS CLI를 통해서 S3 파일 다운/업로드하는 방법
AWS CLI를 통해서 S3 파일 다운/업로드하는 방법
2020.11.20CLI를 통해서 직접 S3에 접근하려면... AWS CLI를 통해서 S3를 이용하려면 AWS CLI를 설치하고, AWS access key id, secret access key를 통해 등록하여 사용하면된다. CLI를 접근하는 방식은 다루지 않겠지만, s3 명령어 중에서도 소개할만한 것이 있어서 포스팅한다. S3 업로드 / 다운로드 aws s3 cp s3://~~~ s3 주소 /user/~~{현재 내 파일 디렉토리 주소} 예를들어서 s3:// -> /user/~~ 이런식이면 S3에서 현재 컴퓨터로 다운로드 하겠다는 뜻. /user -> s3:// 이면 로컬 파일에서 s3로 파일 업로드 하는 개념 --recursive 명령어를 붙이면, 폴더 전체를 다운 받을 수도, 폴더 전체를 올릴수도 있습니다. aws ..
AWS EC2 프리티어에서 메모리 부족현상 해결방법
AWS EC2 프리티어에서 메모리 부족현상 해결방법
2020.11.20AWS free tier를 사용하다보면 2%가 부족할 때가 있다. AWS 프리티어는 가난한 대학생에게는 한줄기 빛과 같은 존재인데, AWS의 프리티어라서 적게 돈이 나가는 것도 좋고, 실제로 이것저것 해볼 수 있다는 측면에서 한줄기의 빛과 같은 존재이다.하지만, 이러한 프리티어도 한가지의 문제를 가지고 있다.t2.micro의 램이 1GB정도 밖에 안된다는 것인데, 여러 가지의 프로젝트를 동시에 돌리는 것에 엄청나게 문제를 준다는 것이 가장큰 문제일 것이다.나의 사례로만 들어도 Spring boot 한개를 킨 상태에서 Spring boot의 gradle을 통한 빌드 작업을 시도 해봤는데, 서버의 가용성이 폭발해버린 사례가 있었다. 이때는 마치 SSH가 실제로 가용중인 Gradle을 종료시키지도 못했고 SS..
글또 5기를 시작하면서...
글또 5기를 시작하면서...
2020.11.10글또를 시작해버렸다. 글쓰는 또라이라는 이 모임은 개발 블로그 글쓰기 모임과 같다. 사실 개발 블로그는 내가 배운 내용이 아니면 정기적으로 포스팅하기가 쉽지는 않다. 아무래도 내가 순간순간 깨닫는 내용은 국소적인데 타자에게 전하는 것은 범위가 크니까 내 스스로도 정리하고 검증하는 글을 쓰는 시간이 필요하고 그게 글을 단기적으로 많은 글을 꾸준히 쓰게 하는게 어렵게 하는 원인 중 하나이다. 그래서 결국에는 대충 이런 악순환의 고리를 만든다. 1. 글을 쓰려고 다짐한다. -> 2. 내가 전달하려는 글이 복잡하네? 검증의 시간이 필요하다. -> 3. 검증 시간 블로그 탐색과 구글링, 책 섭렵 -> 4. 오히려 검증하는 시간이 글쓴시간 보다 오래걸림. OR 기술적 검증이 더 필요한 상태 -> 5. 이렇게 까지 ..