37
37
38
38
### 캐시
39
39
40
- * API 결과 데이터 혹은 HTML 렌더링 결과는 클라이언트에서도 캐시할 수 있음
41
- * 웹 서비스라면 ** 브라우저 변수를 적극 활용하여 서버 자원을 아낄수 있음**
40
+ * API 결과 데이터 혹은 HTML 렌더링 결과는 ** 클라이언트에서도 캐시 ** 할 수 있음
41
+ * 웹 서비스라면 ** 브라우저 변수를 적극 활용 ** 하여 서버 자원을 아낄수 있음
42
42
* 예를 들어 화면의 탭을 누를때마다 화면이 변경된다면, 탭의 결과와 탭 클릭시간을 ** 브라우저 변수** 로 저장
43
43
* 이전에 동일 탭 클릭시간에서 5초 이내(서비스 특징에 따라 변경)로 다시 탭을 클릭하면 변수에 저장된 랜더링 결과를 그대로 다시 반환하고, 5초 이상 지났다면 다시 Ajax로 데이터를 반환해서 저장하고 랜더링하면 됨
44
- * ** 잦은 API 요청에 대한 서버 자원 요청을 아낄수 있음**
45
- * [ kingbbode님의 Cache] ( https://docs.google.com/presentation/d/1tlSTzVxukHlsi_nXbTkVzk_QkOXNBDRfGcYXjggEAek/edit#slide=id.g2c02ac6770_0_221 ) 설명 참고
44
+ * ** 잦은 API 요청에 대한 서버 자원을 아낄수 있음**
45
+ * [ kingbbode님의 Cache] ( https://docs.google.com/presentation/d/1tlSTzVxukHlsi_nXbTkVzk_QkOXNBDRfGcYXjggEAek/edit#slide=id.g2c02ac6770_0_221 ) 참고
46
46
47
47
### 관리자 페이지
48
48
77
77
* 트랜잭션 범위가 커져 실제 설정한 시간 보다 훨씬 ** 오래 DB 커넥션을 붙잡고 있어 성능 이슈의 주 원인** 이 됨
78
78
* 안그래도 낮은 사양의 장비를 사용하니 최대한 이런 요소는 미리 제거하고 시작하는것 추천
79
79
* ** 데이터 변경 로직은 모두 어플리케이션에서 처리** 할 것
80
- * 데이터베이스에서 데이터 생성 금지
80
+ * DBMS에서 데이터 생성 금지
81
81
* ex) ``` now() ``` , ``` password() ``` , 스토어드 프로시져 등
82
82
* View 템플릿 엔진에서 데이터 로직 금지
83
83
* ex) FreeMarker, Velocity 등에서 데이터 변경하는 등 금지
84
84
* 차후 기능 변경/확장, 시스템 변경 등에서 고려해야할 요소가 너무 많아짐
85
+ * ** 주요 기능은 무조건 테스트 코드를 작성** 할 것
86
+ * QA팀이 없기 때문에 본인이 직접 테스트 해야함
87
+ * 직접 테스트하는 시간을 줄여줄수 있는 것이 테스트 코드
85
88
86
89
87
90
### 개발
88
91
89
- * 서비스 출시가 목표라면 ** 가장 자신 있고, 자주 사용하는 언어와 환경** 을 사용할 것
92
+ * ** 욕심부리지 말것**
93
+ * 수많은 고려사항들과 기능들이 생각남
94
+ * 다 무시하고, ** 출시를 목표** 로 할것
95
+ * 이런 저런 사항을 모두 고려하면 머릿속에서 구상만 되다가 좌초됨
96
+ * ** 가장 자신 있고, 자주 사용하는 언어와 환경** 을 사용할 것
90
97
* 리액트 & 웹팩도 공부할겸 서비스 출시해보겠다고 하면 출시 하는 경우를 거의 못봄
91
98
* 오히려 jQuery로 서비스 출시 -> 리액트 & 웹팩 별도 공부 -> 출시된 서비스에 적용이 성공 확률이 더 높음
92
99
* 말 그대로 ** 혼자 개발하는게 출시 확률이 더 높음**
@@ -100,9 +107,32 @@ SI, SM이 아니라 자사 서비스를 하는 곳에 가서 "제대로된 웹
100
107
즉, 자신만의 서비스 출시를 목표로 하신다면 흔히 말하는 대기업 SI 보다는 네이버/라인/카카오/쿠팡/우아한형제들/푸드테크/야놀자/토스 등으로 취업 & 이직하시는게 좋습니다.
101
108
연봉이 대기업 SI보다 낮을수도 있지만, ** 웹 서비스 개발/운영 경험** 을 얻게 됩니다.
102
109
로그 관리, Exception 처리, 성능개선, 모니터링, 대규모 트래픽 처리 등은 이런 회사가 아니면 제대로 익히기 어렵습니다.
103
- 아직 취업 준비생이시라면 창업으로 개발자 커리어를 시작하시가 보다는 이런 회사로 취업하는걸 먼저 목표로 하는게 개발자로서 더 멀리 갈 수 있지 않을까 생각합니다.
110
+ 아직 취업 준비생이시라면 창업으로 개발자 커리어를 시작하시기 보다는 이런 회사로 취업하는걸 먼저 목표로 하는게 개발자로서 더 멀리 갈 수 있지 않을까 생각합니다.
104
111
105
112
## 후기
106
113
114
+ 후아!
115
+ 드디어 ** 스프링부트로 시작하는 웹 서비스** 시리즈가 끝났습니다!
116
+ 12월부터 시작했는데 어느새 2월이 끝나가고 있습니다.
117
+
118
+ 2016년에 이번처럼 시리즈로 [ IE 7,8에서 모던하게 JS 개발하기] ( http://jojoldu.tistory.com/44 ) 를 연재했습니다.
119
+ 당시에 생각보다 너무 호응이 없어서 이번 시리즈도 그렇게 되지 않을까 걱정이 많았습니다.
120
+ 특히 끝까지 마무리 할 수 없을까봐, 너무 잘못 알고 있을까봐 등의 부담도 있어서 시작하기 앞서 고민이 많았습니다.
121
+
122
+ [ 초보개발자모임] ( https://www.devbeginner.com ) 을 구현하면서 삽질을 너무 많이해서 "누가 전반적으로 짚어주는 자료를 만들어주지 않나" 라고 한숨쉬던 기억이 납니다.
123
+ 저와 같이 고민하시는 분들이 있지 않을까 하는 마음을 계기삼아 시작할 수 있었습니다.
124
+ 다행히 여기저기 많이 공유되기도 하고, 많은 분들이 댓글도 달아주시고, 좋은이야기도 해주셔서 하길 잘했다고 생각합니다.
125
+
126
+
127
+ [ 작년 회고] ( https://brunch.co.kr/@jojoldu/19 ) 를 통해 다짐했던 1분기 목표를 하나씩 달성하고 있어 개인적으로는 굉장히 뿌듯한 마음으로 후기를 작성하고 있습니다.
128
+ [ 이번주 주말에 있는 행사] ( https://kcd2018.festa.io/ ) 만 잘 마무리 되면 1분기 목표는 모두 달성하는거라 두근두근 합니다.
129
+
130
+ 시리즈물을 하다보면 전체적인 큰 구조를 익히는데 도움이 되지만 회사 업무를 통해 얻은 내용들, 좀 더 깊숙한 내용들을 정리하는 시간이 없어 3월에는 좀 더 작은 범위로 한정해서 공부하고 정리할것 같습니다.
131
+ (미뤄둔 포스팅 주제들이 너무 많네요 ㅠㅠㅠ)
132
+
133
+ 끝까지 봐주신 분들 정말 고맙습니다!
134
+ 덕분에 마무리 할수 있었습니다.
135
+ 앞으로도 좋은 주제, 도움이 되는 주제로 계속 기록하겠습니다.
136
+ 감사합니다!
107
137
108
138
0 commit comments