1. 자소서 자소서는 상대방이 읽기 좋은 자소서를 작성하는 것이 중요하다. 읽기 좋은 자소서는 구조화된 글이라고 볼 수 있는데, 예를 들어 기간, 주최, 기술 스택, 프로젝트 설명, 어필하고 싶은 부분의 내용이 잘 정리되어 있는 글을 말한다. 기간은 해당 기간동안 어떤 업무를 수행하게 되었는지, 왜 그러한 기간이 소요되었는지 어필할 수 있는 요소들과 함께 작성되면 좋다. 주최는 회사에서 진행하였는지 개인(사이드 프로젝트)이 진행하였는지 작성해볼 수 있다. 경력직의 경우는 사이드 프로젝트보다는 회사에서 진행한 프로젝트를 어필하는 것이 더 좋을 수 있다. 기술 스택은 욕심을 버리고 본인이 잘 이해하고 있는 기술 위주로 3가지 정도 키워드를 작성하는 것이 좋다. (ex. Java, Spring Boot, JP..
1. 헤로쿠(heroku) 배포 2 이전에 설정하던 clearDB는 개발에 사용하던 mysql 버전과 상이하기 때문에 mysql 8 버전을 지원하는 Jaws DB로 다시 설정해줘야 한다. 우선 헤로쿠에서 깃을 연결하고, 이전에 했던 내용들을 push 해준다. Heroku git:remote --app project-board-uno git push heroku main App > resouces에서 clear db를 삭제한다. Jaws db의 free plan을 선택하고, setting에서 config를 확인하여 yaml 파일에서 cleardb를 jawsdb_url로 변경해 준다. 변경 사항을 commit push & pull request를 한다. 자동으로 배포가 진행되는 설정을 했기 때문에 자동 빌드..
1. 깃헙 릴리즈 간단하게 프로젝트를 설명하는 README.md 문서를 작성한다. 릴리즈를 하기 위해서는 TAGS가 필요하다. 깃크라켄으로 이동하여 main 위치에서 우클릭을 통해 create tag here를 해준다. 태그의 이름은 v1.0으로 작성할 수 있다. (소프트웨어 버전 작성을 참고 할 수 있다.) 이후 깃헙 페이지에서 새로고침을 하면 우측에 1tags 가 보인다. 들어가보면 releases 탭이 보이고 이 페이지에서 create a new release가 가능하다. 태그를 선택하고, 제목과 내용을 작성한다. 내용은 spring boot release notes를 참고할 수 있다. 태그를 사용하면 빠르게 롤백도 가능하게 된다. 2. 헤로쿠(heroku) 배포 헤로쿠는 무료 클라우드 서비스이다...
1. 인증 기능 구현 2 (1) ArticlesService 수정 Delete 게시글을 삭제할 때(deleteArticle 메서드), 작성한 사용자가 아니라면 삭제할 수 없도록 수정한다. articleId 외에 userId를 받아 articleRepository.deleteByIdAndUserAccount_UserId() 메서드를 통해 삭제하게 한다. 해당 메서드는 ArticleRepository에 생성하면 된다. Update 글을 작성한 사용자의 정보와 수정하려는 인증된 사용자 userAccount 사용자의 정보가 동일한지 비교하고, 같을 때 업데이트를 수행하도록 한다. (2) ArticleController 수정 Delete deleteArticle 메서드에서 userId 정보를 추가해준다. 하지만 ..
1. 인증 기능 구현 1 (1) 구현 목표 인증 기능을 구현하여 인증이 필요한 영역에서 특정 유저만 특정 행동을 할 수 있도록 한다. 인증이 필요 없는 영역에는 루트 페이지, 게시판 페이지가 있고, 인증이 필요한 영역에는 게시글/댓글 페이지, 자신이 작성한 게시글/댓글 저장, 수정, 삭제가 있다. (2) SecurityConfig에 rule 추가 mvcMatchers 메서드 활용하여 룰을 추가한다. GET 이 요청되었을 때나 어떤 페이지들이 요청되었을 때 허용해 줄 것인지 설정할 수 있다. WebSecurityCustomizer 에서 web.ignoring 메서드를 활용하면 Spring Security의 감독 범위를 벗어나게 설정할 수 있다. (css나 js 등) 하지만 보안 공격에 취약해질 수 있기 때..
1. 게시글 댓글 구현 게시글 댓글을 구현하는 과정은 게시글을 구현하는 과정과 매우 유사함으로 게시글 구현 코드를 참고하면서 구현하면 된다. (1) 컨트롤러 구현 ArticleCommentController를 생성한다. ArticleCommentController는 ArticleController와 유사한 부분이 많기 때문에 비교하면서 참고하면 좋다. 게시글의 경우에는 새로운 페이지에서 글을 작성하였지만 댓글은 이동하지 않고 바로 작성할 수 있도록 하는 것이 다른 부분이다. 댓글을 삭제하는 것도 게시글을 삭제하는 메소드와 유사함으로 복붙을 해주고 article 대신 article comment가 되도록 comment가 추가되어야 할 부분을 수정을 해준다. 또한 도착 페이지가 게시글 페이지가 될 수 있도록..
1. 게시판 해시태그 검색 구현 (이어서) (1) 컨트롤러 구현 searchHashtag 메서드는 articles 메서드와 똑같지만 뷰만 다른 것이기 때문에 복사해서 붙여 넣어주고, searchArticles 메서드를 searchArticlesViaHashtag로 수정해 주면 된다. 그 외 해시태그를 추가해 주면 된다. (2) 뷰 구현 기본 index.html에서 필요한 부분만 수정하여 사용한다. 제목을 Hashtags로 넣어주고, 해시태그들을 모아 한번에 보여주는 화면을 구성한다. Search-hashtag.th.xml 파일도 마찬가지로 기존 articles를 보여주는 것과 유사하다. 다만 해시태그들을 한번에 보여주는 것만 추가해 준다. 이 부분은 thymeleaf 문법을 따른다. 시간이 난다면 thy..