블로그
전체 3
2024. 03. 10.
0
인프런 워밍업 스터디 클럽 0기- BE 발자국3(~2/25)
일주일 간의 학습내용 요약미니프로젝트 1단계 수행팀 등록 기능 구현직원 등록 기능 구현팀 조회 기능 구현직원 조회 기능 구현이번주는 지금까지 배운 내용을 바탕으로 미니 프로젝트를 수행했습니다.학습내용 요약Controller, Service, Repositroy 설계, 데이터베이스 설계, JPA 활용 등 지금까지 배운 내용을 모두 활용하여 프로젝트를 수행했습니다. 사실 이론을 배우고 간단하게 강사님이 하는 내용을 따라하면서 활용방법을 읽혀나갔지만 막상 처음부터 끝까지 기능구현을 하려다보니 어려운 점도 많았습니다. 그래도 배운내용을 복습하면서 노력하여 완주할 수 있었습니다.아쉬웠던 점1단계까지만 진행했고 2단계 이후부터는 완료하지 못했습니다. 사실 아직 기본개념에 대해 부족한점이 많아서 그걸 다이해하고 천천히 할 생각이라 2단계 이후부터는 이번 스터디 클럽이 완료된 이후에도 계속 해볼 생각입니다. 마지막 발자국이고 스터디 클럽도 마무리 되는 시간이 찾아왔습니다. 처음에는 Spring Boot, JPA 등에 대해 아무것도 몰랐지만 강의를 듣고 따라하면서 조금씩 기초 지식과 활용 경험을 쌓아가는 시간이었습니다. 스터디 클럽이 끝난 이후에도 꾸준히 공부하여 성장하는 백엔드 개발자가 되고 싶습니다.

2024. 03. 03.
0
인프런 워밍업 스터디 클럽 0기- BE 발자국2(~3/3)
일주일 간의 학습내용 요약스프링 컨테이너 이해 및 사용방법Spring Data JPA를 사용한 데이터베이스 조작트랜잭션과 영속성 컨텍스트이번주는 Section4의 주요 내용인 JPA, 트랜잭션에 대해 배웠습니다.학습내용 요약JPA 사용목적 및 사용방법 : 지난주 까지는 JDBC에 직접 접근하는 코드를 생성하여 데이터베이스를 조작했습니다. 그러나 반복적인 작업 및 특정 데이터베이스에 종속적인 단점이 있었습니다. 그래서 JPA를 사용하여 문자열 변수에 작성된 SQL 쿼리를 만들지 않고도 데이터베이스를 조작하는 방법을 배울 수 있었습니다.Spring Data JPA 구체적 사용방법실제 테이블과 매핑되는 @Entity 클래스 생성application.yml에 JPA 관련 설정 추가@Id, @Column 등의 어노테이션을 사용한 설정 Spring Data JPA를 사용한 쿼리 사용방법 : 일반적인 CRUD 쿼리인 SELECT ,UPDATE ,DELETE 등과 동일하게 사용할 수 있는 findBy, save, delete 등의 사용방법에 대해 이해하고 직접 활용하면서 활용도를 높일 수 있었습니다. @Transactional 어노테이션을 사용한 트랜잭션 적용 : SQL 사용 시 한번에 성공시키거나 하나라도 실패하면 모두 실패시키는 트랜잭션을 적용하는 방법을 배웠습니다. 아쉬웠던 점JPA의 다양한 쿼리 및 트랜잭션 이론을 배우고 다양하게 적용하여 적응력을 높였여야했는데 아직은 약간 부족한 면이 있습니다. 그래서 이번 스터디 클럽이 종료되더라도 JPA를 다양하게 적용하기 위한 연습을 많이할 생각입니다.미션 해결 과정6일차 과제6일차 과제는 기존의 쿼리를 통해 작성된 데이터베이스 접근 코드를 JPA를 사용할 수 있도록 분리하는 과제였습니다. 배운 내용을 토대로 기존의 데이터베이스 접근 쿼리들을 JPA로 변경하는데 집중하여 과제를 제출했습니다. 한 주 간의 강의를 수강하고 미션을 해결하면서 느꼈던 점 중 하나는 JPA를 사용하는 것이 매우 편리하다는 생각을 했습니다. 기존에는 항상 어떻게 쿼리를 만들어 데이터베이스에서 원하는 데이터를 만들지에 대한 고민이 있었습니다. 그러나 그런 걱정할 필요없이 JPA를 사용했을 때 편리한 점이 있다는 것이었습니다. 그래서 다양한 JPA 사용방법을 직접 활용하면서 JPA 활용능력을 높이고싶습니다!

2024. 02. 25.
0
인프런 워밍업 스터디 클럽 0기- BE 발자국1(~2/25)
저는 IT 회사에서 신입 개발자로 근무를 하고 있습니다.그러면서 이번에 처음으로 Spring Boot를 사용하여 회사 제품의 새로운 기능을 개발하는 업무를 맡았습니다.그래서 처음으로 개발 업무를 수행하다보니 제가 가진 기초지식이 부족하여 기초를 쌓기 위한 강의를 찾게 되어 인프런 워밍업 스터디 클럽을 하게 되었습니다!! 일주일 간의 학습내용 요약API 만들기Database 조작역할의 분리와 스프링 컨테이너이번주는 크게 세 가지 파트로 나누어서 학습을 진행했습니다.학습내용 요약Section1에서는 GET API, POST API를 작성 후 Postman을 사용하여 실제로 작성한 API가 동작하는지 테스트를 해봤습니다. 그리고 유저생성 API를 작성하며 Web 환경에서도 API가 동작하는지 확인할 수 있었습니다.Section 2에서는 Mysql를 사용하여 CRUD문의 기초적인 사용법에 대해 배웠고 IntelliJ와 Database를 연동하여 SQL을 사용하여 DB를 조작하는 방법을 배울 수 있었습니다.Section 3에서는 클린코드에 대해 설명하고 Controller를 분리하여 리팩토링을 하는 방법을 배울 수 있었습니다.아쉬웠던 점아무래도 회사를 다니면서 강의를 수강하다보니 차근차근 이해하기보다는 빠르게 강의를 듣고 따라하려다보니 강의 내용에 대한 개념적인 부분에 대한 이해가 부족한 점이 있었습니다.따라서 다음주에는 시간적인 여유를 두고 여러 번 반복하면서 개념적인 이해도를 높일 생각입니다. 미션 해결 과정1일차 과제1일차 과제는 어노테이션을 사용하는 이유에 대해 조사하는 것이 과제였습니다. 어노테이션이 무엇이고 어떤 이유에서 사용하는지 이해하자는 생각으로 조사를 시작하여 과제를 제출했습니다.2일차 과제2일차 과제는 강의에서 배운 POST API, GET API를 이용하는 과제였습니다. 이 과제를 수행할 때 생각했던 것은 최대한 강의에서 배운 내용을 리마인드하며 과제를 풀어내기 위해 노력했습니다. 그래서 과제에서 사용했던 예시를 여러 번 보면서 이를 사용하기 위해 노력했고 과제와 동일한 결과를 만들어낼 수 있었습니다.3일차 과제3일차 과제는 람다식이 등장한 이유와 익명 클래스의 관계에 대해 조사하는 내용이었습니다. 사실 강의를 들으면서 람다식이 잠깐 등장하는 부분이 있었습니다. 그래서 람다식을 사용했을 때 얻게되는 이점이 무엇일지에 대해 생각하면서 관련 내용을 조사했고 이러한 관점에서 과제를 제출했습니다. 4일차 과제4일차 과제는 Database를 사용하여 API를 작성 및 테스트하는 과제였습니다. 이 과제를 수행할 때 생각했던 것은 강의에서 배운 것처럼 String sql문을 통해 SQL문을 정의하고 이에 대한 메소드를 어떻게 만들것인가였습니다. 그래서 원하는 결과를 만들기 위한 SQL문과 메소드를 만드는 것을 기반으로 과제를 제출했습니다.한 주 간의 강의를 수강하고 미션을 해결하면서 느꼈던 점 중 하나는 API를 작성하는데 있어 DTO, Controller 등 각각의 구성요소를 어떤 식으로 구성하는 지에 대해 많은 고민을 해야된다는 점이었습니다. 무작정 아무 생각없이 강의자료에 나온대로 카피하여 작성하면 좋은 결과가 나오지 않았습니다. 그래서 강의자료에 대한 내용을 이해하여 어떤 식으로 활용할지에 스스로 느껴야한다는 점을 배웠습니다. 다음주 강의도 이러한 점에 대해 고민하여 강의를 듣고 미션을 해결해나가볼 생각입니다!




