목록(2017) 사이드 프로젝트/fnl-project(게시판) (23)
공부한것들을 정리하는 블로그 입니다.
** (2019.12.13) - 해당글이 2017년에 작성되었기 때문에 기능점검 및 가독성 문제로 다시 포스팅했습니다. - 이 글을 참고하셔도 좋지만 좀 더 깔끔하게 기능구현만을 원하시는 분들은 아래 링크의 글을 참고해주세요. (2019.12.13 버전) : https://drsggg.tistory.com/403 gmail로 email 인증번호 보내기(비밀번호 찾기 기능/ 회원가입시 이메일 인증) ** 아래에 진행되는 모든 프로젝트는 Eclipse + Maven + POJO를 통해서 진행됩니다. (IntelliJ나 Gradle은 사실상 환경설정이 거의 필요하지 않으므로 생략) 1. 사전작업 - 구글 보안정책 : 구글 보안정책 관련하.. drsggg.tistory.com 내용요약 : 1. 사전작업 - 구글..
설명 : main 상단의 serarch 기능을 조건을 특정하여 검색 가능. search type이 ssiatnoriter 일 경우 ssiatnoriter 게시판에서의 검색이 이루어짐 참고 : - http://wjheo.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EA%B2%80%EC%83%89%EC%B2%98%EB%A6%AC%EB%8F%99%EC%A0%81-SQL - http://doublesprogramming.tistory.com/96 추가로 공부해볼만한 것 : JavaScript 정규표현식 ------------------------------------------------------------ menu/me..
http://drsggg.tistory.com/43 따로 eclipse의 초기 설정은 다루지 않을 예정이였으나2014년의 것이긴 하지만, 굉장히 잘 정리된 글을 발견해서 링크+내용을 첨부하겠습니다. ------------------------------------------------------------------------------------------------------------------------ 맨 처음 Spring framework(이하 스프링)을 접한 후, 이런저런 프로젝트를 진행하였습니다. 그런데 처음에는 다양한 개발환경을 가진 사람들이 시작하다보니, 여러가지 문제가 있었습니다. 혼자 개발을 한다면 상관없지만, 프로젝트의 특성상 여러사람들이 같이 개발을 하는데, 개발환경을 쉽고 편하..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
설명 : notice 게시판의 최신글이, main 페이지 상단에 노출(웹사이트의 슬라이드바처럼 구현 할 예정이고, 이벤트와 공지사항의 제목과 이미지가 슬라이드바를 통해 직관성있게 사용자에게 출력될 예정, 클릭 시 notice detail로 이동) 참고 : - http://hompylove.com/system/bbs/board.php?bo_table=tip&wr_id=22 - http://hohoya33.tistory.com/entry/jQuery-%E2%80%93-after-insertAfter-before-insertBefore - http://programmer-seva.tistory.com/17 - http://toyuq.tistory.com/160 - http://www.nextree.co.kr/..
설명 : 화면 상단의 nav에 있는 category bar를 이용하여 게시판 글을 볼 때, 원하는 category 별로 정렬하여 출력 가능 추가로 공부해볼만한 것 : spring에서 파라미터값 넘기는 방법 참고 : - http://ddo-o.tistory.com/124 - http://mkil.tistory.com/m/307 - https://taehun3718.wordpress.com/2015/04/20/spring%EC%97%90%EC%84%9C-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EC%A0%84%EC%86%A1/ ---------------------------------------------------------------------------------------..
이번에 다룰 내용은 interceptor를 이용하여 로그인 처리입니다. 인터셉터는 주로 컨트롤러 이벤트 호출전에 가로채서 어떠한 처리를 해주기 위해 사용되는 기능입니다. 만약 인터셉터를 사용하지 않고 일반적 로그인 체크를 코드마다 모두 작성한다면, 로그인이 필수인 컨트롤러를 작성할때 마다 로그인 체크 로직을 CTRL + C/V 해주어야 합니다. 그렇게 되면 코드도 길어지고 로그인 체크 일부가 변경되면 모두 변경해주어야 하는 번거로움이 있습니다. 별도로 로그인 체크유틸을 만들어서 사용하는 방안도 있지만, 만약 유틸클래스명이나 사용하려는 메서드 일부가 변경이된다면 일일이 모두 변경해주어야 하는 번거로움이 있기때문에, 원초적인 문제 해결방안은 아니라고 생각됩니다. 인터셉터를 이용한다면 컨트롤러 호출이 올 때마..
====================================================== 20190705 추가 * 너무 예전에 작성했던 글이라서 수정작업 예정입니다. 아래에 있는 링크를 참조하시기 바랍니다. ( https://drsggg.tistory.com/222 ) ====================================================== spring에서 페이징을 처리하는 방법은 여러가지가 있습니다. 먼저 객체를 view단에서 가져다 쓰기위해서는 Java단에서 Paging클래스를 만들어도 되고, jsp에서 생성해도 가능합니다. 다만 jsp에서 만들면 을 이용해서 Java 코드를 넣어야 하기 때문에 깔끔하지 못합니다.Paging 클래스를 만드는 것도 일종의 편리함, 깔끔..
먼저 스마트 에디터를 eclipse에 넣어 주시고, jsp페이지(view)에서 경로를 설정해 줍니다. 본인은 resources라는 폴더 내에 smarteditor2-master폴더를 넣었습니다. 그 다음으로는 기능을 담당해줄 script를 만들도록 하겠습니다. smarteditor2의 공삭사이트에서도 찾을 수 있고 그 외에도 간단한 검색으로 여러 코드를 찾을 수 있습니다. 여기서 중요한것은 12번줄의 SmartEditor2Skin.html의 경로와 26번줄의 detail(textarea의 id)입니다. 다음은 table의 코드입니다 내 용 동영상 목록으로 4번줄의 enctype="multipart/form-data"는 비디오 태그를 위한 부분으로, 12번줄처럼 input type="file"을 사용하기 ..
참고 - http://blog.ngelmaum.org/entry/lab-note-sql-join-method - http://wjheo.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EA%B2%80%EC%83%89%EC%B2%98%EB%A6%AC%EB%8F%99%EC%A0%81-SQL 추가로 공부해볼 만한 것 : 기본 정렬 알고리즘(Sorting Algoritm) 요약 정리 (선택, 삽입, 버블, 합병, 퀵)- http://hsp1116.tistory.com/33
sendRedirect에 상대 경로 사용하기1. / 가 없는 경우에는 원래 경로를 추가하여 절대경로를 만듭니다. http://drsggg.tistory.com/1/2/A.do 에서sendRedirect("B/b.html) 를 호출 했다면 컨테이너는 원래 주소를 가지고 전체 경로를 재작성 합니다. (Location 헤더에는 전체 경로가 들어가야 하기 떄문입니다) http://drsggg.tistory.com/1/2/B/b.html 로 이동합니다다. 2. 하지만 상대 경로가 / 로 시작하는 경우 sendRedirect("/B/b.html) 를 호출 했다면 컨테이너는 웹 어플리케이션에서부터 URL 전체 경로를 재작성해서 http://drsggg.tistory.com/1/B/b.html 로 이동합니다다.
AOP (Aspect Oriented Programming) - 기능을 핵심 비지니스 로직과 공통 모듈로 구분하고, 핵심 로직에 영향을 미치지 않고 사이사이에 공통 모듈을 효과적으로 잘 끼워넣도록 하는 개발 방법이다. - 공통 모듈(보안 인증, 로깅 같은 요소등)을 만든 후에 코드 밖에서 이 모듈을 비지니스 로직에 삽입하는 것이 바로 AOP 적인 개발이다. 코드 밖에서 설정된다는 것이 핵심이다. AOP가 사용되는 경우 1) 간단한 메소드 성능 검사 개발 도중 특히 DB에 다량의 데이터를 넣고 빼는 등의 배치 작업에 대하여 시간을 측정해보고 쿼리를 개선하는 작업은 매우 의미가 있다. 이 경우 매번 해당 메소드 처음과 끝에 System.currentTimeMills();를 사용하거나, 스프링이 제공하는 St..
---TABLE에 COLUMN 추가---ALTER TABLE NOTICEADD (NOTICE_VISIBILITY NUMBER DEFAULT 0 NULL); ---TABLE에 COLUMN 수정---ALTER TABLE NOTICEMODIFY (NOTICE_VISIBILITY NUMBER DEFAULT 0 NULL); ---TABLE에 COLUMN 삭제---ALTER TABLE NOTICEDROP column NOTICE_FILE_STORED; --정의된 시퀀스 조회--select * from user_sequences; --정의된 시퀀스 삭제--drop sequence test_seq; --시퀀스 생성-- CREATE SEQUENCE notice_seq INCREMENT BY 1 START WITH 4 M..
개인적인 요약 GET- 가져오는 방식 : 값을 변경하지 않는(mapper의 select 같은) 리스트뷰나 디테일뷰 기능(데이터를 보여주기만 함)- http://url/bbslist.html?id=5&pagenum=2 처럼 url header가 표기됨(body는 비어있음-http)- 에시 : 글 보기(리스트 뷰, 디테일 뷰), 로그아웃- 태그의 href로 이동할때는 GET사용- 링크를 걸어서 url을 가져와야 하는 상황에서는 GET을 쓰자- 캐싱 사용 가능.- 캐싱때문에 POST방식보다 속도가 빠름(캐싱; 한번 접근 후 재요청시 빠르게 접근하기 위해 데이터를 저장시켜 놓음 - 구글의 Accelerator 원리) POST- 수행하는 방식 : 서버의 값이나 상태를 바꾸기 위해 사용한다. (db값이 수정되는) ..
두가지 모두 간단한 설명만 적었습니다. 게시판의 기초 설계를 어떻게 할지만 정한 상태에서 자세한 설명은 본인의 다른 글에서 다루도록 하겠습니다.(이 글을 먼저 숙지하고 나서 보는것을 추천드립니다.) 스마트에디터 + 비디오태그 실습 : http://drsggg.tistory.com/32 ------------------------------------------------------------------------------------------------------------------------------------------------ 동영상 재생 게시판 : 스마트에디터(naver smarteditor) + 비디오태그(bootstrap) 먼저 비디오 태그에 대한 설명입니다. 1. ~ 태그 동영상을 삽..
보호되어 있는 글입니다.
spring셋팅은 시간이 많이 소요되므로 pdf와 workspace로 대체하겠습니다.(파일첨부) db셋팅도 완료된 쿼리문을 첨부하겠습니다 이것마저도 귀찮으면 git을 이용합시다 http://drsggg.tistory.com/42
3에서 eclipse에서 프로젝트를 진행하기 위한 환경 구축을 다루었었습니다.이번 글도 지난번과 마찬가지로 프로젝트 환경 구축을 다룰 예정입니다. 이제 git의 기능을 이용하여, git에 파일들을 올려봅시다. (commit and push) 이제 commit을 해보겠습니다. commit and push를 하면 자신의 branch(cyh)에 올리게 됩니다. 다른것을 가져올때는 pull이고 merge는 병합시킬 때 사용한다. pull and merge하면 가져온 다음 병합시킵니다. stash는 잠시 임시공간을 이용하는 것입니다.