2021.06.30
어그로 월드를 어떻게 만들까?
Made by bingoori
Season 1
개발동기
아이디어 구현 & 개인 사이트 운영
목표
어그로 월드 커뮤니티 사이트 서비스
개발기간
2021.06.01 ~ 2021.06.30
개발자
bingoori
소개
Front-end
* Search
Back-end
* Restful API
Environment
* CI/CD Pipline
Etc
* SEO
필수 요구사항
* Chart
* Server-Side Rendering
* Chat
* State
* Middleware
* Authentication & JWT
* Persistence Framework
* Build
* Deploy
* Log
* Custom Annotation
* File Storage
* WAS
* SSL
* Project Backlog
* CMT
* DNS
* Server
* DB
* Color Mode
* Analytics
* Custom Exception
* I18n
* Session
Back-end
사용기술
Front-end DevOps Cloud as AWS Data & Analytics
MariaDB
ElasticSearch With Kibana
EC2
S3
JENKINS
GIT
Spring Boot
Kotlin
JDK
Gradle
ElasticSearch Service
RDS
Tools
React.js
Next.js
Express
Theme-ui
D3.js
Passport
Axios
Socket.io
Mobx
VSCode
Notepad++
Intellij
MySQL Workbench
Design
Kakao Oven
MySQL Models
JWT
MyBatis
LogBack
Nginx
SEO
Open Graph
Google Search Console
Google Analytics
Naver Web Master
WAS
GITHUB
ES6
ETC
Ubuntu
Windows 10
Shell Script
Putty
Lets Encrypt
Route 53
I18n
구성도
WebHo
oks
America Client C
Asia Client B
Asia Client A
Global Accelerator
AWS
EC2
Region(Seoul)
EC2
Front-end
Front-end
ELB
Back-end
EC2
S3
Region(Se
oul)
RDS
EC2
GitHub
Developer
Push WebHooks
Jenkins
Remote Build Deployment
ElasticSearch Service
Region(Seoul) Region(Seoul)
Region(Seoul)
Front-end
1. Auth0 플랫폼을 통해 로그인 연동을 완료 하였으나, Auth0 서버의 지역이 아시아 국가가 없어 속도가 느려 사용 불가
- 장점: 연동 쉬움, SNS 로그인 연동 매우 쉬움
- 단점: 아시아에 서버가 없어 매우 느림
Back-end
1. Cors 이슈로 Back-end Server에도 Domain과 SSL 적용, 추가 Cors 관련 설정
Environment
1. Docker에 Elasticsearch와 Kibana를 세팅 하였으나 Front-end에서의 검색어처리를 할 때 Cors 이슈로 AWS ElasticSearch Service 사용
기억에 남는 삽질
2. JWT 를 통해 API 통신시 인증된 토큰만 Response 처리하도록 처리, Header에 담는 Key에 _가 들어가면 Interceptor에서 받지 못함
2. Docker에 Jenkins를 서버에 구축하였으나 원격 배포 시 Jenkins의 Root 경로와 Workspace 경로 이슈 발생 그리고 원격 배포 목적지 서버에 권한 이
슈로 Jenkins만 세팅
3. WebSocket 연결 요청시 WSS 이슈 발생 Nginx에 추가로 Proxy Header 추가 적용
2. Socket.io를 연동하여 채팅 구현 시 브라우저 새로 고침, 종료에 대해 이벤트 핸들링 어려움
- 웹 소켓 라이프 사이클 이해 필요
3. Mobx는 Next.js에서 Hook을 사용한 컴포넌트들에 전역적인 Multi Store를 적용하기 위해선 Context API에 대한 이해필요, Theme-ui도 마찬가지
- Context API 이해 필요
4. AWS ELB 에 Global Accelerator 적용 시 http(80)에서 https(443)으로 Redirect 하는 경우 Accelerator 상태 확인
오류가 발생하므로 https(443)으로 상태 확인하도록 세팅
Etc
1. Google Search Console, Naver Web Master 적용 시 필수는 아니지만 sitemap.xml을 설정한다, 사이트에
sitemap url로 접속 시 디렉터리 구조를 읽어 sitemap.xml 생성하여 내리도록 처리
소감
한참 전부터 개인 사이트를 운영하고 싶었으나 계속 미루어오다 마음먹고 한달 동안 빡세게 진행을 했는데… 기왕
하는 거 욕심을 내면서 했더니… 배보다 배꼽이 더 큰 프로젝트 가 됐다. 전체 한 달의 기간 동안 대략 목업 3일, 환
경 구성 2주, 개발 1주, 삽질 3일 정도 되는 것 같다. Backlog는 GitHub의 Projects에서 관리 했는데… 별로다… 혼
자 하는 거면 그냥 쓸만함… 아무튼 환경 구성에만 2주를 투자 했더니 너무 오버 한 거 같다. 구성도의 환경은 숨
만 쉬어도 서버 비용이 하루에 1만원 조금 안 된다 (유저0) 적지 않은 금액이므로 개인이 운영하기엔 쉽지 않다.
그래서 시작은 가볍게 세팅 하는 걸 추천… 아무튼 시즌1 끝
마무리
시즌2 준비
* 브라우저, 서버 캐싱 * 웹 성능 최적화 * 이미지 최적화 * 중복 코드 제거
* API 요청 최소화
* Skeleton & Image Lazy Loading
* 웹캠, 마이크 * 모바일 웹 대응
연락처
* Email: sdwoo90@gmail.com
그래서 만든게 뭐냐고?
https://aggro.world
어그로 월드에 오신 것을 환영합니다
End

More Related Content

PPTX
Rainbow Project Web App
PPTX
정해균 포트폴리오
PDF
신입 웹 개발자 포트폴리오 / 댓글 게시판
PPTX
Rainbow Movie
PPTX
Rainbow
PDF
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
PDF
[24]안드로이드 웹뷰의 모든것
PPTX
Man's community(Man's)
Rainbow Project Web App
정해균 포트폴리오
신입 웹 개발자 포트폴리오 / 댓글 게시판
Rainbow Movie
Rainbow
이동현 - 오픈소스 DBMS 큐브리드 (2009Y05M30D)
[24]안드로이드 웹뷰의 모든것
Man's community(Man's)

What's hot (20)

PDF
자바스크립트의 변천사
PDF
vuetiful korea 발표자료
PDF
CSS Round Display KIG 발표자료
PPTX
모듈시스템과 webpack
PDF
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
PDF
iOS9 소개
PDF
현실적 PWA
PDF
프로그레시브 웹앱(Pwa)
PDF
심성환 개발자 포트폴리오
PDF
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
PDF
JavaScript MEAN 스택
PPT
Single Page Web
PDF
목적에 맞게 Angular, React, Vue
PPTX
Tadpole DB Hub 1.0.0
PDF
Mean stack Start
PPTX
프론트엔드 개발 첫걸음
PDF
크롬 개발자 도구 소개 및 사용법
PDF
hexa core
PPTX
Bootstrap
PDF
Wildgoose 최종데모
자바스크립트의 변천사
vuetiful korea 발표자료
CSS Round Display KIG 발표자료
모듈시스템과 webpack
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
iOS9 소개
현실적 PWA
프로그레시브 웹앱(Pwa)
심성환 개발자 포트폴리오
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
JavaScript MEAN 스택
Single Page Web
목적에 맞게 Angular, React, Vue
Tadpole DB Hub 1.0.0
Mean stack Start
프론트엔드 개발 첫걸음
크롬 개발자 도구 소개 및 사용법
hexa core
Bootstrap
Wildgoose 최종데모
Ad

Similar to 어그로월드 Season1 - Aggro World season 1 (20)

PDF
웹 IDE 비교
PDF
MEAN Stack 기반 모바일 서비스 개발 overview
PDF
Spring boot + java 에코시스템 #1
PDF
Mozilla 오픈 웹 모바일 플랫폼 (2012)
PDF
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
PDF
NAVER의 웹/HTML5환경 대응 현황
PDF
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
PDF
Portfolio
PDF
[145]5년간의네이버웹엔진개발삽질기그리고 김효
PDF
Front end dev 2016 & beyond
PDF
삶이편해지는_백엔드_개발자_지식.pdf
PPTX
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
PPTX
Single-page Application
PDF
Lablupconf session8 "Paving the road to AI-powered world"
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
PPTX
Spring one참석기 ksug
PDF
01.모바일 프레임워크 이론
PDF
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
PDF
Hybrid App Platform - HyWAI 3.5
PDF
AngularJS In Production
웹 IDE 비교
MEAN Stack 기반 모바일 서비스 개발 overview
Spring boot + java 에코시스템 #1
Mozilla 오픈 웹 모바일 플랫폼 (2012)
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
NAVER의 웹/HTML5환경 대응 현황
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
Portfolio
[145]5년간의네이버웹엔진개발삽질기그리고 김효
Front end dev 2016 & beyond
삶이편해지는_백엔드_개발자_지식.pdf
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
Single-page Application
Lablupconf session8 "Paving the road to AI-powered world"
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
Spring one참석기 ksug
01.모바일 프레임워크 이론
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
Hybrid App Platform - HyWAI 3.5
AngularJS In Production
Ad

어그로월드 Season1 - Aggro World season 1

  • 1. 2021.06.30 어그로 월드를 어떻게 만들까? Made by bingoori Season 1
  • 2. 개발동기 아이디어 구현 & 개인 사이트 운영 목표 어그로 월드 커뮤니티 사이트 서비스 개발기간 2021.06.01 ~ 2021.06.30 개발자 bingoori 소개
  • 3. Front-end * Search Back-end * Restful API Environment * CI/CD Pipline Etc * SEO 필수 요구사항 * Chart * Server-Side Rendering * Chat * State * Middleware * Authentication & JWT * Persistence Framework * Build * Deploy * Log * Custom Annotation * File Storage * WAS * SSL * Project Backlog * CMT * DNS * Server * DB * Color Mode * Analytics * Custom Exception * I18n * Session
  • 4. Back-end 사용기술 Front-end DevOps Cloud as AWS Data & Analytics MariaDB ElasticSearch With Kibana EC2 S3 JENKINS GIT Spring Boot Kotlin JDK Gradle ElasticSearch Service RDS Tools React.js Next.js Express Theme-ui D3.js Passport Axios Socket.io Mobx VSCode Notepad++ Intellij MySQL Workbench Design Kakao Oven MySQL Models JWT MyBatis LogBack Nginx SEO Open Graph Google Search Console Google Analytics Naver Web Master WAS GITHUB ES6 ETC Ubuntu Windows 10 Shell Script Putty Lets Encrypt Route 53 I18n
  • 5. 구성도 WebHo oks America Client C Asia Client B Asia Client A Global Accelerator AWS EC2 Region(Seoul) EC2 Front-end Front-end ELB Back-end EC2 S3 Region(Se oul) RDS EC2 GitHub Developer Push WebHooks Jenkins Remote Build Deployment ElasticSearch Service Region(Seoul) Region(Seoul) Region(Seoul)
  • 6. Front-end 1. Auth0 플랫폼을 통해 로그인 연동을 완료 하였으나, Auth0 서버의 지역이 아시아 국가가 없어 속도가 느려 사용 불가 - 장점: 연동 쉬움, SNS 로그인 연동 매우 쉬움 - 단점: 아시아에 서버가 없어 매우 느림 Back-end 1. Cors 이슈로 Back-end Server에도 Domain과 SSL 적용, 추가 Cors 관련 설정 Environment 1. Docker에 Elasticsearch와 Kibana를 세팅 하였으나 Front-end에서의 검색어처리를 할 때 Cors 이슈로 AWS ElasticSearch Service 사용 기억에 남는 삽질 2. JWT 를 통해 API 통신시 인증된 토큰만 Response 처리하도록 처리, Header에 담는 Key에 _가 들어가면 Interceptor에서 받지 못함 2. Docker에 Jenkins를 서버에 구축하였으나 원격 배포 시 Jenkins의 Root 경로와 Workspace 경로 이슈 발생 그리고 원격 배포 목적지 서버에 권한 이 슈로 Jenkins만 세팅 3. WebSocket 연결 요청시 WSS 이슈 발생 Nginx에 추가로 Proxy Header 추가 적용 2. Socket.io를 연동하여 채팅 구현 시 브라우저 새로 고침, 종료에 대해 이벤트 핸들링 어려움 - 웹 소켓 라이프 사이클 이해 필요 3. Mobx는 Next.js에서 Hook을 사용한 컴포넌트들에 전역적인 Multi Store를 적용하기 위해선 Context API에 대한 이해필요, Theme-ui도 마찬가지 - Context API 이해 필요 4. AWS ELB 에 Global Accelerator 적용 시 http(80)에서 https(443)으로 Redirect 하는 경우 Accelerator 상태 확인 오류가 발생하므로 https(443)으로 상태 확인하도록 세팅 Etc 1. Google Search Console, Naver Web Master 적용 시 필수는 아니지만 sitemap.xml을 설정한다, 사이트에 sitemap url로 접속 시 디렉터리 구조를 읽어 sitemap.xml 생성하여 내리도록 처리
  • 7. 소감 한참 전부터 개인 사이트를 운영하고 싶었으나 계속 미루어오다 마음먹고 한달 동안 빡세게 진행을 했는데… 기왕 하는 거 욕심을 내면서 했더니… 배보다 배꼽이 더 큰 프로젝트 가 됐다. 전체 한 달의 기간 동안 대략 목업 3일, 환 경 구성 2주, 개발 1주, 삽질 3일 정도 되는 것 같다. Backlog는 GitHub의 Projects에서 관리 했는데… 별로다… 혼 자 하는 거면 그냥 쓸만함… 아무튼 환경 구성에만 2주를 투자 했더니 너무 오버 한 거 같다. 구성도의 환경은 숨 만 쉬어도 서버 비용이 하루에 1만원 조금 안 된다 (유저0) 적지 않은 금액이므로 개인이 운영하기엔 쉽지 않다. 그래서 시작은 가볍게 세팅 하는 걸 추천… 아무튼 시즌1 끝 마무리 시즌2 준비 * 브라우저, 서버 캐싱 * 웹 성능 최적화 * 이미지 최적화 * 중복 코드 제거 * API 요청 최소화 * Skeleton & Image Lazy Loading * 웹캠, 마이크 * 모바일 웹 대응 연락처 * Email: [email protected]