| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Get
- 예매로직
- Bootstrap
- ajax
- sessionStorage
- spread operator
- html
- javascript
- AWS Route53
- mongodb
- 인생이재밌다
- post
- terminationGracePeriodSeconds
- 영화예매
- ES6
- topologySpreadConstraints
- spring
- zombie-hit apartment
- AWS
- git
- json
- AWS RDS
- mysql
- chartjs
- Java
- node.js
- Kubernetes
- ssh
- jsp
- MySQL Error
- Today
- Total
목록Spring legacy (13)
jongviet
*7월4일 -기본적으로 배운 transaction의 개념에 대해 포스팅해보자. *Transaction? -transaction이란, DB의 상태를 변화 시키는 작업의 단위를 말함. 즉, client 단에서 넘어오는 많은 종류의 requests를 개발자가 정하는 기준에 따라 @transactional로 묶은 것을 말함. 가장 기본적으로 client 측에서 특정 게시물에 댓글을 달면 해당 댓글이 포함된 리스트가 출력되게 되는데, 이게 insert & select가 혼합된 하나의 transaction이라고 볼 수 있음. -하나의 transaction은 묶음 단위로 '전부다 반영 되거나 아니면 전부다 반영되지 않는 것' 이라고 생각하면 편하다. 예를 들어 특정 게시물에 댓글을 달면, 해당 게시물의 댓글 수가 증..
*7월1일 -가장 기본적인 paging 로직에 대해 알아보자! 1)PageVO public class PageVO { private String range; private String keyword; private int pageIndex; //몇번째 페이지 번호인지? private int countPerPage; //한페이지에 몇개의 글? public PageVO() { this(1, 10); //페이징 최초 디폴트 값! } public PageVO(int pageIndex, int countPerPage) { this.pageIndex = pageIndex; this.countPerPage = countPerPage; } //서치했을 때 페이징, pageIndex와 countPerPage값이 들어옴;..
*7월1일 -org.quartz-scheduler를 활용하여 DB와 local 상의 물리적인 파일 불일치를 정리해보자. -첨부파일 수정 시, 새로운 파일과 기존 파일을 일일이 비교해서 매칭 시킨 후 삭제할 수 없기에, 일반적으로 기존 파일을 모두 제거하고 새로운 파일을 대체하는 식의 로직을 구성한다. 그에 따라 DB상에 최신으로 업데이트된 파일 내역과 실제 local(또는 어떠한 저장소)에 있는 물리적 파일상의 불일치가 생기는데, 이를 scheduler를 활용하여 일정 주기로 제거해줄 수 있다. -scheduler는 그 외에도 서비스 중인 프로젝트의 정기적인 로그 점검, 오류 메시지 전송 등 다양한 일을 자바 단 내에서 할 수 있으니 추후에 다른 목적으로 사용해보도록 하자. @Component //cpn..
*6월30일 서칭 -전체, 제목, 내용, 작성자 별 검색 구현 -검색용 VO & mapper *VO private String range; private String keyword; *view //직전 검색한 값 유지 전체 제목 내용 작성자 제목+내용 //직전 검색한 값 유지 검색 *mapper -range + keyword 기준 select title like '%'||#{keyword}||'%' or content like '%'||#{keyword}||'%' or writer like '%'||#{keyword}||'%' title like '%'||#{keyword}||'%' // '||'는 oracle concat = WHERE title LIKE '%keyword%'; content like ..
*6월30일 -파일업로드에 대해 포스팅해보자. 파일업로드 -파일은 수정보다 통째로 올리고 통째로 지우는게 더 깔끔함. *imports org.springframework.web.multipart.MultipartFile org.apache.tika.Tika net.coobird.thumbnailator.Thumbnails java.util.UUID.... 등등 *세팅 파일 업데이트 -web.xml C:\\Spring\\workspace\\upload 1048576 10485760 1048576 -servlet-context.xml *view단 //폼태그 enctype 변경 파일업로드 //썸네일 저장용; servlet-context.xml에서 잡은 경로 기준 하단부만 // 다운로드용 링크 ${fvo.fna..
*6월25일 -스프링 관련 기본 개념에 대해 필기한 내용을 포스팅 해보자. *스프링 프로젝트 복제 방법 -프로젝트 copy&paste 후 -> pom.xml name을 '새프로젝트명'으로 변경-> Spring\workspace\새프로젝트명\.settings의 org.eclipse.wst.common.component(톰캣 관련) 파일의 수정 -> target폴더의 pom.properties + pom.xml 모두 '새프로젝트명'으로 바뀐지 확인 + spring 프로젝트 폴더의 .project도 파일도 바뀐지 확인 -만약 에러 발생시 pom.xml 속성 -> maven -> update proejct *스프링 관련 기초 -Spring tool suite 3 / on Eclipse 4.16버전 -Spring..
*6월1일 1)HTML, BODY 태그 없이 특정 부분만 include 시에는, $(function() { }); 안에 있는 코드는 작동안함... 왜냐하면 $(function() { });은 끝난 후 작동을 하는데, include시 코드가 생략되어있기 때문! 2)요청 타겟에서 유효하지 않은 문자가 발견되었습니다. 유효한 문자들은 RFC 7230과 RFC 3986에 정의되어 있습니다. -tomcat -> server.xml에 하기 문구 추가! 3)list를.... 왜 못들고올까 값을!?!?!?! List 출력 왜!?!?! 안되냐!?!?!? case "list": req.setAttribute("list", psv.productList()); //리턴 받은 값은 setAttribute를 해서 key:valu..
*6월1일 -웹 게시물&회원정보 삭제 권한 관련하여, 기본적으로 조치해야할 사안에 대해 알아보자. 1.세션이 유효한 관리자 레벨만 삭제 버튼 누를 수 있게 설정! 삭제 2.삭제 누를 시 post 방식으로 삭제 정보 넘기기 //button에 onClick="removeMember(this);"로 던지면, function removeMember(obj) {console.log(obj) }로 받아올 수 있음!! -> this이기에 버튼 태그 자체가 잡힘! 3.Control단에서 post인지 get인지에 따라 검증 절차 필요! 왜냐하면 주소창에 get으로 그냥 던져도 변수값들이 맞으면 작동되기 때문! -세션값 보유 + 버튼 클릭 기준으로만 삭제되게!! String method = req.getMethod(); ..