Skip to content

Commit 43ff5a1

Browse files
committed
[스프링부트로 웹 서비스 출시하기 - 10. 주의 및 고려사항] 써드파티 추가
1 parent 3346fd4 commit 43ff5a1

File tree

2 files changed

+60
-36
lines changed

2 files changed

+60
-36
lines changed

tutorial/10_1인개발팁.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# 10. 웹 서비스 구축시 알았으면 좋았을 것들
2+
3+
이번 시간은 이 시리즈의 마지막 시간으로 웹 서비스 구축시에 미리 알았으면 좋았을 것들을 정리하였습니다.
4+
(모든 코드는 [Github](https://github.com/jojoldu/springboot-webservice/tree/feature/10)에 있습니다.)
5+
6+
회사나 팀 단위의 서비스가 아닌, **1인 개발로 서비스 구축시 다음과 같이하면 좋았었던 경험**을 나열하였습니다.
7+
회사나 팀 단위의 서비스라면 전혀 다를수 있습니다.
8+
1인 개발이라 하더라도 개인마다 느낀 점이 전혀 다를수 있기 때문에 **저 개인의 경험**을 토대로 했다는점을 먼저 말씀드립니다.
9+
10+
## 회원 서비스
11+
12+
* 회원 서비스는 웬만하면 **OAuth로 구축하는 것을 추천**
13+
* 직접 구현할 경우 배보다 배꼽이 커지는 경우가 자주 발생
14+
* 직접 구현시 다음을 전부 구현해야함 (OAuth에도 구현해야하는 것 제외)
15+
* 로그인 보안
16+
* 회원가입시 이메일, 전화번호 인증
17+
* 비밀번호 찾기
18+
* 비밀번호 변경
19+
* 회원정보 수정
20+
* 개인정보 보안
21+
* 회원 관련 CS 대응
22+
* OAuth 로그인 구현시 위 부분을 모두 **구글/네이버/페이스북 등에 맡기면** 되서 심플해짐
23+
* 서비스 개발에 집중할수 있음
24+
* 서비스 초기에는 세션 저장소로 꼭 Nosql(Memcache, Redis) 등을 쓰지 않아도 됨
25+
* **서비스 초기에는 RDS를 세션 저장소**로 써도 좋음 ([이전 포스트](http://jojoldu.tistory.com/170) 참고)
26+
* 기본 세션(톰캣 세션)을 쓰게 되면 톰캣이 재시작하는 순간 (배포나 스위치) 모든 로그인이 풀려버리게 됨
27+
28+
## 캐시 전략
29+
30+
* API 결과 데이터 혹은 HTML 렌더링 결과는 클라이언트에서도 캐시할 수 있음
31+
* 웹 서비스라면 **브라우저 변수를 적극 활용하면 서버 자원을 아낄수 있음**
32+
* 예를 들어 화면의 탭을 누를때마다 화면이 변경된다면, 탭의 결과와 탭 클릭시간을 **브라우저 변수**로 저장
33+
* 이전에 동일 탭 클릭시간에서 5초 이내로 다시 탭을 클릭하면 변수에 저장된 랜더링 결과를 그대로 다시 반환하고, 5초 이상 지났다면 다시 Ajax로 데이터를 반환해서 저장하고 랜더링하면 됨
34+
* 5초이내로 잦은 탭 클릭에 대한 서버 자원 요청을 아낄수 있음
35+
36+
* [kingbbode님의 Cache](https://docs.google.com/presentation/d/1tlSTzVxukHlsi_nXbTkVzk_QkOXNBDRfGcYXjggEAek/edit#slide=id.g2c02ac6770_0_221) 설명 참고
37+
38+
## 써드파티
39+
40+
* 메인이 되는 기능 외에 나머지는 전부 써드파티 라이브러리에 의존하는걸 추천
41+
* 1인 개발은 무엇보다 개발 시간이 부족함
42+
* 메인 기능 개발도 하기전에 무산될수 있기 때문에 최대한 외부 서비스를 이용할것
43+
* 댓글 : [DISQUS](https://disqus.com/)
44+
* 웹로그 : [Google Analytics](https://www.google.com/analytics/)
45+
* CDN : [Cloud Flare](https://www.cloudflare.com/plans/)
46+
* 외부 API 연동 : [Zapier](https://zapier.com/)
47+
* 페북 API와 Slack & 본인 API 연동 등
48+
49+
## 중요
50+
51+
가장 중요한 팁은, **웹 서비스를 하는 회사에서 몇년간 일해보는 것**입니다.
52+
SI, SM이 아니라 자사 서비스를 하는 곳에 가서
53+
즉, 목표로 해야하는 곳은 S?S, C?S, C?C 등 보다는 네이버/라인/카카오/쿠팡/우아한형제들/푸드테크/야놀자/토스 등을 추천합니다.
54+
연봉이 대기업 3사보다 낮을수도 있지만, 대규모 트래픽의 서비스를 개발/운영 한 경험을 얻게 됩니다.
55+
56+
57+
## 후기
58+
59+
60+

tutorial/10_서비스개발시_TIP.md

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)