이제 막 배우는 단계다 보니 새롭게 느끼는 점이 많아서 기록해 놓고 싶어서 써본다.
1. 컴파일러 때문에 실수가 많이 준다.
이건 django -> spring이 아니라 python -> java에 해당하는 점. python을 쓰다보면 오타를 냈다던가, 1 * 5을 생각하고, 코드를 짰는데 테스트하다보면 '1'이 들어와서 '11111'이 반환되는 경우들이 생긴다. 근데 java를 쓰다보면 오타라던지 동적 타입 때문에 생기는 실수들이 매우 많이 준다.
2. spring을 사용해보면 제공되는 무언가가 굉장히 많다...
이거는 장점이 될 수도, 단점이 될 수도 있는 것 같다. django를 가지고 개발할 때는 환경세팅할 때 고려해야할 것이 많지는 않았던 것 같다. 근데 spring을 가지고 개발할 때는 이 spring만을 위해서 제공되는 무언가들이 굉장히 많은 것 같다. spring이 발전해서 spring-boot가 생겨났다던지, spring-boot-initiatior라는 페이지가 있다던지, test 툴들도 선택지도 많고, java를 간편하게 개발하도록 lombok이 있다던지...
근데 선택지가 많아서 뭐를 선택해야 하는지 구글링이나 고민도 해야하고, 빌드 툴도 gradle, maven이 있고, 더 나아가서 버전에 따라 문법도 달라지더라. 아무튼 spring, java의 생태계는 엄청 넓은 것 같다...
사족으로 오랫동안 django, python을 사용하다가 spring, java를 사용해보니 장점이 많이 보이는 것 같기도 하다. 근데 항상 새롭게 배우면 장점이 많이 보이고, 오랫동안 사용하면 할수록 단점들이 보이는 것 같다. 이런 걸 많이 경험해보면 어떤 상황에 어떤 걸 선택해야하는지 안목도 생기지 않을까 하는 생각이 든다 :)
'Programming' 카테고리의 다른 글
[AWS S3] 퍼블릭 액세스 객체 읽기만 가능하도록 (3) | 2022.07.17 |
---|---|
프로젝트 시작을 위한 aws 계정 설정 (0) | 2022.05.14 |
soft delete를 해보면서 느낀 점 (0) | 2022.04.16 |
[django] foreign key field를 integer로 넣어주기 (0) | 2022.03.23 |
django의 transaction (0) | 2022.02.03 |