블로그
전체 2#카테고리
- 백엔드
#태그
- 인프런워밍업클럽
2024. 03. 03.
0
[인프런 워밍업 클럽 0기] BE 2주차 발자국
2주차 발자국 강의 2 - 1. 스프링 컨테이너의 의미와 사용 방법스프링 빈과 스프링 컨테이너가 무엇인지와 스프링 컨테이너와 좋은 코드와는 어떤 연관이 있는지 알아보는 단계입니다.2 - 2. Spring Data JPA를 사용한 데이터베이스 조작문자열 SQL의 한계에 대해 알아보고 이를 대체하기위한 JPA, Hibernate, Spring Data JPA에 대해 알아본뒤, Spring Data JPA를 이용해 데이터를 다뤄보는 단계입니다.2 - 3. 트랜잭션과 영속성 컨텍스트트랜잭션이 왜 필요한지 알아보고 스프링에서의 제어법과 영속성 컨텍스트의 특징을 알아보며 영속성 컨텍스트와 트랜잭션과의 관계를 알아보는 단계입니다.2 - 4. 조금 더 복잡한 기능을 API로 구성하기책 생성 API의 대출과 반납기능을 개발해보면서 지금까지 배워왔던 모든 개념을 이용하여 실습해보는 단계입니다. 강의 회고 Spring boot를 처음 접하면서 다양한 시도를 해보고 있지만, Java 자체가 오랜만이라 쉬이 되고있진 않는것 같아서 아쉽습니다. 강의 내용 자체와 구성은 너무 좋은데 완전히 소화하지 못하고 있어서 아쉬운 느낌입니다. 미션 2 - 1. 기존에 만들어 보았던 FruitController를 각 계층 Service와 Repository로 나누고 계층별로 나누었던 코드 중 FruitRepository를 FruitMemoryRepository와 FruitMySqlRepository로 나누고 @Primary 어노테이션을 활용해 스위칭을 해보는 미션입니다.기존의 강의를 들으며 최대한 시도해 보았고 자유롭지 않지만 어느정도 소화할 수 있게 되었습니다.2 - 2. 앞서 작성한 코드에 JPA를 적용해보고, 여태 가게에 입고되었던 과일들의 개수를 세는 API를 만드는 단계입니다.기존의 강의를 들으며 시도해 보았지만, 쉽지 않은 단계였습니다. 무언가 놓친게 있다고 생각해서 앞 강의들을 다시보고 시도해야겠습니다. 미션 회고 미션 주제가 좋았지만, 원활히 수행하지 못한것이 아쉽습니다. 분명 노력하면 수월해 지겠지만 여의치 않은게 무척 아쉽습니다.
백엔드
2024. 02. 25.
0
[인프런 워밍업 클럽 0기] BE 1주차 발자국
1주차 발자국 강의 1 - 1. 서버 개발을 위한 환경 설정 및 네트워크 기초해당 강의를 들으며 앞으로 사용하게될 프로그램 설치 및 환경설정을 다루는 단계입니다.1 - 2. 첫 HTTP API 개발앞서 설치한 POST MAN에 GET, POST 같은 형태로 데이터를 주고 받으며 잘 작동하는지 배우며 실습해보는 단계입니다.1 - 3. 기본적인 데이터베이스 사용법이전에는 POST MAN으로 localhost에 데이터를 주고 받았다면, 이제는 MySQL에서 테이블을 설계해보고 데이터 값들을 추가해보는 등 여러 시도를 해보는 단계입니다.1 - 4. 데이터베이스를 사용해 만드는 API앞 단계에서 배웠던 부분에 더 해서 데이터를 수정해보고, 삭제해보는데 만약 데이터가 없다면을 가정하여 예외처리 도 배워보는 시간입니다.1 - 5. 클린코드의 개념과 첫 리팩토링이제 코드들을 더 간결하며 확장성 있게 개선시킬 수 있는 방법을 시도해보는 단계입니다. 강의 회고 강의 구성이나 미션의 주제가 정말 좋았고 오랜만에 옛 기억을 떠올리며 다시 배우면서 나름 열심히 하려했지만 병행하고 있는 공부가 있어서 생각보다 깊이 있게 공부하지 못해서 아쉬웠습니다. 다음주에 시간을 더 할애하여 더 많이 찾아서 공부해봐야 겠습니다. 미션 1 - 1. 어노테이션을 사용하는 이유(효과)와 나만의 어노테이션은 어떻게 만들 수 있을까를 알아보는 시간이었습니다.아무래도 공식사이트가 정확한 정보를 줄것 같아서 oracle에서 1차적으로 찾아보고, 인터넷 게시글 등을 참고하여 추가로 작성하였습니다.1 - 2. 세 가지 연산결과를 반환해주는 GET API, 날짜를 입력하면 무슨 요일인지 알려주는 GET API, 여러 수를 리스트로 받아서 그 합을 반환하는 POST API에 해당하는 세 가지 문제를 풀어보는 시간이었습니다.반환해주는 부분에 연산하는 부분을 넣어서 해결하였고, 날짜를 알려주는 부분에서는 데이터 에러가나서 데이터 포멧을 사용하여 해결하였고, 여러수를 합해서 반환하는 부분은 sum을 사용하여 해결하였습니다.1 - 3. 자바의 람다식은 왜 등장 하였고, 람다식과 익명 클래스는 어떤 관계인지, 람다식의 문법은 어떻게 될지 찾아보는 시간이었습니다.정확한 정보를 위해 oracle 사이트를 1차적으로 참고하고, 다른 인터넷 사이트들을 검색하여 내용을 채웠습니다.1 - 4. 과일 정보를 저장하는 POST API, 판매된 과일 정보를 체크하는 PUT API, 현재 재고에서 판매된 금액과 판매되지 않은 물품의 금액을 합해서 각각 반환하는 GET API의 세 문제를 풀어보는 시간이었습니다.정보를 저장하는 부분에서는 강의내용을 참고하여 해결하였고, 판매 체크하는 부분에서는 새로운 컬럼을 불린으로 만들어서 0, 1로 체크하였고, 판매완료된 과일과 미판매 과일의 합은 쿼리문 단계에서 sum을 사용하여 해결하였습니다.1 - 5. 주어진 코드를 클린코드로 개선해보는 시간이었습니다.숫자를 대입하는 변수부분은 각 인덱스와 값을 참고해서 연산하려고 배열을, 주사위를 굴리는 부분과 변수에 값을 추가하는 부분, 문자를 출력하는 부분은 반복문으로 처리해서 해결하였습니다. 미션 회고 주어진 미션은 해결하였지만, 더 좋은 방법이 있다는 것은 알고있기에 더 좋은 방법을 찾아봐서 개선해보는 시도를 해봐야겠다는 생각이 들었습니다. 점점 더 좋은 형태를 계속해서 추구하다보면 분명 충분히 좋아지리라 믿습니다.
인프런워밍업클럽