'Code'에 해당되는 글 161건
문자열 사용하기
- print를 통해 문자 혹은 문자열을 출력한다.
- 문자열 사용하기
>>> hello = '안녕하세요'
>>> hello
#결과 안녕하세요
- 여러줄의 문자열 출력하기 ''' ''' 혹은 """ """
hello = '''hello,world
python
입니다.'''
#결과
hello,word
python
입니다.
-> 줄 띄움을 \n으로 인식하여 출력함
-문자열 안에 작은 따옴표 혹은 큰 따옴표 포함하기 ' " " ' 혹은 " ' ' "
>>> s = 'He said "python is easy"'
>>> s
#결과 He said "python is easy"
불과 비교, 논리 연산자
- boolean : 참(true)와 거짓(false)
비교 연산자와 논리 연산자의 판단 결과로 True, False를 사용함 -> 연산 결과 맞으면 True 아니면 False 반환
>>> 10 == 10
#결과 True
>>> 'Python' == 'python'
#결과 False
>>> 1 == 1.0
#결과 True
#-> 값 자체를 비료
>>> 1 is 1.0
#결과 False
#->객체를 비교하여 정수와 실수가 다르기 때문에 False 반환
- 논리 연산자 : and, or, not (부정) 사용
>>> 10 == 10 and 10 != 5
#결과 True
>>> 10 > 5 or 10 < 3
#결과 True
>>> not 10>5
#결과 False
>>> not 1 is 1.0
#결과 True
변수와 입력 사용
- 인터프리터 언어로 한줄 쓰고 엔터치면 결과 화면에 출력됨
변수 : 데이터 타입이 필요 없이 변수 명만 선언하고 값을 입력할 수 있다.
변수이름 = 값 ex) x = 10
x라는 변수 이름에 10이라는 숫자형태의 값을 넣는다는 의미
- 명명 규칙
: 영문자와 숫자 사용가능, 대소문자 구분함, 문자로 시작하며 숫자로 시작 불가, _로 시작 가능, 특수문자 사용 불가, 파이썬 키워드 사용 불가
- 변수 여러 개를 한 번에 만들기
ex) x, y, z = 10, 20, 30 or x = y = z = 10 (같은 값 입력 할 때)
- 두 변수 값 바꾸기 : 기본 프로그래밍에서는 임시변수를 만들어 저장하고 값을 바꾸어 주었다.
파이썬은 x, y = y, x 을 통하여 변경 가능
>>> a = 10
>>> b = 10
>>> c = a+b
>>> c
-> a 와 b가 더해진 c가 출력이 된다.
- 입력 사용 : input() 함수를 사용하여 사용자에게 입력 값 받음
x = input() -> 사용자에게 입력받은 값을 x에 넣는 의미
x = input('숫자를 입력하세요 ; ') -> 사용자에게 숫자를 입력하세요 : 커서로 보여지며 입력할 수 있도도록 함
하지만 사용자가 숫자를 입력하더라도 x에는 문자형태로 들어가기 때문에 타입변환이 필요하다.
- 숫자로 타입변환
x = int( input('숫자를 입력하세요 ; ') ) -> 입력 되는 값이 숫자로 저장됨
a = map(int, input('숫자를 두개 입력하세요').split() -> map()을 통하여 int 혹은 float로 변환 가능
- 입력 값을 두 변수에 저장
x, y = input().split('기준 문자열') -> 사용자에게 입력 받은 값을 기준 문자열로 나누어 x, y 에 저장
>>> a , b = input('문자열 두개 입력하세요 :').split()
>>> print(a)
>>> print(b)
#출력 화면
문자열 두개 입력하세요 : hello python
hello
python
- 출력 : 변수 여러개 넣을 시 , 를 통하여 구분
>>> print(1,2,3)
1 2 3
>>> print('hello', 'python')
hello python
- sep을 통하여 값 사이에 문자 넣기
print(값1, 값2, sep = '문자 또는 문자열')
>>> print(1,2,3, sep=',')
#출력 결과
1,2,3
출력할 문자 1 2 3 사이에 , 구분자를 넣어준다는 뜻으로 안에 \n, - , x 등등을 넣을 수 있음
- end를 통하여 print 로 출력한 문자 끝에 들어갈 문자를 정의합니다.
>>> print(1,end='')
>>> print(2,end='')
>>> print(3)
#출력 화면
123
원래 print를 사용하면
1
2
3
이렇게 줄이 띄어져서 출력되는 것을 end = '' 을 통하여 한줄로 묶어줌
'Code > Python' 카테고리의 다른 글
| 리스트, 튜플 (0) | 2019.07.10 |
|---|---|
| 문자열 사용하기 (0) | 2019.07.10 |
| 불과 비교, 논리 연산자 (0) | 2019.07.10 |
| 기본 문법 (0) | 2019.07.09 |
| Python 설치하기 (0) | 2019.07.09 |
기본 문법
Python
- 인터프리터 언어
- 쉽고 간단한 문법, 배우기 쉽다.
- 객체 지향 언어, 다양한 패키지
- 오픈 소스, 무료로 제공
기본 문법
- '' , "" : 문자열을 출력하기 위해 사용. '' 와 "" 는 구분 없이 사용 가능
print("hello, Python!") 혹은 print('hello, Python!')
- ; : 문장이 끝날 때 세미콜론(;)을 붙여야 하지만, 생략 가능.
한 줄에 여러 문장 작성할 때 세미콜론 사용하여 구분해줌
- 주석 : # , 프로그램 실행에 영향을 미치지 않음
- 들여쓰기 : 코드를 읽기 쉽도록 일정한 간격을 띄워서 작성하는 방법. 파이썬은 들여쓰기가 문법이다.
if a == 10 :
print('10입니다.')
-> 들여쓰기가 없기 때문에 문법적으로 오류남
if a == 10 :
print('10입니다.')
-> 스페이스바 4번 혹은 탭키를 사용하여 구분해 줌
숫자 : 정수, 실수, 복소수를 지원
- 사칙연산 : 기본적으로 쓰는 + - * / % // % ** 사용
/ : 나머지까지 출력 -> 실수형태로 출력
// : 버림 나눗셈. 나눗셈 결과에서 소수점 이하 버림 -> 실수형태로 출력
% : 나머지 출력
** : 거듭제곱
- 타입 변환 : int (3.3) -> 숫자로 변환. int('4') -> 숫자로 된 문자열만 숫자로 가능
실수로 변경하고 싶으면 int 대신에 float
- 객체의 타입형 : type()
type(10) -> <class 'int'> -> 클래스 형태로 출력
'Code > Python' 카테고리의 다른 글
| 리스트, 튜플 (0) | 2019.07.10 |
|---|---|
| 문자열 사용하기 (0) | 2019.07.10 |
| 불과 비교, 논리 연산자 (0) | 2019.07.10 |
| 변수와 입력 사용 (1) | 2019.07.09 |
| Python 설치하기 (0) | 2019.07.09 |
Python 설치하기
1. python (https://www.python.org/ )에 접속해 메뉴에서 downloads > download python 3.7.4 클릭

2. 하단에 add python 3.7 to path를 체크하기!!
명령 프롬프트 어디서나 파이썬을 실행할 수 있게 해주기 때문에 무조건 체크해주세요!

3. install 이 끝난 이후 disable path length limit 를 눌러줍니다.
길이제한 넘길 시 문제 발생하지 않도록 하기 위해서 하는 겁니다.

4. 성공적으로 설치되었다고 뜨면 끝입니다.
R Studio 기본 셋팅
R Studio 시작화면입니다.

1. 스크립트 : 코딩하는 부분
ctrl + Enter를 통해서 작업을 실행할 수 있습니다.
2. 콘솔 : 명령어 입력하거나 작업의 결과를 확인 할 수 있습니다.
3. 환경 : 현재 사용하고 있는 객체와 값들을 보여줍니다.
history는 스크립트들의 실행 기록이 남고, connection을 통해 db 연동 등 연결을 보여줍니다.
4. 파일 : 파일 경로 등 파일들을 확인 할 수 있습니다.
plots : 다양한 그래프가 표시되는 곳입니다.
처음 실행하시면 1 스크립트 부분이 안 보일텐데
도구 모음창에서 file -> new file -> R script 또는 도구 모음창 밑 + 를 눌러 스크립트를 새로 생성하면 보입니다.
스크립트 작성 전 환경을 변경 해주어야합니다.
스크립트 인코딩을 변경하는 작업을 안내해드리겠습니다. (euc - kr)
1. 상단 도구 모음창에서 tools -> global options 을 선택합니다.

2. options 중 code를 선택하고 saving 밑 Default text encoding이 [ask]로 되어있을 것입니다.
(저는 변경을 해놓은 상태라 euc-kr로 보여지는 것입니다.)

3. change를 선택하면 euc-kr이 보이지 않습니다.
하단에 show all encoding을 체크하시면 모든 인코딩이 뜨며
사용자에게 맞는 인코딩을 선택해주시면 됩니다.
저는 euc-kr를 기본인코딩으로 설정하였습니다.

4. ok하고 apply or ok를 누르시면 저장되고 재시작하라는 팝업이 뜰 때 ok 해주시면 완료됩니다.
'Code > R 프로그래밍' 카테고리의 다른 글
| R 공부_ Day1_Data Frame (0) | 2019.07.18 |
|---|---|
| R 공부_Day1_ 문자 다루는 함수 (0) | 2019.07.18 |
| R 공부_Day1_ 숫자를 다루는 함수 (0) | 2019.07.18 |
| R 공부_ Day1_기본 문법과 사용법 (0) | 2019.07.18 |
| R 설치 및 R studio 설치 (0) | 2019.07.09 |
R 설치 및 R studio 설치
1. R Project 홈페이지 (https://www.r-project.org/ ) 에 방문하여 설치
왼쪽 상단에 Download 밑 CRAN 을 누릅니다.

2. Korea를 찾아 아무 주소나 누르면 다운로드 페이지로 이동하게 됩니다.

3. 자신에게 맞는 운영체제를 고릅니다. (저는 윈도우를 설치했습니다.)

4. 처음 설치하거나 공부하는 용으로 base 를 설치합니다.

5. 다운로드 하여 설치합니다. (되도록 파일명에 한글이 들어가지 않도록 합니다.)

이제 R 스튜디오를 설치하겠습니다.
1. R 스튜디오 (https://www.rstudio.com/) 에 접속합니다. 상단에 Download R Studio 를 선택합니다.

2. 데스크탑 버전과 서버용으로 구분되어 있습니다.
처음 사용하시거나 공부용이면 RStudio Desktop 오픈 소스 라이센서를 추천합니다.

3. Installer 버전과 Zip 버전 두개가 있는데 저는 Insaller를 설치하였습니다.
(자신에게 맞는 운영체제를 선택해주세요)

그렇게 하면 R 프로젝트와 R 스튜디오 설치를 마쳤습니다.
R 스튜디오를 실행하기 위해서는 기본 폴더로 설치하셨을 경우,
C:\Program Files 안 RStudio 밑 bin 폴더 안에 R 스튜디오.exe 파일이 있습니다.
'Code > R 프로그래밍' 카테고리의 다른 글
| R 공부_ Day1_Data Frame (0) | 2019.07.18 |
|---|---|
| R 공부_Day1_ 문자 다루는 함수 (0) | 2019.07.18 |
| R 공부_Day1_ 숫자를 다루는 함수 (0) | 2019.07.18 |
| R 공부_ Day1_기본 문법과 사용법 (0) | 2019.07.18 |
| R Studio 기본 셋팅 (0) | 2019.07.09 |
MVC 패턴
MVC
- Model , View , Controller 의 합성어
- Model : 백그라운드에서 동작하는 로직. JAVA 파일로 되어 있고, DB 연결 등을 함
- View : 사용자가 보게 될 결과 화면을 출력. JSP 파일로 되어있음
- Controller : 사용자의 입력처리와 흐름 제어를 담당. SERVLET로 되어 있으며, 뷰와 모델 사이 중간다리 역할
<매핑 - WEB.XML>
<servlet>
<servlet-name>BoardFrontController</servlet-name>
<servlet-class>
net.board.action.BoardFrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BoardFrontController</servlet-name>
<url-pattern>*.bo</url-pattern>
</servlet-mapping>
*.bo 로 주소 넘어오면 BOARDFRONTCONTROLLER로 넘어가도록 함
- ~.jsp, ~.asp 등 주소 안뜨고 .bo로만 뜨기 때문에 보안성 강화
- 무조건 controller로 제어하기 위해(~.bo로 되어야 controller에서 제어가능하기 때문에)
<MEDEL 1>
사용자 <-> VIEW / MEDEL
- 사용자의 요청을 JSP에서 처리하며, JAVA BEAN을 통해 작업 처리
- 간단하고 편리하지만 복잡한 홈페이지를 구현하게 될 때 소스가 길어지고 복잡해짐
<MEDEL 2>

- 전체적인 게시판 MVC2 패턴
- 컨트롤러를 통해 ~.bo로 넘어오는 URL을 처리함
- 액션을 따로 만들어서 처리하므로 코드 깔끔
- BEAN을 통해 DB 개체 연결 하기 편리하도록 하고 그 데이터를 기반으로 DAO를 통해 DB와 연동
- 액션이 끝나면 컨트롤러를 통해 FORWARD 형태로 VIEW로 넘어감
'Code > Servlet & JSP' 카테고리의 다른 글
| JDBC 연결 (0) | 2019.06.26 |
|---|---|
| beans 예제_2 (2) | 2019.06.25 |
| beans 예제 (0) | 2019.06.25 |
| REQUEST 예제_SCOPE 안쓰고 데이터 넘기기 (0) | 2019.06.24 |
| SESSION 예제_장바구니 (0) | 2019.06.24 |
JDBC 연결
- jdbc : 자바 어플리케이션에서 표준화된 데이터베이스 접근 제공
각 데이터베이스 접속에 대한 상세한 정보 알 필요 없음
이론적으로는 개발된 애플리케이션에서 db변경시 jdbc 드라이버만 교체하면 됨
- 드라이버 로드 : Class.forName("oracle.jdbc.driver.OracleDriver")
- 디비 연결 : Connection conn = DriverManager.getConnection(JDBC_url,"아이디","비번");
- rul구성 : JDBC:oracle:thin:@ip주소:포트:sid
s-tatement 생성 및 쿼리
statement 객체 생성 후 sql문장을 변수 처리부와 하게 문자열 구성
Statement st = conn.createStatement();
st.executeUpdate('"insert into test values"+request.getParameter("username").......');
- PreparedStatement :sql문장 미리 생성하고 변수부는 따로 메소드로 대입 성능과 관리 면에서 모두 권장함
PreparedStatement pst = conn.preparedState("insert into test values(?,?)");
pst.setString(1,request.getParameter('username'));
pst.setString(1,request.getParameter('age'));
pst.executeUpdate();
ResultSet rs = pst.executeQuery();
next() 통해 로우 이동
while(rs.next()){
name = rs.getString(1); //1은 인덱스, 1부터 시작함 or rs.getString('username');
age = rs.getString(2);
}
rs.close();
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import = "java.sql.*"%>
<%
Connection conn = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:본인의 sid";
boolean connect = false;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,"아이디","비밀번호");
connect = true;
conn.close();
}catch(Exception e){
connect = false;
e.printStackTrace();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h3>
<% if(connect == true) {%>
연결되었습니다.
<% }else {%>
실패하였습니다.
<%} %>
</h3>
</body>
</html>
'Code > Servlet & JSP' 카테고리의 다른 글
| MVC 패턴 (0) | 2019.07.03 |
|---|---|
| beans 예제_2 (2) | 2019.06.25 |
| beans 예제 (0) | 2019.06.25 |
| REQUEST 예제_SCOPE 안쓰고 데이터 넘기기 (0) | 2019.06.24 |
| SESSION 예제_장바구니 (0) | 2019.06.24 |
beans 예제_2
회원가입 양식 폼에서 입력 받은 값 beans 이용해 저장하고
Property 이용해 가져오기
[join.html]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>무제 문서</title>
<style>
table td, th{ border-bottom:1px solid;border-bottom-color:#999;}
table tr {height:35px;}
</style>
<script src = "script.js">
</script>
</head>
<body>
<center>
<form name = "join" action="check.jsp" method="post">
<table width="60%">
<tr bgcolor="#CCFFFF">
<th colspan="2">회원 기본 정보</th>
</tr>
<tr>
<td>아이디 : </td>
<td><input type="text" maxlength="12" name = "id" id="id" min="4" size="12" /> 4~12자의 영문 대소문자와 숫자로만 입력</td>
</tr>
<tr>
<td>비밀번호 : </td>
s
<td><input type="password" maxlength="12" id="password" name ="password" min="4" size="12" /> 4~12자의 영문 대소문자와 숫자로만 입력</td>
</tr>
<tr>
<td>비밀번호 확인 : </td>
<td><input type="password" maxlength="12" id="checkpw" name="checkpw" min="4" size="12" /></td>
</tr>
<tr>
<td>메일 주소 : </td>
<td><input type="email" id="email" name="email" size="20" /> 예) id@domain.com</td>
</tr>
<tr>
<td>이름 : </td>
<td><input type="text" id="name" name="name" size="25" /></td>
</tr>
<tr bgcolor="#CCFFFF">
<th colspan="2">개인 신상 정보</th>
</tr>
<tr>
<td>주민등록번호 : </td>
<td><input type="text" id= "jumin" name="jumin" maxlength="13" size="15" onkeypress="checkJumin()" /> 예)1234561234567</td>
</tr>
<tr>
<td>생일 : </td>
<td>
<input type="text" id="year" name="year" size = "4"> 년
<select name="getBDayMonth" size="1">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
</select>월
<select name="getBDayDay" id="getBDayDay" size="1">
<option value=1 >1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>일
</td>
</tr>
</td>
</tr>
<tr>
<td>관심분야 확인 : </td>
<td><input type="checkbox" name="hobby" value="computer"/>컴퓨터
<input type="checkbox" name="hobby" value="internet"/>인터넷
<input type="checkbox" name="hobby" value="travel"/>여행
<input type="checkbox" name="hobby" value="movie"/>영화감상
<input type="checkbox" name="hobby" value="music"/>음악감상
</td>
</tr>
<tr>
<td>자기소개 : </td>
<td><textarea id = "introduce" name="introduce" cols="50" rows="5"></textarea>
</td>
</tr>
</table>
<br /><br />
<input type="submit" value="회원 가입"/>
<input type="reset" value="초기화" />
</form>
</center>
</body>
</html>
[JoinBean.java]
package Day5;
public class JoinBean {
private String id;
private String password;
private String email;
private String name;
private String jumin;
private int year;
private int getBDayMonth;
private int getBDayDay;
private String[] hobby;
private String hobbylist;
private String introduce;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJumin() {
return jumin;
}
public void setJumin(String jumin) {
this.jumin = jumin;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getGetBDayMonth() {
return getBDayMonth;
}
public void setGetBDayMonth(int getBDayMonth) {
this.getBDayMonth = getBDayMonth;
}
public int getGetBDayDay() {
return getBDayDay;
}
public void setGetBDayDay(int getBDayDay) {
this.getBDayDay = getBDayDay;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public String getIntroduce() {
return introduce;
}
public void setIntroduce(String introduce) {
this.introduce = introduce;
}
public void setHobbylist() {
this.hobbylist="";
}
public String getHobbylist() {
this.hobbylist="";
for(int i = 0; i < hobby.length;i++)
this.hobbylist += hobby[i];
return this.hobbylist;
}
}
[check.jsp]
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<% request.setCharacterEncoding("EUC-KR");%>
<jsp:useBean id="join" class ="Day5.JoinBean" scope="page"></jsp:useBean>
<jsp:setProperty property="id" name="join" />
<jsp:setProperty property="password" name="join"/>
<jsp:setProperty property="email" name="join"/>
<jsp:setProperty property="name" name="join"/>
<jsp:setProperty property="jumin" name="join"/>
<jsp:setProperty property="year" name="join"/>
<jsp:setProperty property="getBDayMonth" name="join"/>
<jsp:setProperty property="getBDayDay" name="join"/>
<jsp:setProperty property="hobby" name="join"/>
<jsp:setProperty property="introduce" name="join"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</script>
</head>
<body>
<center>
<table width="50%">
<tr>
<td>id</td>
<td><jsp:getProperty name="join" property="id"></jsp:getProperty></td>
</tr>
<tr>
<td>password</td>
<td><jsp:getProperty name="join" property="password"></jsp:getProperty></td>
</tr>
<tr>
<td>이메일</td>
<td><jsp:getProperty name="join" property="email"></jsp:getProperty></td>
</tr>
<tr>
<td>이름</td>
<td><jsp:getProperty name="join" property="name"></jsp:getProperty></td>
</tr>
<tr>
<td>주민번호</td>
<td><jsp:getProperty name="join" property="jumin"></jsp:getProperty></td>
</tr>
<tr>
<td>생년월일</td>
<td><jsp:getProperty name="join" property="year"></jsp:getProperty>년
<jsp:getProperty name="join" property="getBDayMonth"></jsp:getProperty>월
<jsp:getProperty name="join" property="getBDayDay"></jsp:getProperty>일</td>
</tr>
<tr>
<td>관심분야</td>
<td><jsp:getProperty name="join" property="hobbylist"></jsp:getProperty></td>
</tr><tr>
<td>자기소개</td>
<td><jsp:getProperty name="join" property="introduce"></jsp:getProperty></td>
</tr>
</table>
</center>
</body>
</html>
|
|
'Code > Servlet & JSP' 카테고리의 다른 글
| MVC 패턴 (0) | 2019.07.03 |
|---|---|
| JDBC 연결 (0) | 2019.06.26 |
| beans 예제 (0) | 2019.06.25 |
| REQUEST 예제_SCOPE 안쓰고 데이터 넘기기 (0) | 2019.06.24 |
| SESSION 예제_장바구니 (0) | 2019.06.24 |