현재 랜딩페이지 개발을 하고 있다. TypeScript, React, 그리고 Apach2 를 통해 build 한 파일을 올리는 식으로 진행중이다. 문제는 CSS 였다. 구글링해서 찾아보고 적용하고 하는 방식으로는 한계를 느껴 이번 주말에 제대로 한 번 잡고 가야겠다는 생각으로 생활코딩의 CSS 영상들을 기반으로 쭉 정리하고 있다. 다행히 삽질을 한 것들이 도움이 되어서 그런가 이해하는데 크게 무리는 없었고 깔끔하게 정리되는 느낌이 너무 좋다.
사실 아직 제대로 랜딩페이지의 CSS를 입히진 않았으나, 나는 지금 이 정리하는 과정이 분명 나중에 빠르게 확 튀어오를 수 있는 과정 중 하나라고 믿는다.
혼자서 프로젝트를 위해 간단히 짰던 코드와는 달리 실제 사용자를 고려하고 개발을 하니 많은 걸 생각하게 된다. 특히 구글에서도 페이지 로딩 속도와 랜딩 페이지 최적화(성능적인 것 뿐만이 아니라 경험적인 측면에서의)를 강조하는 걸 보니 더더욱 좋은 코드, 좋은 구조를 고민하게 될 수밖에 없다. 알고리즘, 네트워크, 그리고 아키텍처와 디자인패턴 등을 강조하는 이유가 드디어 실감이 난다.
어째서 오픈소스에 기여하는지, 어째서 stackoverflow 에 사람들이 답변을 하는지, 어째서 기술과 관련된 일들에 후원하는지를 몸소 느낀다. 특히 최근에 회사에서 지급받은 장비가 M1 프로세서 기반의 맥이었는데 기존 Intel X86 칩과 상당히 달라져 개발환경을 설정할 때 애를 먹었었는데 stackoverflow 나 medium 및 개인 칼럼들을 비롯한 창구로 많은 사람들이 자신의 해결방법을 공유하여 결국에 해결할 수 있었다. 그래서 이런 사람들에게 도움을 받았으니 나도 도움을 주어야겠다는 마음을 먹으면서 서로 기여하고 그렇게 선순환이 일어나는게 아닐까 문득 생각이 들었다.
일단은 적은 금액이지만 생활코딩에 정기후원 방식으로 후원을 하였다. 내가 기술적으로는 도움을 줄 역량이 되지 않지만, 그래도 이 곳을 내가 도울 수 있는 한에서 금전적으로 후원을 하고싶어서 내린 결정이다.
동시에 나같이 뭔가 막막해서 글을 올린 사람들을 위해 미약하게나마 답변을 달기로 하였다. 이전에 네이버 지식IN 에서 활동했던 경험도 생각나고, 나름 재미있다. 일주일에 한 개씩은 답변을 하는 게 계획이다. 오늘 답변을 달은 글은 이 글이었다. 좋은 코드일진 모르겠지만 질문을 올린 사람에게 이 코드가 도움이 되었으면 좋겠다.