본문 바로가기

개발 공부/Spring

(19)
코드로 배우는 스프링 웹 프로젝트-23. 브라우저에서 썸네일 처리 코드로 배우는 스프링 웹 프로젝트-23. 브라우저에서 썸네일 처리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part6. 파일 업로드 처리 Chapter 23. 브라우저에서 썸네일 처리 .브라우저에서 첨부파일 업로드 결과가 JSON 객체로 반환되었다면 남은 작업은 업로드 후 업로드 초기화, 결과 데이터로 화면에 섬네일이나 파일 이미지를 보여주는 작업이다. 23.1 의 초기화 위 태그는 다른 DOM 요소와 다르게 readonly라 안쪽 내용을 수정할 수 없으므로, 별도의 방법으로 초기화시킨다. $(document).ready(function() { var regex = new RegExp("(.*?)\.(exe|sh|zip|alz)$"); var maxSize = 52428..
코드로 배우는 스프링 웹 프로젝트-22. 파일 업로드 상세 처리 코드로 배우는 스프링 웹 프로젝트-22. 파일 업로드 상세 처리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part6. 파일 업로드 처리 Chapter 22. 파일 업로드 상세 처리 . 22.1 파일의 확장자나 크기의 사전 처리 예제는 첨부파일 확장자가 exe, sh, zip이면 업로드를 제한하고 특정 크기 이상의 파일은 업로드할 수 없도록 한다. uploadAjax.jsp 추가. Upload with Ajax Upload 22.1.1 중복된 이름의 첨부파일 처리. 첨부파일 저장 시 신경쓰이는 건 크게 두 가지. 1) 중복된 이름의 파일 처리 2) 한 폴더 내에 너무 많은 파일의 생성 문제 1)은 현재 시간을 밀리세컨드까지 구분해 파일 이름을 생성해서 저장하거나 UUID를..
코드로 배우는 스프링 웹 프로젝트-part6.파일 업로드 처리-21.파일 업로드 방식 코드로 배우는 스프링 웹 프로젝트-21. 파일 업로드 방식 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part6. 파일 업로드 처리 Chapter21. 파일 업로드 방식 첨부 파일 서버 전송 방식) - 태그를 이용하는 방식 : 브라우저의 제한이 없어야 하는 경우 사용. 일반적으로 페이지 이동과 동시에 첨부파일 업로드. iframe을 이용해 화면의 이동 없이 첨부파일 처리 - Ajax 이용 방식 : 첨부파일을 별도로 처리 input type=file을 이용하고 Ajax로 처리하는 방식, HTML5의 Drag and Drop 기능이나 jQuery 라이브러리를 이용 서버에서 첨부파일을 처리하는 방식) - cos.jar : 2002년 이후에 개발이 종료되어서 더 이상 사용을 권장..
코드로 배우는 스프링 웹 프로젝트-20. 댓글과 댓글 수에 대한 처리 코드로 배우는 스프링 웹 프로젝트-20. 댓글과 댓글 수에 대한 처리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part5. AOP와 트랜잭션 Chapter20. 댓글과 댓글 수에 대한 처리 tbl_reply 테이블에 insert 하고, tbl_board 테이블에 댓글 수를 의미하는 replyCnt 칼럼 추가. 해당 게시물 댓글의 수를 update 한다. alter table tbl_board add(replycnt number default 0); 기존에 댓글이 존재했다면 replyCnt에 반영해 두어야 하므로 아래 쿼리 실행. update tbl_board set replycnt = (select count(rno) from tbl_reply where tbl_repl..
코드로 배우는 스프링 웹 프로젝트-19.스프링에서 트랜잭션 관리 코드로 배우는 스프링 웹 프로젝트-19.스프링에서 트랜잭션 관리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part5. AOP와 트랜잭션 Chapter19.스프링에서 트랜잭션 관리 비즈니스에서 쪼개질 수 없는 하나의 작업 단위로 트랜잭션이라는 용어를 사용한다. '한 번에 이루어지는 작업의 단위'를 트랜잭션으로 간주한다. ACID 원칙) 원자성Atomicity : 하나의 트랜잭션은 모두 하나의 단위로 처리되어야 함. 어떤 트랜잭션이 A와 B로 구성된다면 항상 A, B의 처리 결과는 동일한 결과여야 함. 즉 A는 성공하고 B는 실패할 경우 둘다 원래 상태로 되돌려져야 한다. 일관성 Consistency : 트랜잭션이 성공했다면 데이터베이스의 모든 데이터가 일관성을 유지해야 함..
코드로 배우는 스프링 웹 프로젝트-Part5.AOP와 트랜잭션-chap18.AOP라는 패러다임 코드로 배우는 스프링 웹 프로젝트-18.AOP라는 패러다임 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part5. AOP와 트랜잭션 Chapter18. AOP라는 패러다임 AOP는 흔히 관점 지향 프로그래밍 용어로 번역되는데 이 때 관점이라는 용어가 어렵게 느껴질 수 있다. 관점은 개발자들에게는 관심사 concern으로 통용된다. 개발 시 필요한 고민이나 염두에 두어야 하는 일이라고 생각할 수 있는데, "파라미터가 올바르게 들어왔는지" "이 작업을 하는 사용자가 적절한 권한을 가진 사용자인지" "이 작업에서 발생할 수 있는 예외는 어떻게 처리해야 하는지" 등이 있다. 핵심 로직은 아니지만 코드를 온전하게 만들기 위한 고민들로, 전통적인 방식에선 개발자가 반복적으로 이 고민..
코드로 배우는 스프링 웹 프로젝트-17.Ajax 댓글 처리 코드로 배우는 스프링 웹 프로젝트-16.Rest 방식으로 전환 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part4. Rest 방식과 Ajax를 이용하는 댓글 처리 . Chapter17. Ajax 댓글 처리 이전 Part3의 예제에 추가 작성. 17.1 프로젝트의 구성 REST 처리를 위해 pom.xml에서 수정된 내용이 대부분이므로, ex03에서 사용하던 소스 코드를 복사해서 사용한다. 17.2 댓글 처리를 위한 영속 영역 create table tbl_reply ( rno number(10, 0), bno number(10, 0) not null, reply varchar2(1000) not null, replyer varchar2(50) not null, replyD..
코드로 배우는 스프링 웹 프로젝트-Part4.Rest 방식과 Ajax를 이용하는 댓글 처리/Chap16.Rest방식으로 전환 코드로 배우는 스프링 웹 프로젝트-16.Rest 방식으로 전환 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part4. Rest 방식과 Ajax를 이용하는 댓글 처리 Chapter16. Rest 방식으로 전환 모바일 시대가 되며 WEB 분야의 가장 큰 변화는 서버 역할의 변화. 과거에는 서버 데이터를 소비하는 주체가 브라우저라는 특정한 앱으로 제한적이었다면 이제는 웹이나 앱이 서버에서 제공하는 데이터를 소비하게 된다. 과거의 서버는 브라우저라는 하나의 대상만을 상대로 데이터를 제공했으므로 아예 브라우저가 소화 가능한 모든 데이터를 HTML 형태로 전달하고 브라우저는 이를 화면에 보여주는 역할을 해 왔다. 스마트폰에서는 앱이라 불리는 고유 애플리케이션을 이용해 데이터를 소비하..
코드로 배우는 스프링 웹 프로젝트-15.검색 처리 코드로 배우는 스프링 웹 프로젝트-15.검색 처리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part3. 기본적인 웹 게시물 관리 Chapter15. 검색 처리 검색 기능은 검색 조건과 키워드로 나눠 생각해볼 수 있다. 검색 조건은 일반적으로 select 태그나 checkbox를 이용한다. 최근에는 select를 일반 사용자들의 경우에, 관리자용이나 검색 기능이 강한 경우 checkbox를 이용하는 경우가 대부분이다. 15.1 검색 기능과 SQL - 제목/내용/작성자와 같이 단일 항목 검색 - 제목/내용 or 작성자/내용 등 다중 항목 검색 단일 항목은 인라인뷰 안쪽에 필요한 데이터를 가져올 때 검색 조건이 적용되어야 하기 때문에 WEHRE 문 뒤에 검색 조건이 추가되고 ..
코드로 배우는 스프링 웹 프로젝트-14.페이징 화면 처리 코드로 배우는 스프링 웹 프로젝트-14.페이징 화면 처리 코드로 배우는 스프링 웹 프로젝트 - 개정판 2019년 7월 10일 인쇄판 Part3. 기본적인 웹 게시물 관리 Chapter14. 페이징 화면 처리 URL 파라미터로 정상적으로 원하는 페이지로 이동하는 것이 확인되었다면 화면 밑에 페이지 번호를 표시해 사용자가 페이지 번호를 클릭할 수 있게 처리한다. - 브라우저 주소창에서 페이지 번호를 전달해 결과 확인하는 단계 - JSP에서 페이지 번호를 출력하는 단계 - 각 페이지 번호에 클릭 이벤트 처리 - 전체 데이터 개수를 반영해 페이지 번호 조절 14.1 페이징 처리할 때 필요한 정보들 - 현재 페이지 번호(page) - 이전과 다음으로 이동 가능한 링크의 표시 여부(prev, next) - 화면에서..