본문 바로가기

편안한코딩생활

(8)
스프링부트 한글 깨짐 오류(jpa data utf-8 encoding) 목차 이 글은 개인프로젝트 - 스프링부트 with JPA로 jostory 프로젝트의 게시글 쓰기를 하다가 발생한 오류를 기록한 글이다. 오류 글쓰기를 하면 모든 한글이 다 이렇게 나옴(+나중에 보니 회원가입할때도 똑같이 한글 깨지더라) 원인 추론 1. summer note 관련 오류인가? 이유 : 딱 그거 추가했을때부터 안되서 라이브러리 끄고 시도해봄 결과 : 아님 2. db에 인코딩이 안됬나? utf-8로 잘되있었지만 혹시 몰라서 변경 후 다시 시도 강제로 데이터를 넣었더니 한글이 아주 잘보임... db는 문제없음 3. 파일 인코딩 검색했더니 저 부분을 utf-8로 바꿔보란다..했는데 안됨 4.yml 파일 수정 server.servlet.encoding.force-response: true 추가하기 부..
xss, csrf공격이란? 1. xss 공격자의 Javascript 코드를 입력해놓으면 실제 사용자가 동적인 웹 페이지를 클릭하거나 열람할 때 페이지에 의도하지 않은 악성 스크립트가 실행되는 공격 방식 중 하나 게시판 글 작성시 script를 작성하면 , 저 글이 열리면 alert 가 5만번 작동해서 사이트 고장 => 네이버 제공 오픈소스 : lucy 필터 등으로 스크립트 작성 못하게 거를 수 있음 2.csrf 공격 CSRF란 사이트 간 요청 위조 (Cross-site request forgery)의 줄임말로 사용자가 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하는 공격을 의미. 차이점: XSS 공격은 javascript로 클라이언트에서 발생. CSRF 공격은 서버로의 공격. 하이퍼 링크 속에 관리자만 접속할 수..
@Builder 패턴이 뭔데? 롬복에 있는 어노테이션 중 @Builder가 있다 우리가 객체를 이용해서 값을 세팅할때. id 같은 경우 내가 직접 입력하지 않고 시퀀스 등을 통해서 증가 시키려면 그 id만 비우고 다른 값을 세팅하기 위해서 생성자를 새로 만들어야 한다 하지만 이렇게 생성자에 Builder를 달아주면? member(1,"123","user") 이런식으로 값을 바로 세팅하지 않고 .builder()를 붙인 후 원하는 값을 계속 붙이고 .build로 마무리해준다. builder패턴 사용시 장점 필드에 들어가는 값 순서 안지켜도 됨(원래는 vo 보면서 String인지, 순서는 뭔지 확인해야하니까 오류가 잘 남) 원하는 값만 골라 넣을 수 있음(생성자 안만들어도!)
http 1.1 체험하기 1. POSTMAN 설치 https://www.postman.com/downloads/ Postman | The Collaboration Platform for API Development Simplify workflows and create better APIs – faster – with Postman, a collaboration platform for API development. www.postman.com 2. HTTP1.1 get post delete put 그런데 여기서 요청을 할때, 어떤 데이터를 처리해줘야하는지 서버에서 어떻게 알까? get방식일때 쓰는게 쿼리스트링, 어떤걸 달라고 붙여서 보내기만 하면 되니까 근데 요청하는 데이터가 저렇게 여러가지라면? 이때 필요한게 바로 MIME TY..
깃 레포지토리 하나에 여러 프로젝트 올리기 코드 백업~ git clone 부모 리포지토리 주소 cd 부모 리포지토리 이름 git subtree add --prefix-폴더 이름 자식 리포지토리 주소 branch 이름 git commit -m "커밋 메시지" git push origin main git clone https://github.com/jjjooosss/egov_practice.git cd egov_practice git subtree add --prefix=egov_test_emp https://github.com/jjjooosss/test1.git master git commit -m "initial commit" git push origin main https://allmana.tistory.com/168 이클립스 프로젝트 GitHub에 올리기..
페이징 순서대로 정렬 시 주의할 점(rownum 과 order by) 페이징 쿼리를 이렇게 작성하고, order by를 어느 위치에 끼워도 그 페이지 안에서 순서만 바뀔 뿐 전체 페이지가 순서대로 정렬되지 않는 오류가 발생했다 ROWNUM : 조회된 순서대로 순번을 매기는 고유 변수 ORDER BY : 데이터 정렬 시 사용되는 기능 유의점은 ORDER BY로 데이터 정렬이 되기 전에, ROWNUM이 매겨진다는 것 https://ajdahrdl.tistory.com/23 => 참고 블로그 그러므로 select * from ( select rownum rn, temp.* from (select review_id, products_id, review_writter, review_title, review_content, review_star, review_img, review_d..
타임리프 문법관련 오류(RFC 7230 and RFC 3986) https://developer-rooney.tistory.com/181 [Thymeleaf] 타임리프 a태그 링크 작성 방법 타임리프에서 a태그를 작성할 때는 th:href="@{}" 을 이용하여 작성합니다. 글 상세보기 게시글 리스트 글 상세보기 글 상세보기 글 상세보기 developer-rooney.tistory.com HTTP Status 400 – Bad Request Type Exception Report Message Invalid character found in the request target [/review/delete?reviewId=${content_view.reviewId} ]. The valid characters are defined in RFC 7230 and RFC 398..
xml 경로 설정 오류 xml이 바인딩이 안되는 오류 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.project_machimo.review.dao.ReviewDao.list 인텔리제이의 디렉터리를 만들때 위처럼 mapper/review라고 했어야 했는데 패키지처럼 mapper.review로 만드는 바람에 계속 저 오류가 떴었다.. db에서 스네이크 표기법을 한 후 자바 dto변수에서도 스네이크를 했는데, 자바 변수에 롬복으로 @DATA를 달면 자동으로 get+카멜표기법의 변수이름 이 되서 오류가 난줄 알고, 그걸 수정하고 있었다.,, 스프링 부트가 스프링보다 훨씬 쉽다길래 금방 적응할 수 있을 줄 알았는데 ..