반응형

아래의 데이터를 예를 들어 사용해 보겠습니다.

loc: 인덱스, 콜럼 아무것이나 사용가능

iloc: 행번호만 사용가능(정수)

# 정수만 사용가능하며 [0부터 시작하여 1번째 콜럼,3번째콜럼,-1이면 마지막 콜럼]

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

커넥션 풀

  온라인 쇼핑몰의 경우 동시에 수십에서 수백명까지 접속해서 조회, 주문등 다양한 기능을 사용하는데 앞의 방법처럼 데이터 베이스와 연동해 작업해야 한다면 너무 비효율적입니다.

 

이 문제를 해결하기 위해 현재는 웹 어플리케이션이 실행됨과 동시에 연동할 데이터베이스와의 연결을 미리 설정해둡니다.

  이렇게 미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션 풀 (ConnectionPool)이라고 부릅니다.

 

JNDI

  실제 웹 어플리케이션에서 ConnectionPool 객체를 구현할 때는 Java SE에서 제공하는 javax.sql.DataSource 클래스를 이용합니다.

그리고 웹 어플리케이션 실행 시 톰캣이 만들어 놓은 ConnectionPool 객체에 접근할 때는 JNDI를 이용합니다.

  JNDI란 필요한 자원을 키/값 쌍으로 저장한 후 필요할 때 키를 이용해 값을 얻는 방법입니다.

 

아래와 같이 Servers에 들어가서 context.xml을 찾고 우측과 같이 코딩을 합니다

username과 password 는 본인이 아이디와 비밀번호를 넣어주시면 됩니다.

 

이제 설정을 마쳤으니 클래스를 만들어 연동해 보겠습니다.

sec02.ex01 패키지를 만들고 앞에서 사용한 MemberDAO, MemberServlet, MemberVO 클래스를 복사하겠습니다.

MemberDAO클래스에서 서블릿 매핑 이름을 /member2 로 바꿔줍니다.

 

아래의 import는 코딩하시면서 해주셔야 합니다. 단축키(ctrl+ shift +o)

아래에 주석처리된 부분은 저희가 커넥션 풀을 이용하였기 때문에 주석처리를 해줍니다.

 

앞에서 한 것과 결과는 같지만 이번에는 커넥션 풀을 이용해서 데이터베이스와 연동했다는 점에서 차이가 있습니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

앞에서는 statement를 이용해서 연동하였는데 이럴 경우 연동 할때마다 DMBS에서 다시 SQL문으로 컴파일해야 하므로 속도가 느리다는 단점이 있습니다

이럴 경우 PrepareStatement 인터페이스를 사용하면 SQL문을 미리 컴파일해서 재사용하므로 Statement 인터페이스보다 훨씬 빠르게 데이터 베이스 작업을 수행할 수 있습니다. 

  따라서 데이터베이스와 연동할 때 또는 반복 처리가 필요할 때는 PrepareStatement 인터페이스를 사용해야 합니다.

  또한 PreparedStatement 인터페이스에서는 실행하려는 SQL문에 "?"를 넣을 수 있습니다. 따라서 "?"의 값만 바꾸면 손쉽게 설정할 수 있어 Statement보다 SQL문 작성하기가 더 간단합니다.

 

sec01.ex02 패키지 내에

MemberServlet, MemberVO를 복사해서 넣어두고

MemberDAO 만 작성합니다.

기존의 statement 를 제거하고

preparedStatement 를 추가해줍니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

아나콘다에는 seaborn이 있어서 따로 설치해주지 말고 import만 해주면 됩니다 (예전 anaconda는 없을 수도 있음)

데이터를 시각화 해보도록 합니다.

 

산점도 그래프

박스 그래프

히스토그램

 

Pie chart

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

numpy.nb.zip
0.00MB

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

저장을 하게 되면 data폴더 내에 thiees.csv 파일이 생기게 됩니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

 

반응형
블로그 이미지

꽃꽂이하는개발자

,