Everyday, Challenge

분류 전체보기 113

[JSP]2. 내장객체

JSP_03_내장객체 내장객체: JSP page 안에 선언하지 않고도 사용할 수 있는 객체 2. out객체 3. request 객체: 데이터 전달받는 객체 [실습1] [오류] 404 에러→보내는 주소와 받는 주소 비교(form 태그 action 주소 확인) 500 에러 →문법 오류(console창 오류 확인) [실습2] [실습3] 2번째 name을 하나로 통일하여 getParameterValues로 받아오기 4. response 객체 response.sendRedirect(): 요청 2번 [실습4]

코딩/JSP&Servlet 2023.06.21

[JSP]1. JSP의 구성요소

1. JSP의 필요성 -Servlet은 수정이 어려움 -프로그램이 복잡해지면 Servlet을 통해 출력되는 HTML페이지를 상상하기 어려움 -Servlet→java 기반 / JSP→HTML 기반 2. JSP(Java Server Page): HTML 내에 Java 코드를 작성하고 웹 서버에서 웹 페이지를 생성하여 Web browser에 돌려주는 Java 기반의 스크립트 언어→서블릿의 일종으로 서블릿으로 변환됨 3. JSP life Cycle 4. JSP의 구성요소 1)스크립트릿: JAVA 코드를 작성하는 부분, JSP는 HTML 기반이므로 줄여가는 것이 좋음 *jsp 파일 경로 *public void _jspService 메소드의 try-catch문에 스크립트릿에서 작성한 코드가 입력됨 2)표현식: 웹 ..

코딩/JSP&Servlet 2023.06.20

[Python]7. Numpy 라이브러리

1. 라이브러리(library) -자주 쓰는 함수, 변수들을 모아놓은 파이썬 파일 -자주 사용하는 기능을 모듈화, 패키지화 2. 라이브러리의 종류 1)표준라이브러리: 파이썬에서 기본으로 제공하는 라이브러리 예)Random 2)외부라이브러리: 개발자가 필요에 의해 개발한 패키지와 모듈의 집합 3. 모듈 사용하기 -모듈에 함수 정의 후 python 확장자로 다운로드하고 주피터 노트에 업로드 -새 파일에서 모듈 import하여 함수 사용하기 [데이터 분석 라이브러리] 1. numpy -파이썬 자료형 list와 비슷한 형태 -빠르고 효율적인 산술연산을 제공하는 다차원배열 제공(ndarray 클래스) -반복문 없이 전체 데이터 배열 연산이 가능한 표준 수학 함수(sum(), sqrt(), mean()) -사용방법..

코딩/PYTHON 2023.06.20

[Servlet]3. 데이터 전송방식(get/post)

Servlet_03_데이터 전송방식 HTTP: 인터넷 상에서 데이터를 주고받기 위한 서버/클라이언트 모델을 따르는 전송 프로토콜 2. GET 방식 url에 데이터를 얹어서 전송 데이터 길이에 제한(1024byte) url에 데이터가 노출되어 상대적으로 보안에 취약 method 속성에 따로 작성하지 않으면 기본값으로 적용 post 방식보다 전송속도가 빠름 →캐시(임시저장소)에 저장하기 때문에 같은 페이지를 다시 불러올 때 데이터를 다시 로딩하지 않아도 돼서 속도가 빠름 데이터 전송 전 데이터 전송 후 3. POST 방식: 대용량 데이터, 이미지 패킷의 body에 담아서 데이터 전송 데이터의 길이에 제한 없음 데이터가 노출되지 않기 때문에 get방식에 비해 보안에 강함 method 속성에 post라고 명시해..

코딩/JSP&Servlet 2023.06.19

[Python]6. 딕셔너리, 함수

Python_06_딕셔너리, 함수 [딕셔너리] 1. 딕셔너리 - key와 value를 한 쌍으로 갖는 자료형 -immutable한(불변적인)key와 mutable한(가변적인) value로 매핑(짝꿍)되어있는 순서가 없는 집합→key값으로 데이터를 불러옴 -순서(index)가 없으므로 인덱싱, 슬라이싱 불가 -값과 값의 특성을 표현하기 위해 사용 ex){김연아: 피겨} -key는 변하지 않는 값을 사용하고 value에는 변하는 값, 변하지 않는 값 모두 사용가능 예)key에 리스트는 불가, 튜플은 가능 2. 딕셔너리 선언 및 타입확인 -선언방법: 딕셔너리명={key:value, key: value, …} 3. 딕셔너리 값 조회하기 -딕셔너리 변수명[key] -딕셔너리 변수명.get(key) 4. 딕셔너리 ..

코딩/PYTHON 2023.06.19

[Servlet]2. 데이터 전송(get방식)

Servlet_02_데이터 전송(get) 1. URL Mapping: Web browser에서 Servlet을 동작시키기 위해 실제 Java 클래스 이름 대신 Servlet을 요청하기 위한 문자열을 Servlet 클래스와 Mapping시키는 것 웹 모듈이 4.0이상일 때 어노테이션 방식 사용 -사용방법: @Webservlet(“/매핑값”) -필수값, 주소 찾을 때 매핑값으로 주소 연결 -매핑값은 중복 불가 2. URL Pattern querystring: 전송할 데이터 URL: 네트워크 상에서 자원의 위치(웹사이트 주소+자원의 위치) URI: 자원의 위치(통합자원식별자) ServletPath: URL Mapping 값 -변경방법 1. 클래스 내에서 직접 변경 -변경방법 2. 프로젝트 생성 시 URL Ma..

코딩/JSP&Servlet 2023.06.19

[JAVA]16. JDBC

[JDBC] JDBC(JAVA Database Connectivity) Java에서 Database에 접속할 수 있도록 하는 API API(Application Interface): 프로그램과 프로그램의 상호작용을 도와주는 매개체 연결과정 [실습]회원가입, 로그인 기능 구현 [DB] DB워크시트에 회원정보 작성 -SELECT: 회원조회(로그인) -INSERT: 회원가입 -UPDATE: 회원정보 수정 -DELETE: 회원정보 삭제 DB 워크시트를 JAVA 프로젝트 내에 저장 [JAVA] 1. 회원정보 입력받기(Scanner 도구): 입력값을 id, pw, name, age 변수에 저장 2. JDBC 연결순서 1)Oracle 연결에 필요한 외부라이브러리(ojdbc6 jar) 불러오기(import) -ojdb..

코딩/JAVA 2023.06.19

[JAVA]15. 추상화&인터페이스

추상클래스의 필요성 -상속관계에서 하위클래스가 반드시 구현해야 함을 알릴 때(강제성) -설계와 구현 분리: 상위클래스에서 개념적 특징/하위클래스에서 구체적 행위 구현 2. 추상클래스 규칙 추상클래스->하위클래스에서 추상메소드를 오버라이딩해야 함 부모클래스에 생성자가 있으면 자손클래스에서도 생성자를 만들어야 한다. super(): 조상클래스의 생성자를 호출하는 데 사용된다. ->생성자의 첫 줄에 입력해야 함 [실습] 1)직원 클래스(추상클래스) 만들기 -속성: 사번, 이름, 급여 -추상메소드: getMoneyPay() -생성자(속성들의 값을 담을 메소드) 만들기 -변수에 접근할 getter, setter 메소드 만들기 2)직급별로 VO클래스 만들기(추가속성, 메소드) -직원 클래스 상속받기(생성자, 추상메..

코딩/JAVA 2023.06.16

[Servlet]1. 웹 통신

1. 웹 통신(20p.) -웹의 요소: HTML/URL /Web Browser, Web Server/HTTP 2. 웹 클라이언트 서버구조 -client: 데이터/서비스 요청 -server: 데이터/서비스 제공 1:n의 구조 3. 웹 흐름 -Web Browser: 웹페이지 요청(www.naver.com) -Web Server: html 문서로 응답 →웹 브라우저가 문서 해석 후 웹페이지로 변환 4. 웹페이지의 종류 -정적 페이지(Static Web): 저장된 데이터를 보여주는 페이지(사용자에 따라 바뀌지 않음) 예)위키백과, 나무위키 등 -동적 페이지(Dynamic Web): 사용자에 따라 화면을 다르게 보여주는 페이지 예)네이버, 유튜브 등(사용자에 따라 추천 페이지 달라짐) 5. WAS(Web Appl..

코딩/JSP&Servlet 2023.06.16

[Python]5. 반복문 실습

Python_05_반복문 실습 [실습1] #1. 97부터 77까지 가로로 출력 for i in range(97, 76, -1): print(i, end=" ") #23부터 39까지 가로로 출력 for i in range(23, 40, 1): print(i, end=" ") [실습2]list의 최대값 출력 list2=[4,5,2,1,99,15,2,7,27] max=list2[0] for i in list2: if(maxi): min=i min start=int(input("첫 번째 정수 입력>>")) end=int(input("두 번째 정수 입력>>")) for i in range(start, end+1, 1): print(i, end=" ") [pickle 라이브러리] 1. pickle 라이브러리 -파이..

코딩/PYTHON 2023.06.15