IDE & Framework/분류중

    WSL2 LEMP 초간단 구축 및 구동

    환경 : Windows에 WSL2를 사용한 Ubuntu 18.0.4 Windows10에서 WSL2로 Ubuntu 설치 및 구동은 아래 링크 참고 https://greensky0026.tistory.com/238 구축 1. 우분투 갱신 및 업데이트 sudo apt-get update && sudo apt-get upgrade 2. Nginx 설치 sudo apt install nginx //sudo service nginx start 구동확인 3. MySQL 서버 설치 sudo apt install mysql-server //sudo usermod -d /var/lib/mysql/ mysql 숏컷등록 //sudo service mysql start 구동확인 3-1. MySQL root 계정 비밀번호 생성 ..

    Open Vpn 다중접속

    Open Vpn 다중접속

    이번 서버작업을 하면서 상용-개발서버의 vpn 두가지로 작업을 하게 되었다. 번갈아가면서 접속하며 작업하니 여간 불편한게 아니여서 구글링을 좀 해보게 됬고, 찾게 되었다. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\OpenVPN\Utilities에 있는 add a new tap-windows6 virtual network adapter를 관리자권한으로 실행시켜 이더넷 네트웤을 추가하면 위처럼 복수의 vpn에 접속할 수 있다.

    [jsp] getParameter, getAttribute 차이 [짧]

    [jsp] getParameter, getAttribute 차이 [짧]

    getParameter는 리턴값이 String getAttribute는 리턴값이 object

    JSP-톰캣 DataSource-server context를 사용한 DB connect

    JSP-톰캣 DataSource-server context를 사용한 DB connect

    아무래도 직접 소스에 직접 입력해서 로그인하게 되면 노출되는 정보가 많죠? 이방법을 사용하면 db를 사용하는 프로젝트에는 직접적인 정보는 아무것도 남지 않게 됩니다. 보시죠. 톰캣 server의 디렉토리 하위에 보면 context.xml 안에 아래의 코드를 입력하면 됩니다. name : 리소스 이름 maxTotal : 동시에 사용할 수 있는 최대 커넥션 개수 (기본 8개) maxIdle : Connection Pool에 반납할 때 최대로 유지될 수 있는 커넥션 개수 (기본 개) maxWaitMillis : pool이 고갈되었을 경우 최대 대기 시간 (ms단위, 기본 -1 (무한)) 이렇게 입력해두면 아래와 같이 호출하면 됩니다. public class dbConntect { DataSource dataS..

    JS 상호작용되는 달력 만들기 (5) - 예약달력 (하)

    JS 상호작용되는 달력 만들기 (5) - 예약달력 (하)

    서론 너무 프론트에만 치우친 포스팅이 될 것 같아서 글을 하 나 더 썻습니다. MVC패턴에서 달력을 출력하기 위한 백엔드 작업을 기술하겠습니다. View는 두개의 게시글에 걸쳐서 썼으니 제외하겠습니다. 목차 1. DB ㄱ. Place ㄴ. Share ㄷ. Rental 2. 구조 3. 데이터 정제 ㄱ. 총 이용가능시간 계산 ㄴ. 예약확인용 rental의 DTO 생성 ㄷ. 이번달과 다음달로 데이터를 나눠 담을 준비 ㄹ. DAO를 호출해 rental의 data를 정제 후 이번달, 다음달로 분류 ㅁ. 달별로 나눈 데이터를 일별로 나눈다 a. 사용할 맵 생성 b. rental을 Dto_Refine_rental로 정제해서 map에 입력 4. 데이터 전송 준비 ㄱ. JSONArray선언 ㄴ. 변환 및 예약이 가득찬 ..

    JS 상호작용되는 달력 만들기 (4) - 예약달력 (중)

    JS 상호작용되는 달력 만들기 (4) - 예약달력 (중)

    서론 글이 너무 길어져서 달력과 시간표로 나눠서 작성하게 되었습니다. 지난번에 이어서 추가로 이어집니다. 개발환경 IDE : Eclipse 사용 언어 : HTML, JSP, Java script, SQL 사용 라이브러리 : JSTL, JSON 목차 1. 가정 2. 제약사항 3. 구조 ㄱ. HTML ㄴ. Java script 4. 시간표 구성 ㄱ. 지금 만들어진 달력이 현재 달력인지 확인 ㄴ. 요일입력에 내용 추가 ㄷ. 예약불가일자 처리 (1/2) - 요일생성 안 ㄹ. 예약불가일 예외처리 ㅁ. 예약가능일 클릭이벤트 추가 ㅂ. 예약불가일자 처리 (2/2) - 요일생성 밖 5. 예약정보 출력 1. 가정 예약되어있는 데이터는 JSONArray로 받아옴 JSONArray에 담긴 JSONObject의 키는 date..

    JS 상호작용되는 달력 만들기 (3) - 예약달력 (상)

    JS 상호작용되는 달력 만들기 (3) - 예약달력 (상)

    서론 지난번엔 간단한 달력을 만들었습니다. 이번엔 Service가 제공한 data를 바탕으로 상호작용을 제한하고 추가적으로 시간표까지 출력하는 시스템입니다. 기초적인 달력은 지난번 포스팅을 했으므로, 기본적인 사항은 건너뛰도록 하겠습니다. 한번에 작성하려다 보니 내용이 너무 길어져서 달력과 시간표를 기준으로 상/하로 나누어서 포스팅하였습니다. 개발환경 IDE : Eclipse 사용 언어 : HTML, JSP, Java script, SQL 사용 라이브러리 : JSTL, JSON 목차 1. 가정 2. 제약사항 3. 구조 ㄱ. HTML ㄴ. Java script 4. 달력 구성 ㄱ. 지금 만들어진 달력이 현재 달력인지 확인 ㄴ. 요일입력에 내용 추가 ㄷ. 예약불가일자 처리 (1/2) - 요일생성 안 ㄹ. 예..

    JS 상호작용되는 달력 만들기 (2) - 날짜 검색 달력

    JS 상호작용되는 달력 만들기 (2) - 날짜 검색 달력

    순서 1. 구조 ㄱ. HTML ㄴ. Java script 2. 날짜를 구하기 위한 준비 3. 달력 구성하기 ㄱ. 달력을 만들어서 출력할 table 및 tableTitle을 참조 ㄴ. 현재 달력의 첫날과 마지막날을 구함 ㄷ. 작성할 테이블을 초기화 ㄹ. 달의 첫 날까지 빈 셀을 생성합니다. ㅁ. 본격적으로 달력에 요일 채우기 ㅂ. 달력의 마지막날 뒤 빈칸 행으로 채우기 4. 선택한 일자를 출력하기 5. 이전달, 다음달로 이동하기 6. 추가작업 1. 구조 ㄱ. HTML ◀ yyyy년 m월 ▶ 일 월 화 수 목 금 토 기억해야할 것 Table id : calendar Table title id : calendarTitle 테이블 초기화시엔 두번째 row까지 남긴다 (타이틀, 요일표시) ㄴ. Java scrip..

    JS 상호작용되는 달력 만들기 (1) - 시작하며

    JS 상호작용되는 달력 만들기 (1) - 시작하며

    제작이유 프로젝트도중 예약관련 기능을 담당하게 되었습니다. 사용자가 쉽게 예약을 하려면 달력이 필수라고 생각하였구요, 달력이 쓰이는 부분도 많아 여러 버전의 달력을 만들게 되었습니다. 개발환경 IDE : Eclipes 사용언어 : Java Script, HTML5 구현 결과 1. 장소검색시 날짜검색 달력 2. 예약페이지에서의 달력 3. 예약확인 페이지의 달력 주요기능 1. 공통 알맞은 달력 출력 전달, 다다음달 이동 불가능 (예약가능일자 : 오늘기준 다음날~+30일 이후) 요일 선택시 해당 일자 표시 2. 예약자측 달력 대여 불가능 일자 비활성화 대여자가 입력한 요일 예약이 가득찬 날 오늘기준으로 내일~30일이 아닌 모든 날자 클릭시 시간표 출력 시간표에 예약불가능한 시간 비활성화 선택한 일자와 시간을 ..

    JSP 이미지CRUD가 가능한 페이징된 게시판 구현

    JSP 이미지CRUD가 가능한 페이징된 게시판 구현

    서론 작성해둔 이유는 전에 포스팅한 페이징 소스와 같습니다. 주제가 공간대여 홈페이지다 보니 아무리 파트를 나눠서 작업해도 이미지 업로드 기능이 거의 모든 파트에 필요했었습니다. 다들 CRUD야 수업떄 해봤지만 이미지 업로드까지는 쌩으로 습득하다가 프로젝트 작업이 지연될 것 같아서, 각자 작업물에 맞게 수정해서 쓸수있게끔 프로토 타입 소스를 제작해서 공유했습니다. 추가로 게시판 파트를 위해 업로드된 파일을 다운로드하는 기능도 추가해 뒀습니다. MVC model2로 개발했지만, 구조는 편의상 MVCS구조 나타냈구요, 이번엔 소스가 굉징히 많아서 깃으로 보시는게 좋습니다 ^^ 본문에서는 간단하게 포스팅하겠습니다. 주석도 엄청 상세히 달려있답니다! https://github.com/gr2nsky/ProtoTy..

    JSP 페이징된 게시판 만들기

    JSP 페이징된 게시판 만들기

    서론 이번에 진행한 JSP 프로젝트가 다른팀에 비해서 인원이 한명 많았긴 했지만... 다들 이것저것 넣고싶은걸 추가하다 보니 정말 볼륨이 엄청났었습니다 ㅋㅋㅋ... 덕분에 다들 잠도 줄여가면서 플젝기간 내내 피곤에 쩔어 살았었죠 여튼, 그렇게 설계가 되고나서... 저도 JSP는 처음 해보지만 PHP로는 이미 웹사이트를 구축해봤으니 팀원들의 고민과 시간단축을 위해 공통기능들을 변형해서 적용만 하게끔 일종의 프로토타입 소스를 제작해서 제공했습니다. 결과적으로 대성공해서 시간단축에 많은 도움이 되었었는데, 이번에 포스팅하는 소스가 바로 그 소스입니다 ㅎ... 주석을 엄청 상세하게 달아둿기 때문에 설명은 주석으로 대체하겠습니다. 해당 소스는 DB의 글을 조회만 할 수 있으며 작성 및 수정 삭제는 불가능합니다. ..

    JSP 회원가입시 이메일 인증 절차 - (4/4) 인증 이메일 전송 및 인증

    JSP 회원가입시 이메일 인증 절차 - (4/4) 인증 이메일 전송 및 인증

    전 포스팅에선 이메일 인증절차까지 완료하였죠? confirmEmail.jsp의 중복확인 결과 분기 부분부터 다시 보겠습니다. 인증메일을 전송중입니다. 팝업창을 허용해주세요. ${email }은 사용 불가능한 email입니다. 확인 특이사항 JSTL의 choose태그로 이메일 인증결과를 분기 굳이 text를 입력해둔 이유? 요즘은 다 팝업창이 기본설정으로 차단되어 있다보니 사용자 편의를 위해 작성 인증메일을 전송하는 새 창이 크기가 똑같아서 실행되면 어차피 가려서 보이지 않음 이메일ㅇ ㅣ중복이 아니라면 requestAuthEamil()를 실행 function requestAuthEamil(){ var url = "requestAuthEmail.four?email=" + ""; open(url, "authE..

    JSP 회원가입시 이메일 인증 절차 - (3/4) 이메일 중복 확인

    JSP 회원가입시 이메일 인증 절차 - (3/4) 이메일 중복 확인

    지난 포스팅에선 이메일 정규식 검증을 진행했습니다. 이번엔 이어서 이메일 중복확인 절차를 진행해보도록 하겠습니다. 이메일 중복확인 시퀀스 다이어그램 이메일 중복확인을 호출하는 emailAuthentication() 부터 다시 살펴보겠습니다. 해당 함수에서 이메일 중복확인을 하려면? 조건 : 정규식을 만족 실행 : email을 get 방식으로 request에 실어서 confirmEmail.four로 전송 주소 마지막이 .four인 이유 저희 조가 4조여서 서블렛 태그를 @webServlet("*.four")로 설정해서 그렇습니다 ^^;; Ajax를 쓰면 새창으로 띄울필요가 없습니다. Ajax나 iframe을 쓰지 않으면, 현재 페이지를 유지하며 request를 보낼 방법이 새창 띄우기밖에 없습니다. 프로젝..

    JSP 회원가입시 이메일 인증 절차 - (2/4) 이메일 정규식 검증

    JSP 회원가입시 이메일 인증 절차 - (2/4) 이메일 정규식 검증

    인증메일이나 중복검사 전 정규식 검증을 하는 이유는? 무의미한 단어가 나열될뿐인 문자열을 중복확인하고 인증메일을 보내는건 서버의 리소스 낭비이기 떄문입니다. 시권스 다이어그램 아래는 signUpForm.jsp의 일부입니다. ... 이메일 인증 메일 보내기 인증번호 입력 인증 ... 최초 인증번호 입력과 인증버튼이 Disable인 이유 이메일 인증이 되지않은 상태에서 사용자의 상호작용을 제한하기 위함입니다. 꼭 이렇게 하지 않아도 되며, 메일 인증의 결과를 저장해뒀다가 JS함수가 확인해 조건분기를 시켜도 됩니다. 이는 나중에 포스팅에 자세히 기술하도록 하고, 인증메일 보내기 버튼을 보겠습니다. 인증메일 보내기 버튼은 emailAuthentication()를 호출하는데요, 코드는 다음과 같습니다. email..

    JSP 회원가입시 이메일 인증 절차 구현- (1/4) 시작하며

    JSP 회원가입시 이메일 인증 절차 구현- (1/4) 시작하며

    https://greensky0026.tistory.com/144 서론 전에는 PHP mailer를 사용해서 구현해보았었는데, JSP로도 해보게 되네요. 전에 해봐서 금방 끝낼줄 알았더니, 구현이 문제가 아니라 앞뒤 흐름제어에 공을 더 들인것 같습니다. 시작전, 라이브러리 점검하시고 저처럼 코딩하다가 신나서 이것저것 건드려 일내는걸 방지하기위해 시퀀스 다이어그램이나 프로세스 흐름도 등으로 확실히 순서를 잡고 가시길... 순서도 이후 포스팅 순서 1. 이메일 정규식 검증 - 정규식을 활용해 입력한 이메일을 검증합니다. 2. 이메일 중복 검사 - id/pw 찾기시에 이메일로 전송할것이므로, 중복이면 안됩니다. data base에 해당 email이 존재하는지 검사합니다. 3. 인증메일에 인증코드를 담아 전송 ..

    유용하게 썻던 JSTL-Core Tag정리

    유용하게 썻던 JSTL-Core Tag정리

    JSTL 이란? JSP에서 파생된 태그 라이브러리입니다. HTML 문서내용을 JSP로 반복하거나 조건을 주면 를 넘나들며 보기만해도 현기증을 불러일으키는 코드가 되는데요 이를 효과적으로 단순화하는 코드를 제공해 줍니다. 제가 사용했던건 Core Tag뿐이였지만, 정리하려고 찾아보니 종류가 굉장히 많았네요. - Core tags : 접두사 c로 호출 - 변수에 대한 태그 라이브러리 - function tags : 접두사 fn으로 호출 - 문자열 조작 및 형식에 대한 태그 라이브러리 - formatting tags : 접두사 fmt로 호출 - 여러타입의 형식(번호, 날자, 문자열)에 대한 태그 라이브러리 - XML tags : 접두사는 x - 흐름 제어및 변환에 대한 태그 라이브러리 - SQL tags : ..

    server side script, client side script

    server side script, client side script

    헷갈려서 두고두고 보려고 정리합니다. 한 jsp 파일에 작성을 했더라도, 위 아래 순서대로 실행되는게 아닙니다. server side script 실행 후 client side script가 실행됩니다. jsp와 jsp의 태그 라이브러리인 jstl은 server side script 입니다. 그리고 html, java script와 jquery는 client side script입니다. 즉, jsp가 실행된 이후에 html 및 script를 불러 들입니다. 이후엔 순서가 존재하기 때문에 js가 html 속성 정의 전에 속성값을 가져오는 문장이 있으면 실패하는 것 입니다. 따라서 js의 변수는 jstl에서 사용 불가능 하지만 jstl의 변수는 js에서 사용가능합니다. 그러므로, 작성시에 적절한 분류 및 제..

    URL Encoder로 한글 및 특수문자를 get 방식으로 전송하기

    URL Encoder로 한글 및 특수문자를 get 방식으로 전송하기

    http communication에서 get 방식으로 전송할때만 사용합니다. 사실 form으로 전송하면 자동으로 인코딩이 되서 넘어가는지라 한글도 잘 넘어갑니다. get 방식으로 직접 url에 한글 및 특수문자를 보낼때만 쓴다고 생각하면 될 것 같습니다. String value="한글!@#$"; String encodedValue=URLEncoder.encode(value,"UTF-8");