반응형

원래 인스톨 해줘야 하지만 우리는 아나콘다를 사용하고 있고 아나콘다 내부에 Matplotlib가 있기 때문에 

따로 설치해 줄 필요는 없습니다.

 

 

# Matplotlib 를 이용한 시각화
life_exp = df.groupby('year')['lifeExp'].mean() #Plot의 y축 데이터
life_exp.head()

 

%matplotlib inline   # notebook 안에다가 그래프를 그려줌.
#차트를 그려 봅니다.
# matplitlib를 임포트하면 DataFrame 내에 차트 메서드들이 동적으로 추가됩니다.
import matplotlib.pyplot as plt
# 별칭으로 plt를 사용하겠습니다.
life_exp.plot()

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

year

year로 그루핑

 

그룹핑된 데이터 셋의 기초 통계량 계산

 

여러 콜럼의 산술 평균

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

Pandas는 데이터 분석을 위한 파이썬 라이브러리입니다.

data.zip
0.03MB

위의 data.zip은 우리가 예제로 사용할 압축파일입니다.

이 압축파일을 사용하시는 jupyter폴더에 압축을 풀어주세요

쥬피터를 실행하시면 됩니다. 아래와 같은 화면이 나옵니다.

data를 확인해 보겠습니다.

이걸 확인하면 아래와 같은 정보가 있습니다.

이걸 가지고 실습을 시작하겠습니다.

 

메인화면에서 new - python3을 만들어 주겠습니다.

head()함수 : 앞에서부터 출력합니다. 기본값은 앞에서 5줄을 추출합니다.

tail()함수: 뒤에서부터 출력합니다. 기본은 5줄

type() 함수 : 데이터 타입의 확인

.clumns  : 어떠한 콜럼들을 가지고 있는가?

info() : 전반적인 정보 확인

.types : 자료형을 확인합니다.

단일 컬럼을 추출합니다.

복수개의 컬럼을 추출합니다.

특정 행을 추출합니다.

역 인덱싱

콜럼의 범위 지정

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

서블릿으로 회원 정보 테이블 조회 #1을 연결하여 진행하겠습니다.

 

새로만든 pro07프로젝트에서

회원조회와 관련된 자바클래스 파일인 MemberDao, MemberServlet, MemberVO 클래스를 생성해 보겠습니다.

이제부터 코딩을 해보겠습니당!

package sec01.ex01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MemberDAO {
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:thin:@localhost:1521:XE";
private static final String user = "scott";
private static final String pwd = "scott";
private Connection con;
private Statement stmt;

public List listMembers() {
List list = new ArrayList();
try {
connDB(); // 네 가지의 정보로 데이터베이스에 연결합니다.
String query = "select * from t_member";
System.out.println(query);
ResultSet rs = stmt.executeQuery(query);  // SQL문으로 회원 정보를 조회합니다.
System.out.println(rs);
while(rs.next()) {
String id = rs.getString("id");
String pwd = rs.getString("pwd");
String name = rs.getString("name");
String email = rs.getString("email");
Date joinDate = rs.getDate("joinDate");
System.out.println("안뇽");
MemberVO vo = new MemberVO();
vo.setId(id);
vo.setPwd(pwd);
vo.setName(name);
vo.setEmail(email);
vo.setJoinDate(joinDate);

list.add(vo);
}
rs.close();
stmt.close();
con.close();
}catch(Exception e) {
e.printStackTrace();
}
return list; // 조회한 레코드의 개수만큼 MemberVO 객체를 저장한 ArrayList를 반환합니다.
}
private void connDB() {
try {
Class.forName(driver);
System.out.println("Oracle 드라이버 로딩 성공");
con = DriverManager.getConnection(url, user, pwd);
System.out.println("Connection 생성 성공");
stmt = con.createStatement();
System.out.println("Statement 생성 성공");

} catch (Exception e) {
e.printStackTrace();
}
}
}

package sec01.ex01;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/member")
public class MemberServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
MemberDAO dao = new MemberDAO(); //SQL문으로 조회할 MemberDAO 객체를 생성합니다.
List list = dao.listMembers();   // listMembers()메서드로 회원 정보를 조회합니다.

out.print("");
out.print("

"); out.print(""); for (int i =0; i <list.size(); i++) { MemberVO vo = (MemberVO) list.get(i); // 조회한 회원 정보를 for문과  태그를 이용해 리스트로 출력합니다. String id = vo.getId(); String pwd = vo.getPwd(); String name = vo.getName(); String email = vo.getEmail(); Date joinDate = vo.getJoinDate(); out.print(""); } out.print("

");


}
}

 

package sec01.ex01;

import java.util.Date;

public class MemberVO {

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getJoinDate() {
return joinDate;
}
public void setJoinDate(Date joinDate) {
this.joinDate = joinDate;
}

private String id;
private String pwd;
private String name;
private String email;
private Date joinDate;


}

아래의 주소로 접속하시면

이러한 이러한 결과물이 나타나게 됩니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

sqlDeveloper 실행후 왼쪽에 +를 눌러서

새로 만들기 클릭

이렇게 했을때 혹시

로그인이 안되면 scott 계정이 lock 걸려있을 경우가 있습니다.

 

https://windorsky.tistory.com/entry/ORACLE-SCOTT-%EA%B3%84%EC%A0%95-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%ED%99%9C%EC%84%B1%ED%99%94%ED%95%98%EA%B8%B0

 

ORACLE SCOTT 계정 사용하기/ 활성화하기

실행창 (윈도우키 + R)을 눌러줍니다 열기에 cmd를 입력하고 확인을 눌러주면 이런 창이 나타나게 되는데 SQLPLUS 를 입력해주면 이러한 창이 뜨게 됩니다 여기서 시스템 계정으로 로그인해 줍니다 show user..

windorsky.tistory.com

이거 보고 따라하시면 해결 됩니다.

그 후 아무것도 없는 창이 하나 뜨면

이렇게 코딩해주시면 됩니다

첫번째는 t_member라는 table을 만드는 것이고

그 다음은 회원 정보를 t_member에 넣어주는 거에요

테이블 만드시고 ctrl+enter 

정보 입력 하실때마다 ctrl+enter 

commit; ctrl+enter

해주셔야 적용이 됩니다

; 를 기준으로 실행됩니당.

그 후 select * from t_member; (t_member 테이블에 있는 모든 정보를 보여줘~)

하시면 우리가 입력한 정보가 출력이 되는 걸 알 수 있습니다.

 

 

이후에 이클립스에서

새로운 프로젝트를 만들겠습니다

저는 pro07로 만들겠습니다

생성후

 

이클립스 WebContent/WEB-INF/lib에 ojdbc6.jar 를 복사해서 넣어줍니다.

아래의 사이트에서 다운 받을 수 있습니다.

 

https://www.oracle.com/database/technologies/jdbcdriver-ucp-downloads.html

 

Oracle Database 11g Release 2 JDBC Driver Downloads

Oracle Database 11.2.0.4 JDBC Driver & UCP Downloads Oracle Database 11g Release 2 (11.2.0.4) JDBC Drivers & UCP Downloads Zipped JDBC Driver and Companion JARs Download Release Notes (6,761,477 bytes) - (SHA1 Checksum: 1ce3d1055b94ee1c6148d74a440c937d0a2d

www.oracle.com

 

다음 챕터에서는 이클립스 내 파일 생성과 코드 입력을 해 보겠습니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

실행창 (윈도우키 + R)을 눌러줍니다

열기에 cmd를 입력하고 확인을 눌러주면

이런 창이 나타나게 되는데

SQLPLUS 를 입력해주면 이러한 창이 뜨게 됩니다

여기서 시스템 계정으로 로그인해 줍니다

show user를 입력하시면 현재 접속해 있는 계정을 나타냅니다

이 후에 아래와 같이 따라서 쳐주면 됩니다.

alter user 계정명 identified by 비밀번호 account unlock;

lock이었던 scott 계정을 unlock으로 변경이 됩니다.

그 후 connect 계정/비밀번호;

를 하면 연결이되고

show user 를 통해서 현재 어떠한 계정으로 들어와있는지 확인할 수 있습니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. 첫 화면을 표시 해줄 gugu.html을 만들어 봅니다.

2. gugu.html에서 보내주면 처리할 서블릿인 GuguTest 클래스를 만들어 줍니다.

 

요렇게 작성해 줍니다.

실행해 볼까요?

프로젝트를 RUN 하시고 주소창에 위와 같이 적어줍니다.

그러면 위의 화면이 나오게 되는데 원하는 구구단을 입력후 출력을 눌러보세요.

알록달록한 구구단이 출력되었습니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

문제: 방금 전 만든 예제를 이용해 로그인시 ADMIN ID로 로그인하면 회원관리와 회원 삭제 기능을 보여주도록 작성하시오.

 

 

 

sec04.ex01 패키지 내에 LoginTest2 클래스를 만들어 주었습니다

WebContent / test01 / login.html은 전 예제에서 만든 것이고 내부에 action만 바꿔주었습니다.

 

LoginTest2 
login.html

login.html에서는 전 예제에서 action=에 loginTest2 로 숫자를 추가해주었습니다.

주소창에 localhost:8080/pro06/test01/login.html을 입력하면 아래와 같은 화면이 나타나게 됩니다.

(aaaa는 제가 입력해놓은거에요..)

우리가 코딩을 한 것처럼 admin으로 접속을 하게 되면(비번은 상관없어요)

요렇게 화면이 나타나게 됩니다.

참고로 회원정보 수정하기와 회원정보 삭제하기는 표시만 해놓은거지 눌러도 아무 변화가 없습니다.!

반응형
블로그 이미지

꽃꽂이하는개발자

,