블로그
전체 3#카테고리
- 웹 개발
2024. 03. 10.
0
[인프런 워밍업 클럽] 3주차 발자국
작성한 프로젝트를 아마존 웹 서비스로 배포하는 과정에 대해 배웠다. 도커가 아니라 직접 필요한 스택을 EC2에 세팅하고 필요한 절차를 커맨드로 직접 수행했어야 했다. 실제 웹 서비스로 나가는 과정까지 배운지라 전체 학습에 있어서 완결성을 부여하는 과정으로 느껴졌다. 동시에 개인 사이드 프로젝트를 개발해서 실제로 배포하고 싶다는 욕심이 생기게 되었다.과제로는 사원의 근태를 관리하는 미니 프로젝트를 수행했다. 총 4단계까지 있는 과정에서 3단계까지 수행했다. TC를 작성하고, 그 커버리지를 높게 유지하는 과정에서 생각보다 시간이 걸렸다. 각 단계를 수행하면서 리팩토링을 진행하게 되었는데, 테스트 코드까지 같이 수정되면서 시간을 소요하는 작업이 되었다. 1~4 과제를 미리 염두해 작업을 했으면 이런 작업에 들어갈 시간을 줄일 수 있었을 거 같아 아쉽게 생각하고 있다. 또한 개인적인 욕심으로 CI 동작까지 프로젝트에 추가하면서 4단계를 수행할 시간이 부족하게 되었다. 개인 깃헙 리포지토리를 다시 되살리고, 잔디 심어가는 기쁨을 오랜만에 다시 느낄 수 있었다.
2024. 03. 03.
0
[인프런 워밍업 클럽] 2주차 발자국
2주차엔 스프링 동작 원리와 JPA관련 기능들을 배웠다.스프링 어플리케이션은 컨테이너를 통해 클래스간 의존성을 관리한다. 어플리케이션이 시작하면, 관리할 대상인 빈들을 등록한다. 그리고 필요한 의존성이 있으면 설정해 준다. 이렇게 관리를 스프링이 하도록 만드는 개념을 제어의 역전이라고 한다. 또한 의존성하는 객체를 전달해주는 방식을 의존성 주입이라고한다. 이렇게 하면, 사용하는 쪽이 아니라, 제공하는 쪽에서 자유롭게 수정할 수 있는 장점이 있다.JPA는 데이터를 저장하기 위해 자바에서 사용하는 규칙이라 볼 수 있다. SQL을 직접 다루는 일은 컴파일러의 지원을 받을 수 없고 런타임에서야 알 수 있다. 또한 사용하는 SQL 제품에 의존하게 되고, 반복작업이 많다. 그리고 객체지향에서 객체는 양방향으로 참조하고, 상속이 있으나 관계형 데이터베이스는 이런 지원이 없어 제한적이다. JPA는 ORM의 일종으로 객체를 관계형 데이터베이스와 이어줘 저장해 이런 문제를 극복하도록 도와준다.2주차에선 비교적 적절한 속도로 진도를 진행할 수 있었다. 과제의 경우 추가적으로 욕심을 내 Query DSL을 적용할 수 있었으나 문제의 특성에 의존해 이를 사용하지 않고 과제를 수행했다. 과제를 제출할때는 별 생각이 없었으나 이 또한 배울 기회였다고 생각하니 다시 아쉽게 느껴졌었다.
웹 개발
2024. 02. 24.
0
[인프런 워밍업 클럽] 1주차 발자국
1주차 동안 Section 1 ~ 3(일부) 까지의 내용을 학습했다. 스프링 웹 애플리케이션이 동작하는 기반 네트워크, 자바 - 스프링 프로젝트를 설정하고, API를 만드는 것에 관한 내용이다. 애플리케이션이 다루는 데이터를 메모리가 아닌, 영속성 저장소에 보관하도록 DB를 설정하고, 애플리케이션에서 DB를 관리하는 기초적인 방식을 배웠다. 그리고 Layered Architecture로 정리하는 방법을 배웠다.다른 일도 수행하면서 학습하는지라 진도표에 맞춰서 꾸준하게 학습할 여력이 되지 못했고, 시간이 가능한 대로 몰아서 듣고, 과제를 수행해 배운 내용을 차분하게 정리하지 못한 점은 아쉬운 점으로 남는다. 다음 주에는 휴일이 있으니 가능한 전반적으로 고르게 강의를 듣고, 강의 내용을 정리까지 하는 시간을 가지도록 하고자 한다.과제 수행 시에 아쉬운 점으론 두 가지가 남는다. 코드 과제를 깃허브로 관리하지 못한 점이 아쉽다. 다만 깃허브가 오래동안 방치된 상태라 손이 선뜻 나가지 않았다. 또 다른 하나는 자료 정리 과제 수행 시 소수의 책을 읽고 정리하는 데에만 급급한 것이 컸다. 예제 코드를 작성하면 더 나은 과제 정리를 할 수 있었는데, 책의 예제를 그대로 치는 과정이 되지 않도록 더 많은 시간을 투자했어야 했다.다른 사람의 과제나 공부 내용을 보며 '저 부분까지 한 단계 더 학습할 수 있었는데...' 라는 아쉬움이 남는다. 강의가 이미 아는 내용의 복습인지라 안일하게 접근했던 것이 가장 컸다. 과제나 강의 정리에 조금 더 시간을 들이도록 다짐하게 되었다.
웹 개발