전체 글

· sevlet
jsp 서블릿 흐름도 실습 score.html ☆☆☆☆★ ☆☆☆★★ ☆☆★★★ ☆★★★★ ★★★★★ 별점주기 score.html 의 url 경로에 score.jsp를 넣는다. score.jsp 에서 할 것 선택한 별점은 ~입니다. 영화 총점은 ~입니다. 참여한 인원수는 ~입니다. 영화 평점은 ~입니다. 선택하신 별점은 점입니다. 영화총점은 입니다. 참여한 인원수 입니다. 영화 평점은 입니다. totalScore, totalCnt 는 멤버변수로 두어 값을 기억할 수 있도록 한다. 지역변수로 선언하게 되면 매번 새로만들어져서 초기화되어 누적이 되지 않는다.
· git
버전관리시스템 1. file1.t.xt 파일 작업완료 -> 이메일로 전송 -> 파일을 변경( 덮어씌우기) -> 다시 이메일로 전송 -> 다시 원상태로 변경을 해야함 -> 이미 덮어씌우기를 해서 이전 파일이 없는 경우 -> 다시 만들어야함 만약 큰프로젝트가 들어와서 100개의 파일을 만들고 수정을 해야할 상황이 오면 전체를 복제해한다. 시간이 오래걸리고 용량이 많아진다. 또 바이러스, 컴퓨터가 꺼지는 상황이 오면 파일이 날아가게 된다. 2. VCS -버전 관리시스템 수정을 할 떄 마다 전체복사를 하는 것이 아닌 부분변경을 하여 용량을 효율적으로 사용할 수 있다. 단점 : 바이러스에 취약함, 로컬에서 관리하기 때문에 협업 X 3. CVCS - 중앙집중형 버전 관리시스템 파일을 한 곳에 최초 업로드를 하고 내..
· git
git GPL 라이센스 - A소프트웨어(GNU) -> B소프트웨어를 만들면 (무조건 공개되어야 함, 의무적임) 리눅스 ( 오픈소스재단) 여러명의 사람들이 하나의 프로젝트를 협업한다. 기존에는 파일을 압축하였다. 같은 파일을 건드리게 되면 누군가는 합쳐야 한다. Bitkeeper -> DVCS - 분산버전 관리 시스템을 사용 Bitkeeper 기술을 바탕으로 git을 만듬 - 버전관리 시스템 git라이센스 - GNU GPL라이센스를 따라야 함 github gihub - 코드 저장소 예를 들어 회사에서 개발을 하다가 다른 곳에서 해야되는 상황이 있을 때 gihub에 공유를 하면 된다. public -공개 mit private -비공개 mit 라이센스 소스 코드를 공개함, 업그레이드 개발을 했을 때 그 코드를..
· 스프링
URL 패턴 @Webservlet("/hello") public class HelloServlet extends HttpServlet { 종류를 보면 1번부터 4번까지 우선순위로 되어있다. exact mapping - 정확히 일치하는 것 path mapping 경로를 찾아서 일치시킴 extension mapping - 확장자 default mapping - 모든 주소가 매핑되며 앞의 것이 안될때 최종적으로 매핑 @webSevlet - > 스프링에서는 @Requsetmapping으로 사용됨 DispathSelvlet으로 모든 요청을 처리한다. EL (Expression Language) => ${값} 아래의 코드에서 보듯이 기존에 표시했던 방식을 ${값}으로 나타낸다. 실습 Person에는 Car와 get..
· sevlet
https://float.tistory.com/157 [서블릿과 JSP ] 2 . 유효범위와 속성 HTTP특징이 상태정보를 저장하지 않기 떄문에 저장소가 필요하다. 4개의 저장소를 가지고 있으며 사용하는 목적에 따라 알맞게 사용한다. pageContext - jsp 파일내에서만 사용가능 application - 공통저 float.tistory.com 개념적인 부분은 이전 게시글을 참고 https://float.tistory.com/161 서블릿 request , response 실습 url에 /move로 데이터를 요청 MoveServlet 에서 요청받은 데이터값을 얻기 - redirect, forword, include 로 표현 MoveServlet -> ResultSevlet 으로 응답출력하기 1. u..
· 개념정리
로그인 페이지에서 로그인버튼을 클릭 submit 이벤트 발생 -> 기본이벤트 핸들러를 막도록 함사용자가 버튼을 눌렀을 때만 이벤트가 발생해야 되기 떄문에 기본 이벤트 핸들러를 막아야한다. form의 객체를 얻고 그 값을 loginFormObj 변수에 담는다. submit 이벤트가 발생했을 때 리턴값을 false로 하여 이벤트 헨들러를 금지한다. 현재는 로그인버튼을 눌러도 아무 반응이 없다. form의 경로는 아래와 같다. ajax 요청-> 결과를 가져와서 특정값 호출 url, method, data, seccess, error 의 프로퍼티를 정의한다. url 은 ajax 을 요청할 url이 된다. 아래 코드의 위치경로를 나타낼것이다. 이것을 바로 나타내지 않고 새로운 변수에 값을 대입해서 나타낼 것이다...
· sevlet
url에 /move로 데이터를 요청 MoveServlet 에서 요청받은 데이터값을 얻기 - redirect, forword, include 로 표현 MoveServlet -> ResultSevlet 으로 응답출력하기 1. url에 move로 데이터 요청 http://localhost:8888/firstEE/move?t=a 2. MoveServlet 에서 요청받은 데이터값을 얻기 1) 응답형식지정 response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); 2) 요청전달데이터opt값 얻기 - redirect, forword, include 로 표현 3. MoveServlet -> ResultSevlet 으로 응답출력하기 출력값 ..
· React
useState 를 사용하여 버튼 클릭시 1씩 증가시키기 let num =1; const add =() =>{ num++ console.log('add',num); } return ( 숫자: {num} 더하기 ); } export default App; 위의 코드를 보면 num 변수를 정의하여 함수에 num++ 로 하나씩 증가하도록 하였다. 일반적인 변수는 랜더링시점에 대해 리액트가 알지 못하기 때문에 상태값을 변경해야 한다. let num = 1; 의 구문을 주석처리 하도록 하겠다. useState - react안에 hooks 라이브러리를 사용한다. //let num =1; const [num, setNum] = useState(1); //react안에 hooks라이브러리 사용 const add =()..
· React
불변함수 -> 깊은 복사 함수 1. spread (전개) 연산자 2. concat (추가하기) 3. filter 걸러내기 (삭제시 사용) 4. slice 잘라내기 5. map 1. 스프레드(전개) 연산자 [...a]를 사용하면 배열을 복사한다. b의 값에 4를 넣고 확인을 해보았다. 이런식으로 복사해서 추가하는데 사용할 수 있다. 결과값 2. concat (추가하기) a2에 4를 추가한 값이 b2에 들어간다. - 깊은 복사 만약 a2.concat(4) 이 아닌 a2.push(4)를 할 경우에는 b2의 값은 4만 출력된다. 3. filter 걸러내기 (삭제시 사용) const b3 = a3.filter((n) => { return n != 1; }); filter 안에는 함수가 들어간다. ( )=>{ };..
보호되어 있는 글입니다.
-JUNHEOK-
개발일지