전체 글 171

8. Jackson이란 무엇일까?

Jackson: JSON 데이터 구조를 처리해주는 라이브러리Object를 JSON 타입의 String으로 변환해줄 수 있습니다.JSON 타입의 String을 Object로 변환해줄 수 있습니다.Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해주고 있습니다.SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공하고 있습니다.직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있습니다.   Object to JSON:objectMapper.writeValueAsString()@Test@DisplayN..

7. 데이터를 Client에 반환하는 방법

https://tes1194.tistory.com/89 에 이어서....  서버는 요청을 받아 html/css/js 파일을 반환해주는게 주 업무일까요?  최근에는 서버가 직접 뷰(html/css/js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호합니다. ` 특정한 정보 ` 의 형태: Json    JSON 데이터 반환하는 방법템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html 파일을 찾아서 반환해줍니다.따라서 html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 애너테이션을 추가해줘야합니다.@RestController  = @Control..

6. Controller - 정적, 동적 페이지 처리

@Controller는 해당 클래스가 Controller의 역할을 수행할 수 있도록 등록해줄 수 있습니다. 위 그림의 번호와 맵핑하여 설명하겠습니다. 1. Controller를 거치지 않고 바로 요청: SpringBoot 서버에 html 파일을 바로 요청하면 해당 html 파일을 static 폴더에서 찾아서 반환해 줍니다.    2. thymeleaf 주석 처리: Controller를 통해서 반환하는 것을 테스트 하려면,  implementation 'org.springframework.boot:spring-boot-starter-thymeleaf’ 해당 dependency를 주석 처리해야 테스트가 가능합니다.thymeleaf 는 동적 페이지 처리를 위한 템플릿 엔진입니다. 추가하면 자동으로 Contro..

5. Spring MVC란 무엇일까?

MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다.    Model데이터와 비즈니스 로직을 담당합니다.데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다.View사용자 인터페이스를 담당합니다.사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다.Controller Model과 View 사이의 상호작용을 조정하고 제어합니다.사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다.Servlet API를 기반으로 구축된 독창적인 웹 프레임워크로, 초기 버전부터 Spring Framewo..

Spring boot 에서 이메일 인증 구현하기 (googleEmail) - Bean 만들어서 주입하기

1. 의존성 추가 및 properties 설정 dependencies// 이메일 인증implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '3.0.5'  propertiesspring.mail.host=smtp.gmail.comspring.mail.port=587spring.mail.username={email}spring.mail.password={password}spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=falsespring.mail.properties.mail.smtp...

백엔드 개발 첫 팀프로젝트 회고.....

주절 주절....  더보기강의에서 배우지 않은 기능을 구글링을 통해 구현하는 과정이 어려웠습니다. 튜터님을 일찍 조금 더 찾아뵙거나 팀원들과 공유하며 해결해 나갔다면 더 좋은 결과가 있었을 것 같습니다. 제가 맡은 파트에 대한 책임감을 갖고 최대한 스스로 해결하고자 했습니다. 다른 팀원 분들도 다른 기능을 구현하고 계시니 방해될 것 같다는 우려에 제 상황에 대한 공유가 미흡했습니다. 시간이 지날수록 처음에 다 같이 설계했던 기능들을 팀으로서 구현하지 못하게 됐습니다. 구현하지 못한 기능으로는 게시글이나 댓글의 좋아요-추천 기능, 게시글과 프로필에 사진 추가 기능 등이 있습니다. 다음 프로젝트가 위와 같은 기능을 넣기 적절하다면 구현해보고 싶습니다. 그래도 !! 나의 힘 + 구글링 + 튜터님의 도움으로 이..

기타 2024.10.24

Spring boot 에서 이메일 인증 구현하기 (googleEmail) - JavaMailSender 자동 주입

https://tes1194.tistory.com/100 기본적인 설정은 위 링크에서 확인해주세요.   자바17에서 JavaMailSender 를 제공하고 있습니다. 의존성을 추가해주었으니 스프링에서 자동으로 빈 등록을 해주어 간편하게 서버에서 이메일을 보낼 수 있습니다.@Service@RequiredArgsConstructorpublic class EmailService { private final JavaMailSender mailSender;}   네..... 사실 스프링에 빈이 등록되어 있고 자동으로 주입받고 있으니 위 포스팅에서 한 것처럼 EmailConfig를 만들어 수동(?) 주입해줄 필요는 없습니다. 다만 저는 아래 사진과 같이 인텔리제이에서 빈을 인식하지 못해  방법을 찾아 수동 주..

ResponseEntity란 무엇일까?

ResponseEntity HTTP 요청에 대한 응답을 제어하는 데 사용되는 클래스.    ResponseEntity는 Status, Headers, Body를 필드로 갖습니다. 이를 통해 세밀하게 응답을 관리할 수 있습니다. Body를 필드로 가지고 있기 때문에 @RestController 또는 @RequestBody와 함께 사용됩니다.  ResponseEntity responseEntity = new ResponseEntity(body, headers, status); T: Response Body의 타입body: 객체, String, List, Map 등headers: HTTP Headerstatus: HTTP Response Status Code   ResponseEntity가 생겨난 이유 일반적..

깃허브에 올라간 commit 내역 삭제(수정)하기 - IntelliJ 사용자를 위한

제가 팀 프로젝트를 하면서 gitignore 사용법에 익숙하지 않아  제 commit 이력에 민감 정보 + 개인 정보가 들어가게 되었습니다. 이번 포스팅에서는 '깃허브에 올라간 commit 내역 삭제(수정)하는 방법'에 대해 알아보겠습니다. 다시 하지 않겠다는 뜻(뻘짓)을 담아짓1, 2, 3 이라 이름 지어 push 해보았습니다.   이미 깃허브에 올라간 뻘-짓 1, 2, 3을 없애는 방법   1. 인텔리제이로 돌아가서 git 로그를 확인한다. - 좌측 하단   2. init commit에서 우클릭하여 짓 1, 2, 3 을 Reset Current Branch to Here   3. 로컬에 저장된 코드를 유지하기 위해 mixed로 선택 후 RESET   4. 새로운 commit 후 **터미널에서 강제 푸..

git, github 2024.10.23