WEB service 구조

 

MVC패턴

 

동적 client (브라우저)=> Web Server => W.A.S(동적컨텐츠 1.로우데이터 확보(dao)                          => D.B
                                                                                               2.인포메이션화(service) 
                                                                                               3.언어화시켜 컨텐츠로 만듬(view)/
                                                                                               controller: 클라이언트의 요구사항분석) 
<메모>

IP(물리적주소) + 포트넘버(논리적주소) => tier구분
DN(DNS) 란?
* 웹사이트에 접속 할 때 우리는 외우기 어려운 IP 주소 대신 도메인 이름을 사용한다.
* 도메인 이름을 사용했을 때 입력한 도메인을 실제 네트워크상에서 사용하는 IP 주소로 바꾸고 해당 IP 주소로
  접속하는 과정이 필요하다. 이러한 과정, 전체 시스템을 DNS(도메인 네임 시스템)라고 하고 이러한 시스템은
  전세계적으로 약속된 규칙을 공유한다.
* 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는 ‘권한’을 부여한다.
* DNS는 이처럼 상위 기관과 하위 기관과 같은 ‘계층 구조’를 가지는 분산 데이터베이스 구조를 가진다.

java se => 톰캣은 se에 없는 servlet이 있음
java ee => 통합에디션
java me => 모바일

📌톰캣 

 

톰캣 설치버전  ex) 3.1  3=메이저 1=마이너

톰캣 폴더
webapps => 폴더 = context(app base , doc base)

 

톰캣 디렉토리 구조


환경변수

 

톰캣이 필요한 이유 ?
1 개발환경 상에서 없는 api를 빌려쓰기 위해
2 클라이언트가 언제 어디서 요청을 보낼지 몰라서 24시간 대기할 수 있는 80번 포트를 대기할 수 있는 상태로 한다
  (특정포트 감시)
3 백그라운드에서 동작할 수 있는 어플리케이션을 운영하다가 관련 요청이 들어오면 서비스를 제공한다(=컨테이너)


mydef01.py

def add(a,b):
    return a + b 
def minus(a,b):
    return a - b
def multiply(a,b):
    return a * b
def divide(a,b):
    return a / b

sum = add(4,2)
min = minus(4,2)
mul = multiply(4,2)
div = divide(4,2)

print("sum",sum)
print("min",min)
print("mul",mul)
print("div",div)

결과

sum 6
min 2
mul 8
div 2.0

mydef02.py

구구단 7단 만들기

def showDan(dan): 
    for i in range(1,9+1) :
        print("{} * {} = {}".format(dan,i,dan*i))

dan = showDan(7)

결과

7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63

mydef03.py

홀/짝 출력

from random import random

def getHollJjak():
    result =""
    rnd = random()
    if rnd > 0.5 :
        result ="홀"  
    else :
        result = "짝"
    return result   

com = getHollJjak()
print("com",com)

결과

com 짝

mydef04.py

튜플 : 튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다.

  • 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.
  • 리스트는 요소 값의 생성, 삭제, 수정이 가능하지만 튜플은 요소 값을 바꿀 수 없다.
def add_min_mul_div(a,b):
    return a+b,a-b,a*b,a/b

sum = add_min_mul_div(4,2)

print(sum) #튜플 : 배열이랑 똑같음

결과

(6, 2, 8, 2.0)

'파이썬' 카테고리의 다른 글

[파이썬] 상속  (0) 2023.02.21
[파이썬] test(가위,바위,보)  (0) 2023.02.21
[파이썬] test  (0) 2023.02.20
[파이썬] for,input,random  (0) 2023.02.20
[파이썬] var01  (0) 2023.02.20

test01.py

1~10까지의 합계

sum = 0;

for i in range(1,10+1):
    sum += i
print("sum",sum)

결과

sum 55

test02.py

예시) # 첫째수를 입력하시오 5
         # 둘째수를 입력하시오 6
         # 두 수의 합은 11입니다.

a = input("첫째수를 입력하시오")
b = input("둘째수를 입력하시오")

aa = int(a)
bb = int(b)
sum = aa + bb

print("두 수의 합은 {}입니다".format(sum))

결과

첫째수를 입력하시오5
둘째수를 입력하시오6
두 수의 합은 11입니다

test03.py

 

예시) # 첫째수를 입력하시오 1
         # 둘째수를 입력하시오 4
         # 1에서 4까지의 합은 10입니다.

# 첫째수를 입력하시오 1
# 둘째수를 입력하시오 4
# 1에서 4까지의 합은 10입니다.

a = input("첫째수를 입력하시오")
b = input("둘째수를 입력하시오")

aa = int(a)
bb = int(b)
sum = 0;

for i in range(aa,bb+1):
    sum += i
print("{}에서 {}까지의 합은 {}입니다.".format(aa,bb,sum))

결과

첫째수를 입력하시오1
둘째수를 입력하시오4
1에서 4까지의 합은 10입니다.

test04.py

1에서 5까지의 수중에서 랜덤으로 중복없이 3개를 뽑으세요

from random import random

arr5 = [1,2,3,4,5]

for i in range(100):
    rnd = int(random()*5)
    a = arr5[rnd]
    b = arr5[0]
    arr5[0] = a
    arr5[rnd] = b

print(arr5[0],end="\n")
print(arr5[1],end="\n")
print(arr5[2],end="\n")

결과

1
4
3

test05.py

#1에서 45까지의 수중에서 랜덤으로 중복없이 6개를 뽑으세요

#1에서 45까지의 수중에서 랜덤으로 중복없이 6개를 뽑으세요
from random import random


arr45 = list(range(1,45+1))

for i in range(1000):
    rnd = int(random()*45)
    a = arr45[rnd]
    b = arr45[0]
    arr45[0] = a
    arr45[rnd] = b

print(arr45[0],end="\n")
print(arr45[1],end="\n")
print(arr45[2],end="\n")
print(arr45[3],end="\n")
print(arr45[4],end="\n")
print(arr45[5],end="\n")

결과

20
39
14
8
30
16

test06.py

예시)# 출력할 단수를 입력하세요 6
        # 6 * 1 = 6
        # 6 * 2 = 12

# 출력할 단수를 입력하세요 6
# 6 * 1 = 6
# 6 * 2 = 12

a = input("출력할 단수를 입력하세요")

aa = int(a)

for i in range(1,9+1):
    print("{} * {} = {}".format(aa,i,aa*i))

결과

출력할 단수를 입력하세요6
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54

test07.py

예시) # 홀/짝을 입력하세요 
         # 나 : 홀
         # 컴 : 홀/짝
         # 결과 : 승리/패배

from random import random

mine =""
com = ""
result = ""

mine = input("홀/짝을 입력하세요")

rnd = random()

if rnd > 0.5 :
    com = "홀"
else :
    com = "짝"

if mine == com :
    result = "승리"
else :
    result = "패배"  
      
print("mine",mine)
print("com",com)
print("결과 : ",result)

결과

홀/짝을 입력하세요홀
mine 홀
com 홀
결과 :  승리

 

'파이썬' 카테고리의 다른 글

[파이썬] test(가위,바위,보)  (0) 2023.02.21
[파이썬] 함수(def)  (0) 2023.02.20
[파이썬] for,input,random  (0) 2023.02.20
[파이썬] var01  (0) 2023.02.20
[파이썬] if  (0) 2023.02.20

myfor01.py

for i in range(1,5):
    print(i)

결과

1
2
3
4

myinput.py

a = input("좋아하는 위인을 넣으세요")
print(a)

결과

좋아하는 위인을 넣으세요 세종대왕
 세종대왕

myrandom.py

from random import random

rnd = random()
print(rnd)

결과

0.689982224643025

myrandom.py

import random
rnd = random.random()
print(rnd)

결과

0.2470956820423318

 

'파이썬' 카테고리의 다른 글

[파이썬] 함수(def)  (0) 2023.02.20
[파이썬] test  (0) 2023.02.20
[파이썬] var01  (0) 2023.02.20
[파이썬] if  (0) 2023.02.20
[파이썬] array 배열  (0) 2023.02.20

var01.py

a = 1
b = 2.0
c = '3'
e = True 
f = False

print(a+int(c))
print(str(a)+c)

print(not e)
print(e and f)
print(e or f)

결과

4
13
False
False
True

'파이썬' 카테고리의 다른 글

[파이썬] 함수(def)  (0) 2023.02.20
[파이썬] test  (0) 2023.02.20
[파이썬] for,input,random  (0) 2023.02.20
[파이썬] if  (0) 2023.02.20
[파이썬] array 배열  (0) 2023.02.20

if01.py

a = True

if a :
    print("참")
print("거짓")

# if(a){
#     print("참");
# }
# print("거짓");

결과

참
거짓

if02.py

a = True
b = False

if not a or b :
    print("참")
else:
    print("거짓")

결과

거짓

if03.py

a = 55

if a >= 90 :
    print("수")
elif a >= 80 :
    print("우")
elif a >= 70 :
    print("미")    
elif a >= 60 :
    print("양")    
else : 
    print("가")

결과

 

'파이썬' 카테고리의 다른 글

[파이썬] 함수(def)  (0) 2023.02.20
[파이썬] test  (0) 2023.02.20
[파이썬] for,input,random  (0) 2023.02.20
[파이썬] var01  (0) 2023.02.20
[파이썬] array 배열  (0) 2023.02.20

arr01.py

arr = [1,2,3,4]
print(len(arr))

arr.append(5)
arr.insert(len(arr), 9)

print(arr)

* append() :  괄호안에 값을 입력하면 array 맨 끝에 객체로 추가한다.

* insert(i,x) :  원하는 위치 i에 x를 삽입할 수 있다. 값 x는 객체로 추가된다.

                      i는 위치를 나타내는 인덱스 숫자를 입력한다.

                     음수를 입력하면 배열의 끝을 기준으로 처리된다. 

 

결과

4
[1, 2, 3, 4, 5, 9]

 


arr02.py

arr = ["홍길동","전우치","이순신"]

for idx, i in enumerate(arr):
    print(idx,i)

* enumerate() : 리스트의 원소에 순서값을 부여해주는 함수

 

결과

0 홍길동
1 전우치
2 이순신

 

'파이썬' 카테고리의 다른 글

[파이썬] 함수(def)  (0) 2023.02.20
[파이썬] test  (0) 2023.02.20
[파이썬] for,input,random  (0) 2023.02.20
[파이썬] var01  (0) 2023.02.20
[파이썬] if  (0) 2023.02.20

😀 html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
 div{
 	height: 50px;
 	border: 2px dotted blue;
 }
</style>

<script src="../js/outscript.js" type="text/javascript"></script>

</head>
<body>
 <input type="button" value="확인" onclick="proc1()">
 <br>
 <br>
 <p>버튼을 클릭하면 입력받아 출력한다</p>
 <div></div>
</body>
</html>

😀 javascript

 

/**
 * 
 */

proc1 = () =>{
   vinput = prompt("입력하세요");
   
   //div를 검색
   vdiv = document.getElementsByTagName('div')[0]

   vdiv.innerText = vinput;
   vdiv.innerHTML = vinput;
	
	/*
   var str;
   str = "<h1>" + vinput + "</h1>" ;
   
   var str =  "<h1>" + vinput + "</h1>" ;
   */

   str = "<h1>" + vinput + "</h1>" ;		 
   
   vdiv.innerHTML =str;
//   vdiv.innerText = str;
}
/*
proc1 = () =>{
	
}
function proc1(){
	
}
*/

😀 실행

 

'웹프로그래밍(HTML, CSS3, JavaScript)' 카테고리의 다른 글

[html] documentwrite  (0) 2022.12.29
[html/jsp] position위치  (0) 2022.12.27
[html/jsp] 리스트 연습  (0) 2022.12.27
[html/jsp] wordwrapping  (0) 2022.12.27
[html/jsp] table스타일  (0) 2022.12.27

+ Recent posts