SPRING
[스프링] 회원 프로필사진 수정 , 등록
이번에 구현할 것은 회원 프로필사진 등록, 및 수정이다. 미뤄왔던 회원 프로필 사진을 드디어 해결했다. 먼저 , 게시판에 사진 등 첨부파일을 등록할 때에는 파일테이블에 게시글PR 이나 파일의 오리지널 NAME 등, 몇가지의 컬럼이 들어가는데, 회원 프로필 사진은 회원테이블에 오직 로컬에 저장 된 파일명 (저장NAME) 만 저장하면 된다. 그래서 기존에 List> 으로 넣어주던 방식에서 String으로 리턴타입을 지정해 , 간단하게 구현했다. [스프링]게시판 첨부파일 업로드 구현 설명(insert) (1) :: 간편 웹프로그래밍 (tistory.com) [스프링]게시판 첨부파일 업로드 구현 설명(insert) (1) 오라클,스프링프레임워크 기준입니다. 먼저 파일추가에 필요한 테이블을 추가해준다. CREAT..
[스프링] 마이페이지 구현 - 회원 활동로그와 작성한 게시글,댓글,스크랩 목록
이번엔 마이페이지로 이동해서 , 그곳에서 회원 활동로그와 작성한 게시글,댓글,스크랩 목록을 볼 수 있도록 구현했다. OKKY 사이트처럼 다른사람도 그 정보를 닉네임을 클릭하는 등의 행위를 통해서 볼 수 있도록 만들었다. 다른 커뮤니티처럼 내 정보는 따로 검색을 하거나 등을 제외하면 나만 볼 수 있도록 할까... 생각을 했지만 IT커뮤니티이니 만큼 (?) 이상한 짓을 못하도록 그냥 모든 정보를 회원들이 서로 볼 수 있도록 만들었다. 실제로 나도 OKKY 커뮤니티를 사용하면서 다른 커뮤니티들과 다른 그런 정보공개?가 처음에는 낯설었지만 꽤나 괜찮다는 생각을 받기도 했다. 단, 너무 행동에 조심하게? 되는 부분에 대해 게시글과 댓글을 삭제하면 활동로그가 아예 삭제되도록 구현해서 해당 부분을 보완했다. 일단 해..
[스프링]게시판 스크랩기능 구현
이번엔 스크랩 기능을 구현했다. 먼저, 마이페이지에서 내 활동로그와 스크랩한 게시글을 볼 수 있도록 만들었는데 그 전에 스크랩 기능을 먼저 구현했다. 스크랩의 정보를 저장할 테이블을 생성하고 , 게시글PR , 회원PR과 DATE를 저장한다. create table MP_SCRAP ( SCRAPNO number not null, MEMBER_ID varchar2(50) not null, BNO number not null, SCRAPDATE date default sysdate, constraint scrap_pk PRIMARY key (SCRAPNO), constraint scrap_fk FOREIGN key (MEMBER_ID) references MP_MEMBER(MEMBER_ID) on delete..
[스프링] 질문 채택 기능 구현 (Like 지식 IN)
이번엔 질문 채택기능을 구현했다. 우선 , 지금 하고 있는 커뮤니티 프로젝트는 일반 카테고리 글작성, 추천 등으로 받을 수 있는 회원 포인트와, Q&A 답변 , Tech카테고리 게시글 작성 , Q&A와 Tech카테고리에서만 받을 수 있는 DEV라는 포인트가 있다. 하트가 추천 포인트, 번개가 DEV 포인트 이다. 각 회원별로 포인트를 가지며 , 해당 구현은 전 글에 작성하였다. 작성자 옆에 보이는 것이 이번에 구현한 채택기능인데, Q&A 카테고리의 채택전(dev포인트) , 채택 후 (v체크) , 다른카테고리라 채택기능이 없는 게시글 목록이다. 글 작성자는 Q&A글을 작성할때 , 자신의 추천포인트를 소비해서 지식in처럼 내공을 걸 수 있다. Q&A카테고리의 댓글엔 글 작성자만 채택버튼이 보이며, 채택버튼을..
[스프링] 댓글 좋아요/싫어요 구현 - (Ajax)
[스프링] 추천기능 구현 (OKKY사이트 추천기능 참고) :: 간편 웹프로그래밍 (tistory.com) [스프링] 추천기능 구현 (OKKY사이트 추천기능 참고) 이번엔 추천기능을 구현해보았다. OKKY사이트처럼 추천을 하면 게시글에 추천수가 오르고, 게시글을 올린 회원의 추천 수가 올라가게 구현했다. ajax도 사용해봤는데, 추천수를 카운트하는 부분 kimfk567.tistory.com 저번 글에서 게시글 추천 기능을 구현했었다. 이번엔 댓글에 비동기 방식으로 추천기능을 구현해보려고 한다. 댓글에 좋아요/싫어요를 누르면 OKKY사이트 처럼 해당 회원의 포인트에 영향을 미치고, 좋아요와 싫어요를 따로 구분한다. 좋아요/싫어요가 반영되는 memberPoint 라는 컬럼 외에, 네이버 지식in의 내공시스템처..
[스프링] 게시판 이전글 다음글 읽은 글 표시
기능 설명 사진 이전글 다음글 기능 이전글을 눌러서 이전글로 이동 , 이미 읽은 글인 다음글이 읽음 표시됨 해당 기능은 이미 구현한 기능들에 덧붙인 기능이기 때문에, 이 전글들을 참고하길 바랍니다. [스프링]게시판 이전글 다음글 구현 :: 간편 웹프로그래밍 (tistory.com)
[스프링]게시판 읽은 글 표시
이번엔 게시판에서, 회원마다 읽은 글을 목록에 표시해주는 기능 을 구현했다. join을 이용해서 구현했는데, 마침 조인쿼리는 경험이 적어서 많이 헤맸다. 특히, 익숙하지 않은 조인쿼리를 mybatis에서, 그것도 페이징 , 검색 , 조건부 정렬, 카테고리구분 의 기능이 적용되어있는 복잡한(내 기준 ㅜ) 게시글 목록 select문에 적용시키느라 쉽지 않았다. 적용시키려고 뷰,컨트롤러,VO,Mapper 등등 여기저기 다 건드리고, 디벨로퍼에서 수십번씩 쿼리를 써보고, 수많은 시행착오 끝에 결과적으로 조인쿼리에 대해 많이 알게됐다. 역시 직접 구르는게 최ㄱ.. Join은 실제로 많이 사용하는 쿼리라고 하니 참 좋은 경험이였던 것 같다. 코드설명에 앞서, 먼저 로직을 간단하게 설명해보면 회원의 읽은 목록을 저장..
[스프링] 공지사항 구현
설명에 앞서, 이번 게시판 프로젝트는 여러 개의 테이블로 카테고리를 나누지 않고, 한 개의 테이블에 bgno라는 number 컬럼으로 카테고리를 나누었다, 게시글목록 쿼리에 where bgno = #{bgno} 를 추가해서 게시글을 카테고리 별로 나눠 출력하고, bgno가 0일때는 해당 where문을 없애서 ( if문) ALL 카테고리를 만들었다. [스프링] 다중 게시판 구현 (CRUD) :: 간편 웹프로그래밍 (tistory.com) [스프링] 다중 게시판 구현 (CRUD) 이번엔 다중 게시판을 구현해보려고 한다. 순서는 먼저 게시판테이블에 BGNO 라는 게시판 구분용 속성을 추가한다. 게시판 테이블은 여러개 만들지 않고, 하나의 테이블을 사용하는 방식으로 구 kimfk567.tistory.com 현재..
[스프링] 추천기능 구현 (OKKY사이트 추천기능 참고)
이번엔 추천기능을 구현해보았다. OKKY사이트처럼 추천을 하면 게시글에 추천수가 오르고, 게시글을 올린 회원의 추천 수가 올라가게 구현했다. ajax도 사용해봤는데, 추천수를 카운트하는 부분을 따로 비동기방식으로 구현하기에는 이미 동기방식으로 구현해놓아서 필요성을 느끼지 못했다. 코드도 복잡해질테고.. 그래서 중복방지기능만에 비동기방식을 사용하고, reload로 페이지를 새로고침해서 추천수를 갱신되게 구현했다. 현재 만들고 있는 게시판 프로젝트는 추천수를 기준으로 여러 혜택을 줄 수 있는 기능을 생각하고 있기 때문에, 추천수를 기준으로 정렬는 기준은 물론, 추천을 받은 기간을 나누기 위해서 date 타입의 컬럼도 넣어줬다. 구현한 기능은 추천버튼을 누르면 추천, 다시 누르면 추천취소 회원마다 게시글별 1..
[스프링] 회원정보수정 - 회원탈퇴 (ajax)
이번엔 회원탈퇴이다. [스프링] 회원정보수정 - 비밀번호 (ajax) :: 간편 웹프로그래밍 (tistory.com) [스프링] 회원정보수정 - 비밀번호 (ajax) 저번 글에서 회원 정보 수정 아이디와 이메일을 구현했다. 비밀번호도 세션값의 계정ID를 통해 ajax로 유효성검사를 한다. 회원가입시 비밀번호는 암호화되서 DB에 저장되기 때문에, 암호화 된 비 kimfk567.tistory.com 이전에 작성한 로직과 아주 비슷하다. 전글에서 만들어놓은 비밀번호 유효성검사를 그대로 사용하며, update와 delete 쿼리의 차이, 프론트에서 약간의 차이만 있을뿐 동일한 로직을 사용해서 설명은 간단하게 생략하도록 하겠다. Mapper.xml delete from MP_MEMBER WHERE MEMBER_I..