본문 바로가기

스프링부트6

[코드스테이츠 백엔드 43기] PreProject 마무리 후기 PreProject 2주 간의 프리프로젝트가 끝이났다. 처음으로 프론트엔드와 백엔드를 구별하여 각각 파트를 나누어 업무를 진행하는게 전공자임에도 처음이기에 많이 낯설었으며 그와 동시에 드디어 개발을 한다는 설렘이 있었다. 신기하게도 프론트 백엔드 모든 인원들이 굉장히 친절하시고 밝으셔서 프로젝트 기획에 있어 큰 어려움은 없었다. 우리 백엔드는 각자의 기능 파트를 나누어 작업을 진행하였고 나는 그 중 답변이랑 시큐리티, OAuth 그리고 내가 팀원들 중 유일한 전공자였기에 팀원들의 어려움을 많이 해결해주려고 노력했었다. 답변 기능 - 답변기능도 간단하게 생각하면 테이블 하나를 추가하면 되지만 대댓글, 대대댓글과 같은 부분까지 생각한다면 테이블을 계속 늘리는건 똑같은 테이블을 계속 생성하게되는 낭비가 발생하.. 2023. 4. 28.
[스프링부트] AWS S3에 이미지 저장, 불러오기 스프링부트-S3(AWS) 1. 클라이언트에서 사진을 전달 받아 S3에 사진 저장하기 1. 클라이언트가 사진을 등록한다. 2. 사진이 서버에 전송이 된다. 3. 서버에서 사진을 S3에 전송한다. 4. S3에 사진을 저장한다. 클라이언트 -> 서버 파일전송 스프링부트-S3 사전작업 S3 연결작업 진행 (구글링 하시면 자세히 나온다) 진행이 완료되면 accessKey 랑 secretKey가 나온다. build.gradle 설정 dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' implementation 'org.springframework.boot:spring-boot-starter-da.. 2023. 4. 27.
SpringBoot-Mysql 연동 1. build.gradle 에 의존성 추가해주기 1-1 implementation 'mysql:mysql-connector-java' 1-2 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. yml 파일 경로 설정 - 기본 설정값으로 application.yml 파일로 되어있음 따로 다른 yml 파일로 설정하려면 기본 경로를 바꿔줘야 한다. - 망치옆에 있는 프로젝트 클릭 - Edit Configurations... 클릭 - ( --spring.profiles.active=설정이름) 을 입력하면 경로 설정이 완료된다. 3. 서버 환경 정보들을 설정하기 위하여 yml 파일 설정 Mysql을 설치하였다면 포트번호를 3306으.. 2023. 3. 10.
코드스테이츠 백엔드 부트캠프 43기 (SpringMVC - DTO - API 계층) DTO, 유효성 검증 dto 를 설명하기에 앞서 클라이언트에서 서버로 데이터 전달 방식에는 2가지 방식 이있다. 1.쿼리 파리미터를 통한 데이터 전송 방식 url 을 살펴보면 주렁주렁 정보들이 달려있는 방식이 쿼리 파라미터를 통한 데이터 전송 방식 GET 요청을 보낼때 사용된다. 2. 메시지 바디를 통한 데이터 전송 방식 (JSON 형식) JSON : 서버와의 통신을 할 때 DATA 교환 형식 -> 파일포맷 객체의 정보를 수정, 입력 등 정보를 다루어야 할 때 주로 사용 POST, PUT, PATCH 요청을 보낼 때 사용 클라이언트 측에서 보낸 데이터를 서버에서 받는 과정은 크게 API 계층(프레젠테이션 계층) = 클라이언트 요청 및 응답 처리 비지니스 계층 = 비지니스 로직 처리, 트랜잭션 관리 데이터.. 2023. 2. 14.
SpringBoot <총 정리> ※간단하게 생각나는대로 정리해보았다. 틀린 내용이 있을 수 있음※ 스프링? 왜 이름이 스프링일까? - 개발자들의 겨울은 끝이 났다. 봄이왔다는 소리 (쉽게 서버개발이 가능!!) 그래요? 오케이 사용해 볼께요!! 아직 추운데요?.... 스프링을 사용하면서 외장서버를 연결하고, 환경설정도 복잡하며 핵심 서비스로직 이외에 처리 할 것이 많았음 아 모르겠고 서비스 로직만 구현하게 주세요 ㅠㅠ 스프링부트 - 내장된 서버 톰캣(쉬운 서버 설정), 디펜던시(환경설정)의 간소화, 라이브러리의 의존성 진행x 등등 우리 스프링이 달라졌어요 , 많은 복잡한 환경설정도 간단 명료 !! spring-boot-starter-paren.xml 에는 자바 버전(프로퍼티스), 또는 정보를 읽어 오기 위해 yml, 파일이나 proper.. 2023. 2. 9.
코드스테이츠 백엔드 부트캠프 43기 (35일차-스프링 부트) 스프링 부트 아키덱처(구조, 틀) - 스프링 프레임워크 REST API 기반 웹 애플리케이션 구조는 어떻게 될까? 먼저 클라이언트로 부터 요청이 오면 API 계층에에서 확인을 하여 요청에 맞는 서비스계층으로 들어가 서비스를 수행하고 마지막으로 데이터를 저장하기 위하여 데이터 액세스 게층으로 이루어진다. Spring framework 아키텍처 (지원하는 모듈) SpringBoot Spring vs SpringBoot 스프링 프레임워크는 기능이 많은만큼 환경설정이 복잡한 편이다. ( 사용자가 프로젝트를 셋팅하는데 시간이 너무 오래 거걸림) 이를 개선하기 위하여 나온 것이 바로 스프링 부트 -> 개발자는 비니지스 로직만 작성하면 됨 Spring Boot을 사용해야하는 현실적인 이유는 다음과 같습니다. XML .. 2023. 2. 3.