오전: 계산기에 추상 클래스와 거듭제곱 추가, 주석 추가, 과제 제출 완료
https://roqkfchqh.tistory.com/62
generic을 좀 못쓴 것 말고는 후회 없다. 욕심에 욕심에 욕심이 더해져서 기능이 마구잡이로 늘어났는데 피드백 재미있게 받고싶다.
개발하면서 정말 즐거웠다.
오후1: cs공부, 자바 세션 수강
2차원 배열에 대해 복습할 수 있었다. 알고리즘 문제를 풀 때 2차원 배열은 좀 어려워 보여서 눈길도 안 줬는데 이제 자신감 가지고 풀어봐야겠다.
자바 세션을 통해 어렴풋이 알고 있던 내용들을 좀 더 구체화시킬 수 있었다.
오후2: 백엔드 연습 준비 성공!
예전에 만들어 놓은 리액트 리덕스 프론트엔드 코드다. 영상도 올릴 수 있고 알림기능 등등 오만거 다 해놨어서 이걸로 연습하면 딱일 것 같다.
원래는 미니프로젝트로 연습하려 했는데 이게 기능이 많아서 해볼 게 많을 것 같다. 스프링 준비 열심히 해보자!
빌드해서 gradle이랑 합쳤당
실험삼아 만들어본 api도 잘 작동한다! 예전에 api 만들때 사용하던 postman도 기억이 나서 깔아뒀다.
근데 진이 빠진다..하하하.. 4년 전에 만든 프론트라 구버전 모듈들이 제대로 작동을 안해서 한참 끙끙댔다..
너무 힘들어서 gpt와 spring에 관한 이야기를 했는데 대략적인 걸 파악할 수 있어서 좋았다. 대화내용을 정리해야겠다.
gpt:
스프링은 객체 간의 의존성을 효율적으로 관리하기 위해 생성자 주입을 선호하며, 이를 통해 코드를 더 견고하고 유지보수하기 쉬운 구조로 만들 수 있습니다. 또한 생성자 주입 방식은 스프링이 의존성 주입 컨테이너로서 동작하는 데 최적화된 방식입니다.
gpt:
스프링에서는 생성자를 활용한 의존성 주입이 중요하지만, 모든 클래스가 생성자를 필요로 하지는 않아. 순환 참조를 방지하려면 객체 지향 설계를 잘 적용해야 하고, 특히 클래스 간의 의존성을 관리하는 데 인터페이스와 같은 설계 패턴을 적절히 활용하는 것이 필요해.
객체 설계를 잘하면 스프링의 기능도 더 잘 활용할 수 있을 거야!
gpt:
네가 말한 대로,
- 의존성 주입은 상위 클래스의 생성자를 통해 이루어지고,
- 순환 참조나 중복 기능 문제가 발생할 가능성이 있다면 이를 인터페이스나 추상 클래스를 통해 캡슐화하여 해결해.
이 과정은 객체 지향 설계의 핵심 원칙인 의존성 역전 원칙과 단일 책임 원칙을 실천하는 좋은 방법이야!
얘 가끔 반말 했다가 존댓말 했다가 오락가락 하는게 너무 웃기다. 아무튼 spring의 구조를 대~~~~충은 알 것 같다.
이제 gpt가 하는 말들도 더이상 외계어가 아니다. 계산기 과제를 통해 java공부를 속성으로 빡세게 해서 그런가 잘 이해할 수 있었다.
저녁: java 게임 업데이트 ~ing