# 스프링부트

[SpringBoot] 쿠키를 사용해서 게시글 조회수 구현하기
현재 작업하고 있는 블로그 프로젝트에 게시글 조회수를 볼 수 있는 기능이 있으면 좋을 것 같아서 구현을 시도해보았다.게시글 상세보기를 클릭할때 해당 게시물에 대한 조회수에 1을 더하는 방법을 시도해보았다. 위와 같이 구현하면 상세보기를 할때마다 조회수가 1씩 더해지므로
@ConfigurationProperties 사용법
.properties , .yml 파일에 있는 property를 자바 클래스에 값을 가져와서(바인딩) 사용할 수 있게 해주는 어노테이션Spring boot 에서는 운영에 필요한 설정(DB 정보, LOG설정 등등 )들을 .properties , .yml 에 써두고 관리한

스프링 API 비동기 논블로킹 방식 호출 (How to call API with async-nonblocking method)
초기 적재에 필요한 시간 비용 측정콘텐츠 개수 : 98,250이미지 개수 : 306,654콘텐츠 목록 조회 : 1번 조회시 최대 100건 (호출 당 5초 정도 소요) → 983(98,250 / 100)번 조회 필요 983(호출수) x 5(초) = 4915초 = 약 82

Swagger/Springdoc + SpringBoot 설정
졸업프로젝트를 진행하면서 공부한 내용 정리! 프로젝트를 진행하면서 swagger를 통해 api명세서를 만들기로 하였다! 이번에 swagger를 처음 사용해보아서 사용법보다 설정 측면?에서 버벅거린 느낌이 있었다. 그래서 그런 사람들이 있다면 이 글이 도움이 되었으

쿼리스트링(Query String)
쿼리스트링은 사용자가 입력 데이터를 전달하는 방법 중의 하나로, url 주소에 미리 협의된 데이터를 파라미터를 통해 넘기는 것을 말합니다.http://\~\~~/path?querystring위와 같이 쿼리 스트링은 URL에서 ? 다음에 오는 내용 입니다.쿼리스

@Controller
애플리케이션의 역할을 모델(Model), 뷰(View), 컨트롤러(controller)로 나누어, 이들 사이 상호작용을 통제하는 아키텍처 패턴입니다.스프링 프레임워크는 MVC패턴을 사용하고 있고, 이 패턴에서 Controller는 C에 해당하며, 화면(View)와 비즈

Spring Data JPA 벌크 연산 사용(soft delete)
이번 프로젝트를 사용하면서 데이터를 삭제하는 경우 soft delete 방법을 사용했다. soft delete를 사용하면서 데이터 삭제와 수정 시 벌크 연산을 많이 사용하게 됐다. 이번에는 어떻게 벌크 연산을 사용했고 어떤 어려운 점이 있었는지 정리해 보려고 한다.

[북스터디] 스프링 부트 핵심 가이드(ch6)를 공부해 보았다.(4편)ch6
주저리 이번 장의 주제는 데이터베이스 연동이었다. 잠깐 주저리를 하자면, 백엔드 개발자가 되기 위해서는 아래와 같은 로드맵을 따른다. 정말 많은 것들이 있는데 이중에 관계형 데이터베이스 중에 하나가 MariaDB이다. 백엔드 개발자가 되기 위해서 필수적으로 거쳐야
Todd개발일지 - 글쓰기
문제 이미지: (1) line-height 설정해주기(2) Enter 후에 <br><br>를 제거해주기 기존 css 파일 코드: line-height 를 지워준다note-editor .note-editable 에 line-height 를 100% 로 설정해주

Pageable를 사용하여 페이징 처리하기
스프링부트와 JPA를 사용하여 블로그를 만들면서 페이징 처리를 해보았다.Pageable를 사용하면 페이징 처리를 구현하는데 유용하다는 것을 알게 되었고, 어떤 속성을 가지고 있는지 확인해보기 위해 테스트를 하였다.페이지당 글의 개수를 3개, Board의 id를 기준으로

[모니터링] 프로메테우스 적용
Prometheus는 SoundCloud 사에서 만든 오픈소스 시스템 모니터링 및 경고 툴이다.많은 회사에서 사용 중이며 활발한 커뮤니티가 있다. 현재는 독립 오픈 소스 프로젝트이며 어떤 회사와도 독립적이다.Prometheus는 측정 항목을 time series dat

Nginx SpringBoot Https 적용 [3] (스프링부트 Tomcat Https 설정)
운영체제는 RedHat 기반의 RockyLinux 9.1을 사용했습니다.https://taewooblog.tistory.com/entry/spring-boot-https-적용하기-Lets-Encrypthttps://notes.harues.com/pos

라이브러리와 프레임워크
개발에 필요한 것들을 미리 구현해놓은 도구라고 할 수 있다. 미리 구현해놓고, 필요한 곳에서 호출하여 사용 가능하도록 만들어진 집합이다.개발자가 개발을 쉽게 할 수 있도록 뼈대를 제공해준다고 생각하면 쉽다.라이브러리와 프레임워크는 애플리케이션을 개발하는데 있어 쉽고 빠

[Springboot] "Could not create query for public abstract java.util.Optional " 오류 수정
업로드중..

Nginx SpringBoot Https 적용 [2] (Nginx Https 설정)
운영체제는 RedHat 기반의 RockyLinux 9.1을 사용했습니다.기본적으로 80포트는 개방되어 있어야합니다.// 80포트 개방firewall-cmd --permanent --zone=public --add-port=80/tcp//방화벽 재가동firewall-cm

Nginx SpringBoot Https 적용 [1] (도메인 발급과 ddns 설정)
프로젝트를 진행하면서 비밀번호 암호화를 제외하면 보안에는 크게 신경 쓰지 못했는데 학교에서 정보 보안 수업을 듣다 보니 점점 심각성이 느껴져서 기본적인 것부터 하나하나 해보려고 한다. 더 안전하고 단단한 나의 소중한 서버를 위해ㅎㅎhttps://www.duck

JPA 무한참조 방지하기
스프링부트로 블로그를 구현하는데 필요한 user 테이블, board 테이블, reply 테이블을 jpa로 생성하였다.위와 같이 코드를 작성하였을 때 무한참조 현상이 발생한다. Board와 Reply는 참조하는 대상이 서로 물려 있기 때문이다.특정 id의 Board를 반