오늘은 새로운 조가 편성되어서
오전부터 일사분란하게 움직였고
저는 1조에 팀장이 되었습니다...
(팀원들을 챙길 수 있잖아!? 이거 완전 럭키비키잖아!?)
심화반까지 팀이 유지가 된다면 팀미션이 준비가 되어있을 거 같은데
제가 느끼기에 리더는 모든 업무 흐름을 알고 있어야 하고
특히 팀원들이 가진 개인의 성향, 역량을 파악하고 있어야 하며
그에 따라 업무를 분담해주고 기둥 같은 존재가 되어야 한다고
생각합니다.
때문에 현재 개발 경험이 있으셨던 분인 두분과
비 전공자인 저를 포함한 세명의 콜라보를 생각해야 하고
또한, Spring과 Git에 관련해서는 모범을 보여서
더 열심히 강의를 수강해야하지 않을까 생각합니다.
그리고 드디어 Spring이라는 프레임워크의 강의를 개강하였고,
1. Gradle
Gradle이라는 빌드 자동화 시스템은 필요한 라이브러리들을
외부 저장소에서 자동으로 가져와주는 dependencies라는 영역이 존재했고,
Test 기능이 있어서 메서드들을 쉽게 디버깅할 수 있게 만들어 줄 수도 있었습니다.
(Main Class가 없어도 자체적으로 실행해주는 고마운 녀석입니다.
2. API
API는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다.
하나의 '약속'이라고 생각하면 되는데
서로 다른 애플리케이션이 약속한 방식의
API 요청을 수행하면 정해진 결과물을 반환합니다.
주문을 받으면 해당 주문의 음식을 가져다 주는 식당의 점원이라고
비유적으로 이해하시면 좋을 것 같습니다.
특히나 RESTful API라고 API가 http를 준수하며 잘 설계되어 있다면
RESTful API입니다. 이 부분은 추가적으로 코딩을 하며 발전시킬 계획입니다.
3. Spring? SpringBoot?
제가 미리 알아보기로는
Spring은 POJO(Plain Old Java Object) 방식을 채택하고 있는데
Java는 객체지향형 프로그래밍 언어로
의 종속되어 있는 무거운 객체들을 만드는 것에 반발하며 나타난 용어라고 알아봤었습니다.
하지만 오늘 스탠다드 반에서 배웠던 클래스, 객체, 인스턴스와 같이
공장에서 일을 분업하고, 새로운 장비가 오면 그 부분만 갈아끼워도 공장에는 문제가 없듯이
POJO와 별개로 객체지향을 이해해야겠다는 생각이 들었습니다.
Spring은 강력한 핵심 기능을 가지고 있었지만
사용하기 위해서는 너무나도 많은 xml 설정들이 필요했고
이러한 불편한 점들을 개선하기 위해 2014년 SpringBoot가 등장했습니다.
Springboot이 나와서 기존의 xml 설정 대신 Java를 사용하고 위에서도 설명했던
외부에서 가져온 라이브러리나 하위 프레임워크들의 의존성 관리가 매우 쉬워졌습니다.
4. Lombok
이번 강의에서 특히나 신기했던 부분이었는데
Lombok 플러그인에 있는 GETTER / SETTER 을 사용하면
예를 들어 직접 작성하지 않은
getUsername(), getContents() 메서드가 자동으로 추가가 되어있는게
경이로웠습니다.
마지막으로 오늘은 MySQL을 설치하고 설정해준 후에
학습을 종료했습니다.
배운게 너무 많아서 머릿속에 넣기가 힘드네요
내일은 오늘 스탠다드 반에서 배운 객체지향을 복습하고
Spring 강의도 꾸준히 들어야겠습니다.
감사합니다.
'TIL(Today I Learned it)' 카테고리의 다른 글
TIL.24 Controller - 2 (0) | 2024.09.27 |
---|---|
TIL.23 Controller - 1 (0) | 2024.09.26 |
TIL.21 JAVA 프로그래밍 주차 마지막 날 (0) | 2024.09.24 |
TIL.20 결국 일어나버린 장염 초 럭키비키잖아? (2) | 2024.09.23 |
TIL.19 숫자 야구 게임 과제 진행 및 트러블 슈팅(Trouble shooting) (1) | 2024.09.20 |