본문 바로가기
📔개발자 일기 | | TIL

[20220428] 개발자 일기 & TIL

by 캔 2022. 4. 28.

웹 개발도 결국은 온라인을 서비스를 하는 것이고 그러려면 응답 시간, 속도와 같은 성능적인 이슈와 당연히 관련이 있을 수밖에 없다. 그러다 보니 과도한 요청으로 인해 서버가 응답을 하지 않거나 응답 속도가 느려질 경우 어떻게 해야 할지에 대한 고민도 최근에 생기기 시작했다. 단순히 동작하는 코드를 작성하기보다 어떻게 하면 성능적으로 더 나은 코드를 작성할 수 있을까 생각하기 시작했다. 스케일업, 아웃이 불가능한 상황에서 서버에 부담을 줄이고 빠르게 뷰를 결정하고 렌더링 하려면 연산을 최대한 줄이고 요청을 간단하게 처리할 수 있어야 하지 않을까 하는 생각이 들었다.

 

가장 간단한 처리는 요청을 받아서 데이터 CRUD 없이 뷰 이름을 반환하는 것이다. 이는 정적인 페이지만을 반환하는 경우일 것이다. 그리고 한 페이지는 하나의 CRUD 정도만 수행하고 model 객체로 데이터를 반환하는 것이 좋을 것 같다. 반환하는 데이터는 Page 객체와 같이 대량의 데이터는 분할해서 조회 후 가져오는 편이 응답 시간이나 서버 부담을 줄일 수 있을 것이다. 마지막으로 유지보수 건을 처리하면서 생각한 것인데 for문이나 while문 등 반복문 사용을 지양하고 쓰더라도 중첩 사용을 피했으면 좋겠다.

 

결국은 컨트롤러의 핸들러 메서드들은 최대한 단순하게 만들고 데이터를 다루는 것은 쿼리문이나 ORM을 통해 DBMS에게 맡기는 게 최선이다. 최적화에 대한 공부가 부족해서 이런 전략이 올바른지는 모르겠지만 이런 방향으로 지금 맡은 프로젝트들을 수행해보려고 한다.

'📔개발자 일기 | | TIL' 카테고리의 다른 글

[20220502] 개발자 일기 & TIL  (0) 2022.05.02
[20220429] 개발자 일기 & TIL  (0) 2022.04.29
[20220427] TIL  (0) 2022.04.27
[20220426] TIL  (0) 2022.04.26
[20220425] TIL  (0) 2022.04.25