https://www.azul.com/downloads/?package=jdk압축 파일을 해제한 후에 제어판에 있는 시스템 환경 변수 편집에서 환경 변수를 바꿔준다.JAVA_HOME이라는 환경변수가 있다면 변경을 해주고 없다면 새로 만든 후 변수 값에 압축 해
1. 프로젝트 설정 start.spring.io에서 프로젝트 설정을 해준다. 2. git 설치 git을 설치한 후에 IntelliJ VCS 메뉴에서 git을 연동한다. 버전 관리가 되지 않은 파일들을 선택한 후에 커밋한다. git에 로그인 한 후 리포지토리를 만들어주
MariaDB 다운로드 HeidiSQl을 실행한다. 왼쪽 하단에 있는 신규 버튼을 누르고 세션 이름을 설정해준다. 저장 후 열기를 눌러주면 아래와 같은 창이 나온다. mydb라는 이름의 새로운 데이터베이스를 생성해준다. 데이터베이스 생성 후 사용자 아이콘을 새로운
BoardAPIController class를 생성해줍니다.Spring.io에서 가져온 코드를 붙여넣고 수정해줍니다.가져온 코드의 변수명을 쉽게 바꾸기 위해서 Ctrl + r 키를 눌러서 Match Case 기능을 사용해줍니다.처음 GetMapping은 게시판 정보를
페이지 UI 만들기 bootstrap(pagination /overview)에 있는 코드를 가져와 테이블과 쓰기 버튼 사이에 붙여 넣어줍니다. 페이지 기능 만들기 Spring.io 에서 project -> Spring Data JPA에 들어가서 아래 코드를 활용 해줍
Security 의존성 추가 pom.xml에 의존성을 추가해줍니다. .authorizeHttpRequests .requestMatchers("/", "/home").permitAll() ()안에 URL은 로그인 없이 누구나 접근이 가능합니다. .anyReques
먼저 관계를 설정하기전에 th:replae 문법이 권장되지 않기 때문에 th:insert로 바꿔주겠습니다. list.html form.html index.html 저번에 사용자와 권한을 @ManyToMany로 연결을 해봤습니다. 이번에는 게시글과 작성자 관계 @
Fetch Type은 하나의 Entity를 조회할 때 연관관계에 있는 객체를 어떻게 가져올지 설정을 하는 것입니다.Fetch Type을 설정할 때는 Eager와 Lazy 중에서 선택을 할 수 있습니다.Eager로 설정을 하면 연관관계에 있는 Entity를 미리 다 가져
현재 게시판에는 삭제 버튼이 없습니다. 게시글을 아무나 삭제하면 안 되기 때문에 사용자 권한에 따라서 삭제할 수 있게 코드를 작성해줍니다.role 테이블에 ROLE_ADMIN을 추가해줍니다.user_role 테이블에 사용자와 ADMIN 권한을 매핑해줍니다.ADMIN 권
@Query 지금까지는 findByUsername처럼 JPA에 예약된 키워드를 이용해서 데이터를 가져왔습니다. 하지만 좀 더 복잡한 상황에서는 직접 쿼리를 작성해서 데이터를 가져와야 합니다. 직접 쿼리를 작성하기 위해서는 @Query를 사용해줘야 합니다. 이 코드를
삭제 기능 오류 수정 common.html footer를 수정해줍니다. JavaScript와 JQuery를 사용할 수 있게해줍니다. script 부분 수정 "게시글을 삭제하시겠습니까?" 부분에서 확인을 누르면 삭제됐습니다 창이 나오고 게시글은 삭제 후 게시글 li
게시글 조회 기능 변경 현재 게시글을 조회하기 위해서는 게시판에 있는 게시글의 제목 부분을 클릭해야지 해당 게시글을 확인할 수 있었습니다. 지금 상태에서는 정확한 클릭을 요구하기 때문에 사용자 입장에서는 조금 불편할 수 있기 때문에 해당 게시글 제목이 아니라 그 게시글
게시글 수정 버튼 추가 읽기 전용으로 사용할 post.html을 생성해줍니다. 제목과 내용 입력칸은 readonly를 사용하여 클릭도 할 수 없게 막아줍니다. 수정 버튼도 전에 form.thml에서 사용했던 것과 같이 게시글 작성자와 로그인한 사용자가 일치하거나 AD
첨부파일 업로드 서버에 파일이 올라갈 수 있게 static 폴더 하위에 files 디렉토리를 생성해줍니다. file_data 테이블 생성 form.html에 파일 업로드를 위한 코드 추가 > enctype="multipart/form-data"는 파일을 전송할 때
Service와 Repository 분리 확장성과, 단일 책임 원칙을 준수하기 위해 Service와 Repository를 분리해줍니다. BoardRepository BoardService UserRepository UserService 게시판 순서 날짜 내림차
댓글을 작성하는 API를 호출할 때 페이지 전체가 새로고침 되지 않도록 AJAX를 사용하여 비동기적으로 댓글을 작성하는 기능을 구현해야 합니다. DB 테이블 추가 작성된 댓글을 저장할 테이블을 추가해줍니다. Entity 생성 Comment Repository 생
댓글 기능을 수정하기 전에 먼저 코드 전체적인 부분을 수정해줍니다. @Autowired에서 private final로 교체 priavte final 즉 생성자 주입 방식으로 교체를 하면 생성자가 필요합니다. 기존에 사용하던 @Autowired 대신에 아래 코드처럼 사
id, password 조건 수정 id는 6글자 이상, password는 알파벳 소문자 + 숫자 + 특수문자를 합쳐서 8글자 이상 작성해야지 회원가입을 할 수 있게 수정해줍니다. AccountController 수정 이 정규식은 알파벳 소문자 한 개 이상, 숫자 한
AWS EC2 생성 리전 위치를 서울로 변경해줍니다. 서비스에서 ec2를 검색한 후 클릭해줍니다. 인스턴스 시작을 클릭합니다. 이름을 설정해줍니다. ![](https://velog.
파일 다운로드 문제 수정 현재 파일을 업로드하는 경우 프로젝트의 resource/static/files 디렉터리에 파일이 저장되어 다른 컴퓨터에서 파일을 다운로드 하지 못하는 문제가 발생합니다. 이 문제를 해결하기 위해서 파일을 업로드하는 위치와 다운로드하는 위치를 바
관리자 권한 작동하는지 확인하기 123456 계정 권한을 관리자로 변경해줍니다. 수정 권한 변경 다른 사용자 글을 수정은 못하지만 삭제는 가능하게 코드를 수정해줍니다. admin 사용자에게도 수정 버튼이 안 보이게 수정해줍니다. 메소드 수준에서도 작성자만 게
HTTPS, 도메인 연결 컴퓨터를 꺼둬도 24시간 배포 로그인 api 날씨 api 비밀번호 대문자 추가
24시간 배포 nohup java -jar jar파일 & 명령어를 이용하여 백그라운드로 서버를 배포해줍니다. 앞에 nohup을 붙이지 않으면 사용자가 로그아웃시 프로그램이 종료됩니다 백그라운드에서 서버를 배포하게 되면 컴퓨터 전원을 꺼도 ec2 클라우드 서비스를 이용