독도갈매기의 개발 블로그

[낙지 플머들] 학교의 출석부를 만들어보자 -2- ( 스프링 후기 ) 본문

낙지 플머들

[낙지 플머들] 학교의 출석부를 만들어보자 -2- ( 스프링 후기 )

독도갈매기 2021. 6. 21. 11:30

팀원

  • Server, Database, Admin Client, ChatBot : DokdoGalmaegi
  • Mobile Client : 서울에 사는 한 친구 1
  • WebPage Client : 서울에 사는 한 친구 2

BackEnd

  • Api Server ( Java Spring Boot )  - 👍
  • Database ( MySQL ) - 👍

Front

  • Admin Client : C# - 😑
  • ChatBot ( Kakao Open Builder ) : 👍
  • WebPage Client ( React ) : 😂
  • Mobile Client ( Flutter ) :  👍

Spring이 미웠던 순간 ( 미웠던 순간이지 단점이 아닙니다. )

  1. 처음 API서버를 만들 때 DB인 MySQL과 연동할 때 3시간을 썼다는 것이다. 🙈
    1. DB를 연동할 때 처음 사용해본 MyBatis를 사용해야 했다는 것
    2. DB연동 후에는 SQL문들이 모여 있는 XML파일을 만들고 그 파일을 또 XML로 Mapping 해줘야 했다는 것
    3. 그리고 SQL문의 Interface를 만들어 구현한다는 것
  2. Json 지원하는 것을 보니 자동으로 눈물이… 😭
    1. 카카오 챗봇 빌더에서 서버로 요청을 받아 텍스트를 받아오려면 일정 양식으로 Response로 주어야 하는데 그 Json 양식을 만드는데 일일이 Map을 써서 너무 불편했다는 것
    2. 심지어 Json조차도 외부 라이브러리를 불러 와야 할 수 있다는 점이다. ( Google 채고 )
  3. 익숙치 않았던 자바 Annotation들 😩
    1. Autowired
      1. 의존성 주입을 받을 수 있도록 하는 Annotation이라고 합니다.
    2. Repository
      1. 의존성 주입 타깃이 되는 Class에 작성하는 Annotation이라고 합니다.
  4. 그래서 의존성 주입이 뭔데 😨
    1. 의존형 주입이란? : 새로운 클래스를 생성할 때 필요한(의존하는) 클래스를 인스턴스화 하지 않고 주입하는 방식을 말합니다. ( 자세한 내용은 따로 다시 다루겠습니다. )
    2. 쓰는 이유 - 생산성이 좋다. 즉 개발할 때 의존하는 클래스에 수정사항을 일일이 변경해주지 않아도 된다는 유지보수성에서 큰 이점을 가져 갈 수 있다는 것입니다.
  5. 배포가 너무 귀찮다. ( Node.js에 비해 ) 😅
    1. Node.js는 수정사항이 있다면 수정해 github에 push하여 pull해주면 된다.
    2. 하지만 스프링에 경우에는 수정사항이 있다면 계속 빌드하고 FileZilla로 jar파일 옮기고 x 10 너무 지친다.
  6. 프로그램이 무겁다.
    1. 그냥 배포된 파일자체도 무겁습니다.

Spring이 좋았던 순간

  1. Node.js보다 체계화된 코드
    1. Node.js를 사용할때 보다 파일 관리는 체계화되게 관리한 것 같았다.
  2. 의존성 주입이 좋다.
    1. 의존성 주입이란 개념이 써본적이 없어 어색하고 어려웠을 뿐이지 의존성 주입이란 개념은 분명 개발하기에 용이한 개념이 맞다는 것은 확실하다는 것을 정리하면서 다시 알게 되었다.

Spring을 사용해본 후기

  • 확실히 Spring이라는 프레임워크는 토이프로젝트에는 맞지 않는다는 것을 깨달았습니다. 이번 프로젝트 의도는 토이프로젝트가 아니라 오히려 Spring을 선택한 것은 맞는 선택이었을지 모르겠네요 프로그램자체는 무겁지만 그렇기에 믿음이 가는 프레임워크라는 것을 알았습니다. 이번 프로젝트를 만들면서 DI( 의존성 주입 )의 개념을 알게 된 점, 자바에서는 JSON을 다루기 까다롭다는 점, 코드 구성자체가 체계화되어 유지보수가 용이했다는 점
  • 한줄 요약 : 토이프로젝트에는 절.대.로 Spring은 쓰지 않겠습니다.

'낙지 플머들' 카테고리의 다른 글

[낙지 플머들] 학교의 출석부를 만들어보자  (0) 2021.05.18
Comments