일단 누구든 몇 주 정도 공부하면 간단한 텍스트 CRUD는 구현하면 게시판이 끝이라고 생각하는 경우가 있는데
페이징, 검색 기능 등을 넣어야 된다.
보통 그 다음에 인증 문제에 부딪힌다.
jwt니 세션이니 이것저것 써서 인증을 해결했다.
이제 배포를 해결해야한다. 정적 서비스가 아니니 AWS 비용과 각종 호스팅, DNS 등 비용을 고려해서 배포를 한다. 비용이 두려우면 홈서버를 올린다.
배포를 하고 나니 공격이 마구 들어온다. 요상한 봇들이 마구 공격을 하기 시작하고 로그에 이상한 요청들이 찍혀있다. 그나마 클라우드 서비스들은 이런걸 알아서 막아주지만 홈서버는 그런거 없다. SQL 인젝션 등 각종 취약점들을 틀어막고 nginx 리버스 프록시, HTTPS 적용, ENV 등을 분리한다.
상황은 끝나지 않는다. 갑자기 내가 사용하는 프레임워크에 취약점이 터진다. 패치를 하고 다시 빌드를 해서 올린다.
빌드 다시해서 올리다보니 CI/CD와 로깅의 필요성이 느껴진다. AOP등 로깅을 구축하고 젠킨스와 도커로 파이프라인을 구축했다.
이제 서비스를 테스트를 해본다. 왠지 당신의 게시판은 구려보인다. 본문에 사진도 올릴 수 없고 목차도 제대로 안나온다. 단순 text crud에서 이미지, 파일 등을 올릴 수 있는 위지윅 에디터를 구현해야한다.
구글링으로 라이브러리의 바다를 찾아 헤맨다. 위지윅이 나을까 마크다운이 나을까 고민하다 적절한 라이브러리로 구축을 한다.
이제 게시판이 끝났나? 아니다. 혼자만 봐서는 게시판이 아니다. 당신의 게시판은 구글에 검색조차 되지 않는다. 로그를 까보니 크롤러가 들어오지 않는다.
SEO고 나발이고 크롤러가 안들어오는데 무슨 소용인가?
robot.txt, sitemap.xml 등을 작성하고 구글에 크롤링 등록을 한다. 크롤러가 성공적으로 들어온다. 이제 SEO 최적화를 할 차례다.
SEO 최적화를 어찌저찌 마치고 나니 접속자가 폭주한다. 로그를 까보니 대부분 봇이다. 클라우드 플레어를 씌운다. 그러나 그것만으로 충분하지 않다. 당신은 이제 성능 영역으로 넘어간다. 쿼리 최적화, nginx 정적 서빙, 레디스, 메시지 큐 등으로 성능을 더 끌어올린다.
다시 테스트를 해보니 그럭저럭 만족스럽지만 추천 글 기능이 있으면 좋을거 같다. 엘라스틱 서치를 이용해 추천글 기능을 만들었다.
축하한다! 당신은 이제 게시판을 완성했다.
이제 유지보수를 위해 MSA 아키텍쳐로 전환을 고려하자.
살려다오
나는 안 만들어 봤는데 대충 생각해도 게시판이 제대로 만들기 쉽지 않음 일단 글쓰기 에디터 하나만 생각해봐도 wysiwyg 에디터 구현 자체가 상당한 js 지식을 요구함 input text 관련 xss 대응도 골치아프고 글이랑 사진은 그렇다 치고, 동영상을 포함시키면 트랜스코딩도 해야됨 단순 키워드 검색 이상을 구현하려면 그것도 골치아픔 어느정도 규모있는 게시판은 db 파티셔닝도 당연히 해야되고, 파티셔닝한 db가 사용하는 orm이랑 잘 융합되는가의 문제도 골치아픔 국비에서 수료할때 게시판 만든다고 하는데 나는 그걸 어떻게들 하는지 모르겠음
게시판 조자 못만든다고 비웃는 애들은 다 백수들임. 디시만 봐도 게시판만으로 때돈 버는데
게시판의 꽃은 주파딱 같은 권한관리임. 앱으로 올릴꺼면 차단기능도 필수 ㅋㅋ
있어보이는 척 기술용어들을 가져다 쓰면서 게시판을 올려치기 하지만 결국 껍데기나 햝는 수준
그래그래 그 과정들 원래 팀 나눠서 협업 히던건데 하나의 팀으로 ㅈ침 ㅋ ai짱짱맨 ㅋㅋ
AI로 3주컷.
이젠 시간낭비다 AI쓰면 설계부터 완성까지 3일도 안걸린다
댓글, 답글, 대댓글도 구현해야된다 ㅋㅋ
알림처리도...