본문 바로가기

ToyProject11

스프링 게시판 만들기 - 8 (2) (소셜 로그인 [구글,네이버,카카오,페이스북] ) 스프링 게시판 만들기 - 8 (1) 편과 이어지는 내용입니다. 각각의 개발자 센터에 들어가서 클라이언트 Id 와 비밀번호를 받았다는 가정하에 진행합니다! 구글 CustomOAuth2MemberService.java package toyproject.board.config.auth; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org... 2022. 8. 2.
스프링 게시판 만들기 - 8 (1) (소셜 로그인 [구글,네이버,카카오,페이스북] ) 이번에는 최근 여러 웹사이트에서 흔히 볼 수 있는 소셜 로그인을 구현해 볼까 한다. 게시판 기능을 좀 더 많이 구현해보고 이쁘게 꾸미고, 코드 리팩토링도 해보고.. 하려고 했는데 현재 진행중인 한이음 대외활동에서 소셜 로그인을 이용해서 구현을 해보고자 했기에 우선 토이프로젝트로 진행중이였던 게시판에서 구현을 해보고 대외활동 프로젝트에 적용해보려 한다!.. 각 소셜 서비스 등록 소셜 로그인을 구현하기 위해서는 각 플랫폼마다 존재하는 OAuth 서비스를 이용해서 등록해야 한다! 구글 새로운 프로젝트를 하나 만들고, OAuth 동의 화면으로 이동해서 외부를 선택해준다. 위의 정보를 작성하고, 하단에 개발자 연락처를 추가하고 다음으로 넘어간다. 범위 추가 또는 삭제 클릭 -> 상위 두개를 선택 후 업데이트 버튼.. 2022. 8. 1.
스프링 게시판 만들기 - 7 (2) (동시성 feat.ThreadLocal) 한동안 손을 떼고 있던 토이프로젝트(게시판 만들기)를 간간히 봐주시는 분들이 계시는데 조회수 관련해서 동시성은 고려하신거냐고 묻는 댓글을 보고 음.. 동시성?.. 바로 이전 학기에 네트워크프로그래밍과 운영체제를 들어서 아 동기화 문제구나 하고 깨닫고 답글을 달아드리려 하는데 명확히 답할수가 없어서(& 잘못된 답변을 달아드려서) 해당 부분에 대해서 정리해보고자 한다. 동시성 동시성 문제란 멀티 쓰레드 환경에서 나타나는 문제이다. 예를 들면, 내가 1번 게시글을 조회한다고 할 때 싱글 스레드라면 문제되지 않는다. 하나의 스레드에서 작업이 끝난 후에야 다음 작업이 실행되기 때문에 조회수가 정확하게 계산될 것이다. 반면, 멀티 쓰레드 환경이라면 문제가 생길 수 있다. A 게시글은 100 의 조회수를 갖고 있다고.. 2022. 7. 13.
스프링 게시판 만들기 - 7 (1) (조회수, 댓글 작성) 이전 스프링 게시판 만들기 - 6 에서 페이징 처리와 검색을 구현해보았다. 이번에는 간단하게 조회수를 올리는 기능과, 댓글 기능 을 구현해보려 한다. https://dodokong.tistory.com/54 스프링 게시판 만들기 - 6 (게시판 구현 & 페이징 처리 & 검색) 지금까지의 포스팅에서는 Bootstrap 을 이용해서 화면을 만드는 법과, Spring Security 를 이용해서 로그인을 구현해보았습니다. 이번 포스팅에서는 게시판을 구현해보려 합니다. 게시판도 동일하게 Bo dodokong.tistory.com 조회수 증가 Board 도메인은 다음과 같다. 처음 설계에서는 countVisit 이 없었는데 조회수 기능을 넣기 위해 Long 타입으로 추가하였다. int, long 이 아닌 Long.. 2022. 4. 4.
스프링 게시판 만들기 - 6 (게시판 구현 & 페이징 처리 & 검색) 지금까지의 포스팅에서는 Bootstrap 을 이용해서 화면을 만드는 법과, Spring Security 를 이용해서 로그인을 구현해보았습니다. 이번 포스팅에서는 게시판을 구현해보려 합니다. 게시판도 동일하게 Bootstrap 을 이용해서 UI 를 그리고, JPA 를 이용해서 페이징 처리를 하려 합니다. HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 7.. 2022. 3. 31.
스프링 게시판 만들기 - 5 (2) ( 로그인 처리 feat.스프링 시큐리티) 이전 스프링 게시판 만들기 - 5 (1) 에서 스프링 시큐리티란 무엇인가와 설정 파일에 대해 대략적으로 개념을 알아보았다. 그렇다면 이번에는 스프링 시큐리티를 이용하여 로그인을 간단히 구현해보자. 코드 구현 ** 폴더 구조 변경 /config/SecurityConfig package toyproject.board.config; import lombok.AllArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authenticatio.. 2022. 1. 22.