180111~12-TIL

Reading time ~1 minute

11~12일 한일

- trello 프로젝트

  • 기존에 직접 프로젝트를 생성하여 작업 하던 것들을 포비의 github 레파지토리를 fork하여 재진행

  • RestController를 사용 하여 회원가입/로그인 구현

  • 회원가입/로그인 폼에서 AJAX로 데이터를 보내게 구현


11~12일 느낀점

  • 어떻게 진행하면 되겠다는 느낌이 왔다. 오늘 오전까지는 Restful API 설계 원칙에 따라서 작업을 한다는 게 어떻게 해야 할지 몰라서 고생을 했다. 특히 JSON으로 데이터를 받고 보내거나 HTTP 상태 값만 보내는 방식으로 서버와 클라이언트 간에 통신을 해 보라 했는데, Controller를 그렇게 구현하는 것 자체는 어렵게 느껴지지 않았는데 문제는 일부가 아닌 페이지가 바뀌어야 하는 상황에서 상태 값이나 JSON 데이터만 가지고 어떻게 다음 페이지로 이동을 하는가였다.

    그래서 생각한 방법은 ‘JSON으로 어떻게든 뷰단을 전송 시키는 것’, ‘모든 페이지를 프론트에서 가지고 있게 하고 상태 값에 따라 변경한다’ 후자야 사이트 종류에 따라 가능하지만 현재 프로젝트에선 저런 형태가 아니었던지라 서버에서 어떤 데이터를 어떻게 전송해야 할지 알 수가 없어 제대로 된 작업 시작을 못 했었다.

    오늘 오전 포비한테 의문 사항을 질문 후 자바스크립트를 통해 클라이언트가 자신이 이동하고 싶은 페이지를 요청할 수 있다는 사실을 알게 되니….. 순식간에 끝났다. 덕분에 프론트 쪽에 대한 지식도 좀 쌓아야겠다는 생각이 들었다.

  • 순식간에 끝났다고 했지만 그건 어디까지나 서버 쪽 얘기고(그래서 거꾸로 잘못 만들었나 싶었다. 심지어 테스트 코드를 잘못 만들었나도 고민했다) 프론트 작업은 반나절이나 한 것 같다. 진짜 간단한 작업이었는데 생각보다 빡셌다. 아예 잘 못 했다기보다는 신경 써야 할 것들을 놓쳐서 계속 실패를 했다. 특히 코드 자체의 문제가 아니라 서버와 클라이언트 간의 무언가(?)가 안 맞아 에러가 있을 때 무엇이 문제인지 찾는 게 늦었다.

    트렐로를 만들면서 서버도 서버지만 간단한 프론트 작업에도 익숙 해지도록 노력해야겠다. 다행인 게 옆에 프론트 분들도 계시고 해서 많은 도움을 받고 있다.
    그래도 문제가 있다고 무조건 찾아가진 않고 일단은 가능하면 직접 해결책을 찾는다. 그래도 안된다면 문제가 되고 있는 부분을 파악해서 방법을 묻거나, 어떤 기능을 구현해야 하는데 그때 어떤 함수를 써야 하는지 같은 형태로 물어 보고 있다.

  • 확실히 어제까지는 어떻게 구현해야 할지 이해 자체를 못하고 있어서 구현을 하나도 못하다시피하고, 앞으로 어떻게 해야 할지도 몰랐는데 오늘 해답을 찾고 나서 확실히 어떻게 구현해 나가야 할지는 알게 된 것 같다. 확실히 무엇을 해야 할지 알고서 코딩을 하니까 오랜만에 즐겁게 작업 한 것 같다.(요 며칠 트렐로 초기 작업 동안 내가 뭘 하고 있는 건가 싶었다) 아! Resful API 설계 원칙 자체는 아직 크게 신경 못 쓰고 단순히 RestController로 구현만 하다시피했는데 그 부분을 좀 더 신경 써봐야겠다.


내일 할일

  • trello 구현하기

    • Board쪽 구현 시작 혹은 개발 서버 환경 구축

    • 경우에 따라 로그인 부분에 구현 한 jQuery를 순수 자바스크립트로 변경