# 1. 10x10의 2차원 배열의 테두리는 1이고 안은 0인 배열을 출력하시오.

# 2. 8x8의 2차원 배열에 아래와 같은 체크 보드를 만들어 출력하시오.(주의:정수타입)

import numpy as np

array = np.ones((10,10))

array[1:-1,1:-1]=0
print(array)

array1 = np.zeros((8,8),dtype=int)

array1[1::2,::2]=1
array1[::2,1::2]=1
print(array1)


[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
[[0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]]

'프로그래밍 > 파이썬' 카테고리의 다른 글

*그리디 || 큰 수의 법칙  (0) 2022.02.10
* 백준 || 10870 피보나치 수 5  (0) 2022.02.09
*코드업 || 6103  (0) 2022.02.09
*코드업 || 6102  (0) 2022.02.09
*Virtual Box를 이용한 Python #0 |  (0) 2021.03.16

# 파이썬 넘파이 패키지를 연습하는 문제입니다.

# 아래 내용을 순서대로 실행하기 바랍니다.

 

# 1. 넘파이 랜덤 씨드 값을 32로 초기화한다. - random.seed

# 2. random 함수를 이용하여 3x3x3 배열을 만들어 출력한다. - random.random

# 3. random 함수를 이용하여 10x10 배열을 만들고, 최솟값 최댓값을 한 줄에 출력한다. - min max

# 4. random함수를 이용하여 30개의 원소를 만들고 평균 값을 출력한다. - mean

import numpy as np


np.random.seed(32)


print(np.random.random((3,3,3)))

a=(np.random.random((10,10)))

print(a.min(),a.max())

b=np.random.random(30)

print(b.mean())

 


[[[0.85888927 0.37271115 0.55512878]
  [0.95565655 0.7366696  0.81620514]
  [0.10108656 0.92848807 0.60910917]]

 [[0.59655344 0.09178413 0.34518624]
  [0.66275252 0.44171349 0.55148779]
  [0.70371249 0.58940123 0.04993276]]

 [[0.56179184 0.76635847 0.91090833]
  [0.09290995 0.90252139 0.46096041]
  [0.45201847 0.99942549 0.16242374]]]
0.9847842926239632 0.006928480444867158
0.4708563703859523

'프로그래밍 > 파이썬' 카테고리의 다른 글

*그리디 || 큰 수의 법칙  (0) 2022.02.10
* 백준 || 10870 피보나치 수 5  (0) 2022.02.09
*코드업 || 6104  (0) 2022.02.09
*코드업 || 6102  (0) 2022.02.09
*Virtual Box를 이용한 Python #0 |  (0) 2021.03.16
# 파이썬 넘파이 패키지를 연습하는 문제입니다.

# 아래 내용을 순서대로 실행하기 바랍니다.

 

# 1. 10, 11, 12, ..., 48, 49 원소를 갖는 넘파일 배열을 출력하시오.

# 2. 위 배열을 역순 배열로 만들어 출력하시오.

# 3. 0~8의 원소를 갖는 3x3 행렬을 만들어 출력하시오. - reshape 활용

# 4. [1,2,0,0,4,0]에서 0이 아닌 원소의 위치를 출력하시오. - nonzero 활용

# 5. 3x3의 단위 행렬을 만들어서 출력하시오. - eye 활용


import numpy as np

array1 = np.arange(10,50)
print(array1)
print(array1[::-1])

array2 = np.arange(0,9).reshape(3,3)
print(array2)

array3=np.nonzero([1,2,0,0,4,0])

print(array3)

array4= np.eye(3)

print(array4)
 
---------------------------------------------------
 
[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]
[49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26
 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10]
[[0 1 2]
 [3 4 5]
 [6 7 8]]
(array([0, 1, 4], dtype=int64),)
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

'프로그래밍 > 파이썬' 카테고리의 다른 글

*그리디 || 큰 수의 법칙  (0) 2022.02.10
* 백준 || 10870 피보나치 수 5  (0) 2022.02.09
*코드업 || 6104  (0) 2022.02.09
*코드업 || 6103  (0) 2022.02.09
*Virtual Box를 이용한 Python #0 |  (0) 2021.03.16

쿠키 (Cookie)


  • 웹 서버가 클라이언트 측 컴퓨터에 저장 할 수 있는 간단한 정보
  • 쿠키 정보는 HTTP 프로토콜의 헤더부문에 있는 쿠키 헤더를 이용
  • 사용자 정보를 저장한 후 필요할 때 정보를 읽어오기 위함

쿠키 동작 단계


  1. 쿠키 생성 단계 : 서버에 의해 생성, 응답 데이터와 함께 클라이언트에 전송
  2. 쿠키 저장 단계 : 전송된 쿠키는 클라이언트의 쿠키 저장소에 저장
  3. 쿠키 전송 단계 : 저장된 쿠키는 요청이 있을 때 마다 웹 서버에 전송

쿠키 메소드


setComment(String comment) 쿠키의 사용 목적을 설명하는 커멘트 설정
setDomain(String Pattern) 쿠키가 전달된 도메인 이름을 설정
setMaxAge(int expiry) 쿠키의 유효시간 설정(단위 초) 
setPath(String url) 쿠키를 전송할 경로 설정
setSecure(boolean b) True 일때 암호화 된 네트워크 커넥션을 통해 쿠키를 전송하도록 설정
setValue(String value) 쿠키의 값 설정
setVersion(int version) 쿠키 버전 설정

 

 


 

쿠키 형식


형식 Cookie cookie = new Cookie(String name,String value); (쿠키 이름, 쿠키값)
예제 Cookie cookie = new Cookie("JOB","Student");

세션 (Session)


  • 웹 서버쪽의 웹 컨테이너 상태를 유지하기 위해 정보를 저장
  • 웹 브라우저 별 한 개씩 세션 객체를 생성하여 컨테이너에 저장
  • 세션은 고유 ID가 부여

장점 보안성이 뛰어 남 
단점 다수 사용자 접속의 경우 서버에 큰 부담

 

세션 메소드

 


setAttribute(String name,String Value) 세션 이름과 값을 설정 상기 메소드들은 request객체 application 객체 pageContext 객체에서도 중복 사용
getAttribute(String name) 세션 이름을 얻음
removeAttribute(String name) 해당 이름의 세션 삭제
getId() 세션 id얻음  
getCreationTime() 세션 생성시간을 얻음
getLastAccessTime() 마지막 세션 접근 시간 얻음
getMaxInactiveInterval(int interval) 세션 자동종료시간을 얻음

 

'프로그래밍 > 웹프' 카테고리의 다른 글

*JSP #3 || 태그들  (0) 2021.03.30
*JSP #2 || 내장객체2  (0) 2021.03.22
*JSP #1 || 내장객체  (0) 2021.03.16
*JSP #0 || 기본태그와 의미  (0) 2021.03.09

1. 액션 태그


  • 태그 자체가 어떤 처리를 하는 것
  • 태그 자체가 이름이 있으면서 처리를 지시하는 태그
  • 페이지와 페이지 사이의 이동 관련 제어
  • 자바 애플릿을 지원
  • 액션태그는 XML 문법을 사용 반드시 종료 태그를 사용해야 함

 

액션 태그 유형


  • 표준 액션 태그 - Sun 사에서 제공하는 액션을 지시하는 태그,미리 컨테이너 안에 구현해 놓아 웹 개발자에게 태그만으로 어떠한 처리를 하도록 제공 
  • 사용자 정의 태그 - 태그를 웹 개바랒의 정의와 구현으로 문서 안에서 처리를 지시하는 태그

표준 액션태그

매개 변수가 없는 경우
(*tageName = forward,include,plugin,useBean)
<jsp:tagName attribute1="value1" attribute2="value2".../>
매개 변수가 있는 경우
(*tageName = forward,include,plugin,useBean)
<jsp::tagName attribute1="value1" attribte2="value2...>
<jsp:param name="name1" value="value1"..../>
<jsp:param name="name2" value="value2"....>
</jsp:tagName>

 

태그별 상세(include)


  1. 웹 브라우저가 a.jsp 페이지를 웹 서버에 요청
  2. 서버는 요청받은 a.jsp 페이지를 처리, a.jsp 페이지 내에서 출력 내용은 출력 버퍼에 저장
  3. <jsp::include page="b.sjp" flush="false"/> 문장을 만나면 하던 작업을 멈추고 프로그램 제어를 b.jsp페이지로 이동
  4. b.jsp페이지를 처리. b.jsp 페이지 내에 출력내용은 출력버퍼에 저장하는 등의 작업을 처리
  5. b.jsp 페이지 처리가 끝나면 다시 a.jsp페이지로 프로그램의 제어가 이동 이동위치는 <jsp::include page="b.sjp" flush="false"/> 문장 다음 행
  6. a.jsp 페이지의 나머지 부분 처리
  7. 출력버퍼의 내용을 웹 브라우저로 응답

 

Include 지시어와의 관계성

 

  • 유사점 - 다른 파일을 포함하는 기능
  • 차이점 
include 액션태그 include 지시어
해당하는 페이지의 처리결과 포함 해당하는 소스이 내용을 텍스트로포함
실행시점에서 해당파일을 호출하여 그 결과를 포함 해당파일을 포함시킨 다음 컴파일을 수행
동적인 페이지를 포함시킬 경우에 좋음
파일 두개를 각각 컴파일해서 관리하기 때문에
정적 페이지를 포함시킬 경우에 좋음
파일 내용 두개를 하나로 컴파일 하기때문에 

 

param 액션태그

 

forward 액션 태그

 

 

 

 

useBean 액션태그

 

  • 자바 빈 = 자바 클래스 : 자바로 작성한 소프트웨어 컴포넌트, 일정한 코딩 규칙에 다라 작성한 재사용 가능한 자바
  • 자바 통합 개발환경에서 사용
  • JSP에서는 빈 클래스를 JSP컨테이너가 그 생성자를 호출되어 객체를 생성하여 사용

UseBean 액션 태그

  • 하나의 자바 빈을 JSP에서 사용할 수 있게 해주는 액션 태그

usebean 속성

'프로그래밍 > 웹프' 카테고리의 다른 글

*JSP #5 || 쿠키와 세션  (0) 2021.04.06
*JSP #2 || 내장객체2  (0) 2021.03.22
*JSP #1 || 내장객체  (0) 2021.03.16
*JSP #0 || 기본태그와 의미  (0) 2021.03.09

SQL 


  • DML - 데이터베이스에서 쿼리로 데이터베이스에 튜플을 삽입,삭제,수정 할 수 있는 기능을 제공
  • 무결성 - DDL에는 무결성 제약 조건을 지정하는 명려이 포함
  • View definition - DDL에는 view를 정의하는 명령이 포함
  • 트랜잭션 제어 - 트랜잭션의 시작과 끝을 지정하는 명령을 포함
  • Embedded SQL 및 dynamic SQL - 범용 프로그래밍 언어에 SQL 문을 삽입하는 방법을 정의
  • 권한부여 - relations and views에 대한 액세스 권한을 지정하기위한 명령어 포함

Data Definition Language(DDL)


SQL 데이터 정의 언어는 관계에 대한 정보를 지정한다.

  • 각 관계에 대한 스키마 
  • 각 속성과 연관된 값 유형
  • 무결성 제약
  • 각 관계에 대한 유지 관리 할 인덱스 집합
  • 각 관계에 대한 보안 및 권한 부여 정보
  • 디스크에 있는 각 관계의 물리적 저장소 구조

 


Domain Types in SQL


Char(n) 사용자 지정 길이가 n인 고정 길이 문자열
varchar(n) 사용자 지정 최대 길이가 n인 가변 길이 문자열
int 정수
smallint 작은 정수
numeric(p,d) 소수점 오른쪽에 d자리가 있는 사용자 지정 정밀도 p자리의 고정 소수점 번호
ex) numeric(3,1) > 44.5 (0) 444.5(x) 0.45(x)
real,double precision Floating point and double-precision floating point numbers

Create Table Construct


Integrity Constraints in Create Table


  • 무결성 제약 유형
  • SQL은 무결성 제약 조건을 위반하는 데이터 베이스 업데이트를 방지
primary key (A1.....An)
foreign key (Am....,An)
not null 널을 가질 수없음을 나타 냄 (프라이머리키로 지정된건 널로 지정될 수 없음)


Updates to Tables


Insert insert to instructor values
Delete Remove all tuples from the student relation
(튜플들만 삭제)
Drop Table drop table r(릴레이션 자체를 삭제)
Alter alter table r add A D
: a는 관계 r에 추가 할 속성의 이름 이고 D는 A의 도메인
: 관계의 모든 기존 튜플은 새 속성의 값으로 null이 할당 
alter table r drop A
여기서 A는 관계 r의 속성 이름
많은 데이터베이스에서 지원하지 않는 속성 삭제

Basic Query Structure


  1. The select Clause

   

 

*Instructor 릴레이션에서 10%의 임금이 상승된 salary와 강사의 이름, "대학교이름을" 출력

select salary *1.1,name,'University' from instructor;

 

 

2. The where Clause 

3. The from Clause 

 

 

 

* "Einstein" prof의 수업을 듣는 모든 학생의 아이디를 중복 없이 구하여라

 

 

select distinct takes.ID from takes,teaches,instructor

where instructor.ID=teaches.ID and

teaches.course_id=takes.course_id and

teaches.sec_id=takes.sec_id and

teaches.semester=takes.semester and

teaches.year=takes.year and

name = 'Einstein';


 

The rename Operation


 


2)select B.supervisor

 from emp-super as A,emp-super as B

 where A.supervisor = B.person and

         A.person = 'Bob';

 


String Operations


 

  •  % : 문자열
  • _ : 문자 하나


 

'프로그래밍 > 데이터베이스' 카테고리의 다른 글

*데이터 베이스 #1 || Relational Model  (0) 2021.03.20
*데이터베이스 #0  (0) 2021.03.14

+ Recent posts