본문 바로가기

개발/Gistory2

지스토리 프로젝트 회고록 1 : 지스토리는 왜 망했는가 지스토리는 무엇인가? 지스토리는 지스트 학부생을 위한 BBS 서비스입니다. 각종 자치기구의 공지가 올라오고 학생들이 작성한 정보가 올라와야 했습니다. 그렇지만 망했습니다. 왜 망했을까요? 우선 서비스의 기획적인 측면에도 망할 이유는 충분히 많았습니다. 하지만 이 서비스가 망한 이유는 개발적인 이유가 훨씬 컸습니다. Django를 쓰지만 Django의 MVC 패턴과 사이클에 대한 이해가 전혀 없었습니다. DB에 대한 이해 없이 모델을 만들어서 DB가 금세 더러워졌습니다. 원인 불명으로 게시물 번호가 초기화 되어서 충돌이 일어났습니다. 집단 특성(대학생 집단) 상 프로젝트가 1년마다 참여 인원이 바뀌는데, 이 때문에 프로젝트가 한번 늘어지자 계속 늘어지게 되었습니다. 코드 리뷰, 브랜치 전략 등 코드의 품질.. 2022. 2. 23.
지스토리 프로젝트 회고록 2 : 정의되지 않음과 없음에 관해 지스토리는 리액트로 만들어졌습니다. 당연히 JavaScript를 많이 쓸 수 밖에 없습니다. TypeScript로 마이그레이션 하기는 했지만 TS도 결국 JS로 돌아가기 때문에, JS의 문제점도 어느정도 가지고 가야 합니다. 특히 지스토리처럼 나중에 TS로 마이그레이션 한 경우는 다 엎을 수 없으니 이런 문제가 더 많습니다. 오늘은 그 문제 중 가장 대표적인 undefined와 null에 대해 논하겠습니다. undefined와 null이란? 우리는 산술적으로 없음을 표기할 때 0이라는 값을 사용합니다. 그렇지만 이 것말고도 또 다른 값이 존재할 수도 있습니다. 예를 들어, 변수를 선언하고 값을 정의하지 않았다면, 이 변수의 값은 무엇이 되어야 할까요? 만약 변수를 사용하고, 그 값이 유효하지 않아서 변수.. 2022. 2. 23.