목록분류 전체보기 (208)
YJ의 새벽
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/beNjjA/btr8vPiJriI/38uDHrKcKLJeHsvPfECbvk/img.png)
컬렉션 -- 자바에서 제공하는 자료구조를 담당하는 프레임워크. -- 추가, 삭제, 정렬 등 기능처리가 간단하게 해결되어 자료구조적 알고리즘을 구현할 필요 없음. -- 크기의 제약이 없다. -- 여러 타입의 데이터가 저장 가능하다. List ( ArrayList, Vector , LinkedList ) -- 자료들을 순차적으로 나열한 자료구조, -- 인덱스로 관리되며, -- 중복 O Set ( HashSet , LinkedHashSet, TreeSet ) -- 저장 순서가 유지되지 않고, -- 중복 X ( null 도 중복을 허용하지않는다 ) Map ( HashMap , HashTable ) -- 키와 값 으로 구성되어 있으며, -- 키는 중복저장을 하용하지않고 , 값은 중복 저장 가능. -- 키가 중복되..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxa9ac/btr8xWBSI5c/DoCLYp4mfAejxpJFQA8UJ0/img.png)
HTTP 메서드 종류 -- GET : 리소스 조회 -- POST : 요청 데이터 처리, 주로 등록에 사용 -- PUT : 리소스를 대체 , 해당 리소스가 없으면 생성 -- PATCH : 리소스 부분변경 -- DELETE : 리소스 삭제. -- HEAD : GET과 동일하지만, 메시지부분을 제외하고 상태줄과 헤더만 반환. -- OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 주요 설명 GET -- 리소스 조회 -- 서버에 전달하고 싶은 데이터는 query (쿼리 파라미터, 쿼리 스트링)을 통해서 전달. -- 메시지 바디를 사용해서 데이터를 전달할수 있지만 , 지원하지 않는곳이 많아 권장 X POST -- 요청 데이터 처리 -- 메시지 바디를 통해 서버로 요청 데이터 전달 -- 서버는 요청 ..
HTTP ( HyperText Transfer Protocol ) -- 거의 모든 형태의 데이터 전송가능 . -- 서버간에 데이터를 주고 받을때도 대부분 HTTP 사용 . -- 클라이언트 서버 구조 -- 무상태 프로토콜(스테이스리스) , 비연결성 -- HTTP 메시지 -- 단순함, 확장 가능 클라이언트 서버구조 -- Request Response 구조 -- 클라이언트는 서버에 요청을 보내고, 응답을 대기 -- 서버가 요청에 대한 결과를 만들어서 응답. 무상태 프로토콜 (Stateless) Stateful -- 서버가 클라이언트의 상태를 보존 X ( ex : 고객(클라이언트)이 물건을 사는데 점원(서버)이 계속 바뀜 ) -- 장점 : 서버 확장성 높음 (스케일 아웃) 서버를 대거 투입할수있다. 무한한 서버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lSkGF/btr8i8bKOxT/bmuvKJkOqKnId44iUDSwD1/img.png)
PORT == IP 는 목적지 서버를 찾는것 이라면, 서버 안에 애플리케이션을 찾는것이 PORT 라고 생각하자 . ( 같은 IP 에서 프로세스를 구분 ) TCP 특징 -- 전송 제어 프로토콜 ( Transmission Control Protocol ) -- 연결지향 TCP 3 way handshake ( 가상연결 ) -- 데이터 전달 보증 ( 데이터 누락을 알수있음 ) -- 순서 보장 -- 신뢰할 수 있는 프로토콜 UDP 특징 -- 사용자 데이터그램 프로토콜 -- 하얀 도화지에 비유 ( 기능이 거의 없음 ) -- 연결지향 X -- 데이터 전달보증 X -- 순서보장 X -- 단순하고 빠름, ----- IP 와 거의 같다 . +PORT , 체크섬(검증데이터) 정도만 추가. ----- 애플리케이션에서 추가 작..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cFMov1/btr72a8IxE1/fkqmuysJaQc7KXfzE808k0/img.png)
--- 현재비밀번호가 맞는지 확인후 , 체크박스 체크하면 , 탈퇴하도록 만들자 . -- form 형식 secessionValidate() 함수를 이용하자 . --- myPage.js 회원탈퇴 유효성 검사 . ////////////////////////////////// 회원탈퇴 //회원 탈퇴 유효성 검사 function secessionValidate(){ const memberPw = document.getElementById("memberPw"); const agree = document.getElementById("agree"); // 비밀번호 미작성 if(memberPw.value.trim().length == 0){ alert("비밀번호를 입력해주세요."); memberPw.focus(); re..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ABtja/btr7Pp63GAg/vKFNRHB5ie6lPJ4s0fhngK/img.png)
-- 폼형식의 changePwValidate() 함수를 써먹자. -- myPage.js 파일 ( 유효성 검사 ) /////////////////////////////////////////////////// 비밀번호 수정 function printAlert(el, message){ // 매개변수 el은 요소 alert(message); el.focus(); return false; } // 비밀번호 변경 제출 시 유효성 검사 function changePwValidate(){ // 비밀번호 변경 관련 input 요소 얻어오기 const currentPw = document.getElementsByName("currentPw")[0]; const newPw = document.getElementsByName..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lcdFP/btr7PjkSJnt/e4GNq2LKwx7fmDx5ZIeWs1/img.png)
수정을 하면 ?? DB 의 정보도 수정 . --------->>> -- 회원정보수정 form 에 infoValidate() 함수가 적용되어있다 . --회원정보 수정 myPage.js 구문. //////////////////////////////////////////// 회원정보 수정 function infoValidate(){ const memberNickname = document.getElementById("memberNickname"); const memberTel = document.getElementById("memberTel"); const regExp1 = /^[a-zA-Z0-9가-힣]{2,10}$/; // 닉네임 정규식 const regExp2 = /^0(1[01679]|2|[3-6][1-..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/liRCT/btr60uVvhOm/MBiVu63XvIDqThGZktBDnK/img.png)
enctype : form 태그가 데이터를 서버로 제출할 때 데이터의 인코딩 형식을 지정하는 속성 1) application/x-www-form-urlencoded - 모든 문자를 서버로 제출하기 전에 인코딩 (모든 데이터가 문자) (form태그 기본값) 2) multipart/form-data : 제출할 때 인코딩을 하지 않음 -> 모든 데이터가 원본 형태를 유지(파일이 파일상태로 서버로 제출) (주의) multipart/form-data 로 설정 시 method는 무조건 POST --- 파일명 바꾸기위해. MyRenamePolocy.class 생성 . // 파일명 변경 정책 public class MyRenamePolicy implements FileRenamePolicy{ @Override publ..