웹 개발자의 10가지 흔한 실수 에 대한 나의 의견

2015. 9. 18. 18:20하루에하나씩/1일1블로그번역

아래는 그대로 입력한 것은 아니고 그냥 제 생각을 주절주절한것입니다. 
아래 내용은 웹 개발자 라고 하기 보단, 프론트 앤드 개발자들을 위한 글이라고 하는 표현이 어울릴듯 싶다.

하지만 실수라고 하기 보다는 개발 하기 전에 꼽아봐야 할 내용이라고 하면 좋을 듯
암튼 Tip 도 숨어 있으니.. 이후 혹, 프론트 개발할 때 참고할 때 좋은 글이다.


웹 개발자의 10가지 흔한 실수 : http://code.tutsplus.com/ko/articles/10-common-web-developer-mistakes--cms-24791


1. 구식 HTML 작성


예전부터 Table 코딩을 싫어 했다. publisher가 있는 회사에서는 이런것을 지켜주는 분들이 그렇게 많이 않아서, 당황한적이 많았지만, 시간이 지나면서 점점 나아졌다. 나 또한 의미가 적절한 태그 사용은 별로 하지 못한적도 많은데.... 그래서 bootstrap 과 같은것을 차라리 익히도록 유도했었고, 이걸 토대로 reactJS을 가지고 응용하면 쉽게 접근할수 있지 않을까 생각한다. 


2. "제 브라우저에서는 작동하는 데요..."


기본적으로 IE10 이상,크롬 브라우저 등등.. 개발 다 하고 나면 나오는 소리; 캐시등도 그렇다.

http://browsershots.org/ 에서의 스냅샷을 확인해서 이렇게 까지 해야 하나 싶지만, BtoC 서비스 일 경우에는 참 힘들다.(전에 SI일을 했을때, 도서 산간지역은 최초 컴퓨터를 사고 나서 브라우저 업데이트를 하지 않는 곳도 봤다...그럴리가 있나 싶지만, 국가전용통신망을 쓰면 그럴수도 있다) 


3. 나쁜 폼


문득 전에 한 개발자가 했던 말이 생각난다.

"javascript 단에서 막아봤자, 서버단에서 또 해야하니, 차라리 프론트는 무시하고 validation 처리하겠습니다."

XSS에 대한 문제가 있을 수 있다는 것...이것에 대한 난감한 이후 상황에 대해서 생각을 좀 더 했으면 좋겠다.  validation에 대한 처리를 꼼꼼하게 하는 방법은 여러가지가 있다. XSS , SQLInjection... 무조건 잡아야지!


4. 비대한 응답 


비용에 대한 문제다... 썸네일을 사용하고, css/js 의 최소화 하는 이유, 왜 비동기 페이지를 사용하는지에 대한 의문을 먼저 생각하면 되겠다.

썸네일 전에 이미지 압축률에 대해서, 또 한 페이지내에 이미지를 3개 이상 넣지 말라는 야후의 개발 가이드가 생각난다.

솔까말, 페이지 빠르면 기분이 좋잖아!


5. 작동할 것인 코드 생성


AngularJS 스터디 할때 봐도, Unit 테스트 E2E 테스트 등.. FrontEnd 단도 이제 테스트에 대한 영역이 커지고 있고, 이것에 대한 흐름은 TDD 방법론...blabla..

테스트 처럼 중요한게 없지요. 빌드 할때도 걸어 놓으면 얼마나 좋은가요? 


6.  갈라지는(forking) 코드를 작성하는것.


https://modernizr.com/ 분기되는 것을 생각해서 개발하기 보단, 위의 modernizr를 통해 개발 생산성을 향상 시키는것은 좋다... 하지만 이것을 써본 적은 없어서 모르겠다.

오홋 근데, 이거 이후에 한번 사용해봐야 겠다. (tip : modernizr )


7. 반응하지 않는 디자인


responsible design 의 대표는 역시 Bootstrap이죠.. 전에 직접 손코딩하던 시절도 있었는데.. 많이 변했네요

반응형이 대세라는 것도 벌서 수년전부터 나온 이야기..

아시는 분들이라면, WAP, mHTML 등을 개발 할때 부터 생각해봅시다. 


8. 의미없는 페이지 제작


meta 태그의 활용을 통해 , 검색 엔진에서의 노출까지 고려한다는 것은 중요합니다. 설명을 하라고 나오네요.

SPA 같은 경우 설명하기가 참 애매 합니다. 

로그인이 필요한 페이지도 그렇습니다.


9. 너무 자주 새로고침되는 사이트를 생산


뭐 이건 이제 너무 기본인 AJAX 사용하시랍니다.


10. 지나친 작업


자동 통합(CI), 빌드 툴,배포 툴 을 사용하라는 지침입니다. Grunt, Bower등등.. 뭐 기본이라 할수 있는 버전관리는 SVN/GIT... 최근에는 클라우드 기반으로 서버도 그렇게 관리 하는 추세...



뭐 그렇다더라...