Everyday, Challenge

전체 글 115

[JSP]7. Mybatis 로 JDBC 구현하기

Mybatis로 JDBC 구현하기 [회원가입] [pom.xml] 1. ojdbc.jar 파일 설치하기: maven에서 ojdbc6.jar(11.2.0.4) 코드 복사 라이브러리 추가 확인 [DAO 수정하기] 2. sqlSessionManagerFactory 불러오기: sqlSessionManager.getSqlSession(); 3. join 메소드 만들기(DAO) 1)연결하기(sqlSession 빌리기): sqlSessionFactory.openSession(boolean autoCommit) 2)sql문 실행하기: insert(String statement, Object Parameter) 선택 –session.insert(“mapper의 id값”, sql문장에 넣을 값) 3)sql문 작성하기: [M..

코딩/JSP&Servlet 2023.06.29

[크롤링]4. selenium 실습

크롤링_04_selenium 실습 [한솥도시락 데이터 크롤링] 1. 라이브러리 불러오기 ● 웹브라우저 제어하기 위한 라이브러리(webdriver) from selenium import webdriver as wb ● html 문서에서 태그와 선택자를 찾기 위한 라이브러리(By) from selenium.webdriver.common.by import By ● 웹에 값을 입력하기 위한 라이브러리->컴퓨터용 키보드(Keys) from selenium.webdriver.common.keys import Keys ● 컴퓨터가 이해하기 쉬운 객체 형태로 변환하는 라이브러리(BeautifulSoup) from bs4 import BeautifulSoup as bs 2. 크롬창 열기(한솥도시락 메뉴 페이지 열기) u..

코딩/크롤링 2023.06.29

[JSP]6. Maven&Mybatis

[Maven] 1. Maven: 빌드 절차를 간소화하는 빌드도구(외부라이브러리 설치) -build: 소스코드를 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 및 결과물 -다수의 인원이 협력해서 개발하기 편리함(실제 파일이 없어도 사용가능) -라이브러리 파일을 직접 추가하지 않아도 코드 사용으로 라이브러리 사용이 가능함 -하위라이브러리까지 자동으로 설치됨 2. maven project 만들기: new-other-maven 검색 filter: maven-archetype-webapp 검색 Group id(그룹 식별, 도메인 역순으로 작성): com_smhrd Artfact id(프로젝트 식별):maven 3. superclass 상속: build path-other and export-체..

코딩/JSP&Servlet 2023.06.28

[크롤링]3. selenium 라이브러리

크롤링 03_selenium 1. selenium: 크롤링 자동화(제어) 를 도와주는 라이브러리 -인터넷 검색과정을 대신 해주는 역할 -크롤링 자동화가 필요한 이유: 동적페이지는 사용자에 따라 맞춤화면이 출력되어야 하기 때문에 2. selenium 라이브러리 사용하기: ● selenium 라이브러리 설치하기: !pip install selenium ● webdriver 라이브러리 -from selenium import webdriver as wb -웹브라우저 제어하는 역할(웹브라우저≠웹 페이지) -웹브라우저에 대한 모든 정보를 담고 있음 ● html 문서에서 태그와 선택자를 찾기 위한 라이브러리(By) from selenium.webdriver.common.by import By ● Keys 라이브러리:..

코딩/크롤링 2023.06.28

[JSP]6. Maven&Mybatis

1. Maven: 빌드 절차를 간소화하는 빌드도구 -build: 소스코드를 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 및 결과물 -다수의 인원이 협력해서 개발하기 편리함(실제 파일이 없어도 사용가능) -라이브러리 파일을 직접 추가하지 않아도 코드 사용으로 라이브러리 사용이 가능함 -하위라이브러리까지 자동으로 설치됨 2. maven project 만들기: new-other-maven 검색 filter: maven-archetype-webapp 검색 Group id(그룹 식별, 도메인 역순으로 작성): com_smhrd Artfact id(프로젝트 식별):maven 3. superclass 상속: build path-other and export-체크 후 apply 4. pom.xml..

코딩/JSP&Servlet 2023.06.27

[크롤링]2. 크롤링 실습

[멜론 TOP 100] [실습]멜론 차트 TOP100 가져오기 1. 페이지 불러오기 ● 보안상 접근 불가한 경우 우회접속하는 방법 -개발자모드(F12)Network-F5-맨 위에 있는 document 문서 열기 -Headers-User-Agent 값 복사 -변수={’User-Agent’: User-Agent 값} -req.get(url, headers=변수) 2. bs 객체화하기: soup=bs(res.text, 'lxml') 3. 원하는 태그 선택하기 -클래스명에 공백이 있는 경우 온점(.)으로 대체하기 예)ellipsis rank01→ellipsis.rank01 -공백은 자손선택자를 의미하므로 'ellipsis'의 자손선택자 'rank01'로 이해함 -클래스명에 공백이 있는 이유: 클래스가 여러 개이..

코딩/크롤링 2023.06.27

[JSP]5. Scope

1. Scope: 웹 어플리케이션의 영역(내장 객체 영역, 객체의 유효기간) →데이터 전송범위 , 데이터 저장 유효기간과 관련 2. 내장객체 객체 생성: .setAttribute(name, value), 이름에 값 설정 객체 조회: .getAttribute(name), 설정한 값 조회 객체 삭제: .removeAttribute(name), 설정한 값 제거 1)Page: 한 페이지에서 객체 생성, 조회, 다른 페이지에서는 객체 조회 안 됨 -1번 페이지에서 객체를 생성하고 2번에서 1번 객체를 조회하면 null값 2)Request: 하나의 요청에 대해 데이터 유지 -1번 페이지의 request와 2번 페이지의 request는 서로 다른 request객체 -2번 페이지 실행 시 1번 페이지의 데이터 유지x ..

코딩/JSP&Servlet 2023.06.26

[크롤링]1. 크롤링 기초

1. 크롤링: Web상에 존재하는 Contents를 수집하는 일련의 과정 2. 크롤링 라이브러리 1)requests 라이브러리 -접근할 웹페이지의 데이터를 요청 및 응답받기 위한 라이브러리 라이브러리 불러오기 요청하기: req.get('요청할 주소') 응답의 종류 -Response [200]번대: 성공적으로 요청 및 응답을 받음 -Response [400]번대: 클라이언트(요청) 측에서 오류 발생 -Response [500]번대: 서버(응답) 측에서 오류 발생 페이지 html 문서만 추출: res.text(String 타입) 2)beautifulsoup 라이브러리: 복잡한 html문서(tag soup)를 컴퓨터가 이해할 수 있는 객체로 변경해주는 라이브러리 라이브러리 불러오기 request 라이브러리로 ..

코딩/크롤링 2023.06.26

[JSP]4. cookie&session

1. HTTP의 한계: 비연결형 프로토콜→페이지 연결한 후 연결종료하므로 정보유지 안 됨 2. cookie&session: client의 정보를 지속적으로 유지하기 위한 방법 3. cookie: 정보 저장위치→client PC -전달할 데이터를 웹 브라우저(client)에 보냈다가 web server로 돌려받는 방법 -자원: Client의 자원을 사용하므로 서버에 영향을 주지 않음→유지비용↓ -저장형식: web 페이지 방문 시 브라우저에서의 정보들이 텍스트 파일에서만 저장가능 -보안에 취약하므로 중요하지 않은 정보만 저장해야 함 -용량: 쿠키 하나 당 4KBX300개=1.2MB cookie 생성 및 동작 과정 client request(id,pw) 1 server response(+cookie) 1 co..

코딩/JSP&Servlet 2023.06.23

[Python]9.Matplotlib

Python_10_Matplotlib 데이터 시각화 -광범위하게 분산된 방대한 양의 자료를 한눈에 볼 수 있도록 도표나 차트 등으로 표현 -시각화를 통해 데이터의 특징을 쉽게 파악할 수 있음 -분석결과를 상대방에게 효과적으로 전달할 수 있음 2. Matplotlib 라이브러리 -그래프의 종류:scatter(산점도), bar(막대 그래프), pie, histogram 등 -그래프 라이브러리: pyplot, pylab 3. pyplot 라이브러리 사용하기: import matplotlib.pyplot as plt -그래프 만들기: plt.plot(요소) -그래프 출력하기: plt.show() 4. 선 그래프(line) 요소 선언: 변수=[값1, 값2,... ] 그래프 만들기: plt.plot(변수명) 그래프..

코딩/PYTHON 2023.06.23