ChatGPT는 일반적인 웹 프로그래밍 언어나 프레임워크를 사용하여 HTML 페이지를 만들지는 않습니다. 하지만, 로그인 페이지를 이쁘게 만들기 위해서는 HTML, CSS, JavaScript 등의 웹 프로그래밍 기술을 사용해야 합니다.

 

로그인 페이지를 이쁘게 만드는 방법에 대한 일반적인 가이드

 

  1. 디자인 컨셉 설정 로그인 페이지를 만들기 전에 먼저 디자인 컨셉을 설정해야 합니다. 로그인 페이지의 느낌이나 분위기, 컬러 팔레트 등을 정하고, 그에 맞는 디자인을 구성해야 합니다.
  2. HTML 구조 작성 HTML은 웹 페이지의 구조를 정의합니다. 로그인 페이지의 HTML 구조를 작성합니다. 로그인 폼, 아이디/비밀번호 입력 필드, 로그인 버튼 등을 포함해야 합니다.
  3. CSS 스타일 작성 CSS는 웹 페이지의 스타일을 정의합니다. 로그인 페이지의 스타일을 작성합니다. 배경색, 폰트, 버튼 스타일 등을 포함합니다.
  4. JavaScript 작성 JavaScript는 웹 페이지의 동작을 정의합니다. 로그인 페이지의 동작을 작성합니다. 예를 들어, 입력 필드에 입력된 아이디와 비밀번호가 맞는지 검사하는 코드를 작성합니다.
  5. 적절한 이미지 사용 적절한 이미지를 사용하여 로그인 페이지를 더욱 이쁘게 만들 수 있습니다. 로고나 배경 이미지 등을 사용할 수 있습니다.
  6. 반응형 디자인 적용 로그인 페이지는 다양한 기기에서 접속될 수 있습니다. 따라서, 반응형 디자인을 적용하여 다양한 크기의 화면에서도 로그인 페이지가 잘 보이도록 합니다.

위의 가이드를 참고하여, 로그인 페이지를 이쁘게 만들 수 있습니다. 디자인이나 스타일 등에 따라 다양한 방법으로 구성할 수 있으므로, 창의적인 아이디어를 적용하여 개성 있는 로그인 페이지를 만들어보세요!

 

이 가이드를 따라 작성해보자

 

예시

 

 

 

ChatGPT 가 작성한 코드

<!DOCTYPE html>
<html>
  <head>
    <title>Login Page</title>
    <style>
      body {
        background-color: #f2f2f2;
        font-family: Arial, sans-serif;
      }
      #login-form {
        background-color: #fff;
        border: 1px solid #ccc;
        border-radius: 5px;
        box-shadow: 0px 0px 5px #ccc;
        margin: 50px auto;
        max-width: 400px;
        padding: 20px;
        text-align: center;
      }
      #login-form h1 {
        color: #000;
        margin-bottom: 20px;
      }
      label {
        display: block;
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 5px;
        text-align: left;
      }
      input[type="text"],
      input[type="password"] {
        border: 1px solid #ccc;
        border-radius: 3px;
        box-sizing: border-box;
        display: block;
        font-size: 16px;
        margin-bottom: 20px;
        padding: 10px;
        width: 100%;
      }
      input[type="submit"] {
        background-color: #000;
        border: none;
        border-radius: 20px;
        color: #fff;
        cursor: pointer;
        display: inline-block;
        font-size: 16px;
        margin-top: 10px;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        transition: background-color 0.2s ease-in-out;
      }
      input[type="submit"]:hover {
        background-color: #333;
      }
      #login-form a {
        color: #000;
        font-size: 14px;
        text-decoration: none;
      }
      #login-form a:hover {
        text-decoration: underline;
      }
      #error-message {
        color: red;
        font-size: 14px;
        margin-bottom: 10px;
        text-align: left;
      }
    </style>
  </head>
  <body>
    <form id="login-form">
      <h1>Login</h1>
      <label for="username">Username:</label>
      <input type="text" id="username" name="username" minlength="7" maxlength="15" required>
      <label for="password">Password:</label>
      <input type="password" id="password" name="password" minlength="5" maxlength="20" required pattern=".*[!@#$%^&*()].*">
      <input type="submit" value="Login">
      <div>
        <a href="#">Forgot username?</a>
        <a href="#">Forgot password?</a>
      </div>
      <div id="error-message"></div>
    </form>
    <script>
      const loginButton = document.querySelector('input[type="submit"]');
      loginButton.addEventListener('mouseover', () => {
        loginButton.style.backgroundColor = '#333';
      });
      loginButton.addEventListener('mouseout', () => {
        loginButton.style.backgroundColor = '#000';
      });
    </script>
  </body>
</html>
 
 
 

 

대충 작성한건데도 코드를 꽤 잘써준다 굿

부트스트랩 이것저것 찾아볼것도 없이 답변으로 바로 코드를 작성해주니 정말 편하다

ChatGPT 모델을 사용하는 파이썬 프로그램을 만들고, Colab을 사용하여 해당 프로그램을 검증하는 방법은 다음과 같습니다.

 

1.  ChatGPT 모델 설치

 

먼저, 파이썬 프로그램에서 ChatGPT 모델을 사용할 수 있도록 설치해야 합니다. OpenAI에서 공식적으로 제공하는 Python API인 openai 모듈을 사용하여 설치할 수 있습니다. 다음과 같이 명령어를 입력하여 openai 모듈을 설치합니다.

 

pip install openai

 

2. OpenAI API key 생성

 

openai 모듈을 사용하기 위해서는 OpenAI API key가 필요합니다. OpenAI API key를 생성하기 위해서는 OpenAI 웹사이트에서 API key를 생성할 수 있습니다. https://beta.openai.com/docs/quickstart

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

3. 파이썬 프로그램 작성

 

ChatGPT 모델을 사용하는 파이썬 프로그램을 작성합니다. 예를 들어, 다음과 같이 ChatGPT 모델을 사용하여 문장 생성을 수행하는 간단한 예제 코드를 작성할 수 있습니다.

 

import openai
import os

# OpenAI API key 설정
openai.api_key = os.environ["OPENAI_API_KEY"]

# 문장 생성 함수
def generate_text(prompt):
    # 문장 생성 요청
    response = openai.Completion.create(
        engine="davinci",
        prompt=prompt,
        max_tokens=60,
        n=1,
        stop=None,
        temperature=0.5,
    )
    # 생성된 문장 반환
    return response.choices[0].text.strip()

# 문장 생성 예제
generated_text = generate_text("Hello, how are you?")
print(generated_text)

 

위 코드에서 OPENAI_API_KEY는 API key를 환경변수로 설정한 경우에 사용하는 코드입니다. API key를 직접 입력하는 경우에는 다음과 같이 코드를 작성합니다.

 

openai.api_key = "YOUR_API_KEY"

 

4. Colab에서 실행

 

작성한 파이썬 프로그램을 Colab에서 실행하여 결과를 확인할 수 있습니다. Colab에서는 다음과 같이 코드를 작성하고 실행할 수 있습니다.

  • Colab 파일 생성: https://colab.research.google.com/ 에서 파이썬 파일(.ipynb)을 생성합니다.
  • 코드 작성: 위에서 작성한 파이썬 코드를 Colab 파일에 붙여넣습니다.
  • API key 설정: Colab에서는 아래와 같이 API key를 설정합니다.
import openai_secret_manager

assert "openai" in openai_secret_manager.get_services()
secrets = openai_secret_manager.get_secret("openai")

# OpenAI API key 설정
openai.api_key = secrets["api_key"]
  • 코드 실행: Colab 파일에서 위 코드들을 실행합니다.

 

5. 결과 확인

코드 실행 후, ChatGPT 모델이 생성한 문장이 출력되는지 확인합니다. 만약 문장이 출력되지 않거나 에러가 발생한다면, 코드를 재검사 합니다.

[문항1] 1. 아래의 array를 2행 2열 형태로 바꾸는 코드를 작성하시오. (20점)
arr1 = np.array([1,2,3,4])
답안 : a1 = np.reshape(arr1,(2,2))

 

[문항2] 아래와 같은 DataFrame에서 math 컬럼의 합과 평균을 구하는 코드를 작성 하시오. (10점)
import pandas as pd
df = pd.DataFrame({'name' : ['김지훈', '이유진', '박동현', '김민지'],
                                                      'english' : [90, 80, 60, 70],
                                                      'math'  : [50, 60, 100, 20]})
답안 : df["math"].sum()<br>df["math"].mean()

 

[문항3] 아래와 같은 DataFrame에서 sex 컬럼은 F이고, country 컬럼은 Korea 인 데이터를 구하는 코드를 작성 하시오. (20점)
df = pd.DataFrame({'sex'    : ['F', 'M', 'F', 'M'],
                                    'country' : ['Korea', 'China', 'Japan', 'USA']})
답안 : df[(df['sex']='F')&(df['country']='Korea')]

 

 

[문항4] 다음과 같은 문자열에서 휴대폰 번호 마지막 뒷자리 숫자 4개를 ####로 바꾸는 프로그램을 정규표현식을 사용하여 작성하시오. (20점)
s = """
        park 010-9999-9988
        kim  010-9909-7789
        lee  010-8789-7768
    ""“
답안 :
import re

s = """
    park 010-9999-9988
    kim 010-9909-7789
    lee 010-8789-7768
"""

pat = re.compile("(\d{3}[-]\d{4})[-]\d{4}")
result = pat.sub("\g<1>-####", s)

print(result)

 

[문항5] 웹 크롤링을 통해 html 파일안의 모든 div태그의 class가 'abc'인 요소를 가져오는 코드를 작성하시오. (10점)
답안 : bs_obj = BeautifulSoup(html_str, "html.parser")<br>div_abc = bs_obj.find("div" , {"class" : "abc"} )

 

 

[문항6] 작성한 그래프를 마지막에 화면에 표시하는 matplotlib.pyplot의 함수는 무엇인가? (10점)
답안 : plt.show()

 

 

[문항7] 작성한 그래프를 파일로 저장할 때 사용하는 matplotlib.pyplot의 함수는 무엇인가? (10점)
답안 : plt.savefig() 함수

 

 

[문항1] 접근제어자 중 protected의 특징에 대해 설명하시오. [15점]
답안 : 자신의 클래스 내 접근 가능, <br>같은 패키지 내 접근 가능, <br>하위 클래스에서 접근 가능,<br>다른 패키지에서는 접근 불가능

 

[문항2] 1~10의 수 중 짝수와 홀수의 합을 구해 출력하는 코드를 작성하시오. [15점]
답안 :
package p2022_11_29;

public class test1 {
	public static void main(String[] args) {
		
		int even = 0; //짝수 합계 저장을 위한 변수 선언
		int odd = 0; //홀수 합계 저장을 위한 변수 선언
		
		for(int i=1; i<=10; i++) {
			if(i%2 == 0) { //짝수 여부 확인
				even = even+i; //기존에 저장된 even값과 i값을 더해서 다시 even 변수에 대입
			}
			else { //홀수 여부 확인
				odd = odd+i;
			}
		}
		System.out.println("짝수 합계 : "+even);
		System.out.println("홀수 합계 : "+odd);

	}
}

 

[문항3] ② 자리에서 ‘철수’ 가 출력되도록, ① 자리에서 부모 생성자로 ‘철수’를 보내는 코드를 작성하시오. [10점]
 
답안 : super("철수")

 

[문항4] 스레드를 구현하기 위해 ①자리에 들어갈 적당한 코드는? [10점]
 
답안 : Runnable

 

[문항5] 오늘 날짜와 현재 시간을 알아오기 위한 코드를 작성하시오. [10점]
답안 :
package p2022_11_29;

import java.util.Date;

public class test1 {
	public static void main(String[] args) {
		
		Date d = new Date();
		System.out.println(d);

	}
}

 

 

[문항6] ①, ② 자리에 들어갈 코드를 작성하시오. [20점]
 
답안 : 1) boolean<br>2) boolean

 

 

 

[문항7] Movie 클래스 객체를 요소로 갖는 ArrayList 객체를 생성하시오. [10점]
답안 : List<Movie> list = new ArrayList<Movie>();

 

 

[문항8] JDBC를 이용하여 콘솔창으로 부서번호,부서명, 위치를 입력받아 Dept Table에 입력하는 프로그램을 작성 하시오(Oracle) [10점]
답안 :
package p2022_11_29;

import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class test1 {

	 public static void main(String[] args) throws Exception {
		 int result = 0;
		 	Scanner sc = new Scanner(System.in);
		 	System.out.print("부서번호 > ");
			int deptno = sc.nextInt();
			sc.nextLine();
			System.out.print("부서명 > ");
			String deptname = sc.nextLine();
			System.out.print("지역 > ");
			String deptloc = sc.nextLine();
	  
			Connection con = null;
			PreparedStatement pstmt = null;
			
			String driver = "oracle.jdbc.driver.OracleDriver";
			String url = "jdbc:oracle:thin:@localhost:1521:xe";
	  
			try {
				// JDBC 방식
				Class.forName(driver);
				con = DriverManager.getConnection(url, "scott", "tiger");
				
				String sql = "insert into dept values(?,?,?)";
				
				pstmt = con.prepareStatement(sql);
				pstmt.setInt(1, deptno);
				pstmt.setString(2, deptname);
				pstmt.setString(3, deptloc);
				
				result = pstmt.executeUpdate();	// SQL문 실행
				
			} catch(Exception e) {
				e.printStackTrace();
			} finally {
				if(pstmt != null) try { pstmt.close(); } catch(Exception e) {}
				if(con != null) try { con.close(); } catch(Exception e) {}
			}
	 
	 }
}

 

 

점수

95/100

[문항1] 1. 다음 중 파이썬에서 지원하지 않는 자료형은? [5점]
1) int            2) 리스트          3) 딕셔너리        4) Map
답안 : 4) Map

 

[문항2] 다음 중 파이썬에서 사용하는 숫자 타입이 아닌 자료형은 무엇인가? [5점]
1) int          2) float          3) double        4) complex
답안 : 3) double

 

[문항3] 변수 str = 'korea' 라는 문자열이 저장 되어 있을 때, 아래와 같이 슬라이싱 했을 때 실행결과는? [5점]
str[ : -1]
답안 : 'kore'

 

[문항4] 리스트 [1, 3, 5, 4, 2]를 [5, 4, 3, 2, 1]로 출력 하려고 한다. 아래 괄호 a와 b에 들어갈 함수는  각각 무엇인가? [5점]
list = [1, 3, 5, 4, 2]
list.(    a    )
list.(    b    )
답안 : a : sort()<br>b : reverse()

 

[문항5] 키보드로 주민번호 13자리를 입력 받았을때 남자인지, 여자인지를 판별하는 프로그램을 아래의 조건에 맞게 작성하세요? [20점]
ex)  9501011234567
1. 주민번호는 하이픈(-) 없이 13자리를 입력한다.
2. 입력한 주민번호가 13자리가 아닌경우에 메세지를 출력한다.
3. 입력한 주민번호를 이용해서 남자, 여자를 판별해서 출력한다.
jumin = input('주민번호 13자리를 입력하세요?')

if len(jumin) != 13:
    print('13자리를 입력하세요')
elif jumin[6] == '1' or jumin[6] == '3':
    print('남자')
elif jumin[6] == '2' or jumin[6] == '4':
    print('여자')
else:
    print('똑바로 입력하세요')

 

[문항6] 다음과 같은 정보가 있는 리스트에서 나이(age)를 기준으로 오름차순으로 정렬하는 프로그램을 작성 하세요? [20점]
people = [{'name':'noah', 'age':19},
                {'name':'liam', 'age':23},
                {'name':'jacob', 'age':9},
                {'name':'mason', 'age':21} ]
people.sort(key=lambda x: x['age'])
print(people)

 

[문항7] 키보드로 입력 받은 n 번째 피보나치 수열을 구하는 프로그램을 작성하세요? [20점]
(1,1,2,3,5,8,13.. f(n) = f(n-1) + f(n-2) 단,f(1)=1, f(2)=1)
n = int(input('몇번째 피보나치 수열을 구하세요?'))    # n=3
a = [1, 1]

for b in range(2, n):               # b = 2
    a.append(1)
    a[b] = a[b - 2] + a[b - 1]      # a[2] = a[0] + a[1] = 2
print(n, '번째 값 : ', a[n - 1])

 

[문항8] random 모듈을 이용해서 1 ~ 45 사이의 값 중에서 6개의 숫자를 추출하는 로또 프로그램을 아래의 조건에 맞게 작성하세요? [20점]
조건.
1. 발생된 난수 6개의 숫자는 서로 중복되지 않도록 한다.
2. 발생된 난수 6개의 숫자는 오름차순으로 정렬해서 출력한다.
import random

lot = []

while True:
    r = random.randint(1,45)
    if r not in lot:
        lot.append(r)
        if len(lot) == 6:
            break

print(sorted(lot))

 

 

점수

100 / 100

 

[문항1] . “(    ) 컴퓨팅이란 인터넷이라는 통신 서비스를 활용한 컴퓨팅 서비스 종류의 하나로 개인용 컴퓨터가 아닌 인터넷을 통해 연결된 원격 컴퓨터를 활용하는 기술을 말한다.”에서 괄호안에 적한한 단어를 기술하세요. [10점]
답안 : 클라우드 컴퓨팅

 

[문항2] AWS 컴퓨팅 서비스로서 인스턴스(가상 머신)을 제공하는 웹 서비스는 무엇인가?[10점]
답안 : EC2

 

[문항3] AWS 스토리지 서비스로서 데이터 보관 이외에도 정적 웹 사이트 호스팅 및 다양한 형태의 서비스로 활용 가능한 만능 스토리지 서비스를 무엇이라고 하는가?[10점]
답안 : S3

 

[문항4] AWS 데이터베이스 서비스로 RDBMS 서비스를 사용자가 직접 관리하지 않고 아마존에서 제공하는 서비스를 이용하여 데이터베이스를 이용할 수 있도록 해주는 서비스를 무엇이라고 하는가?[10점]
답안 : RDS

 

[문항5] 클라우드 서비스의 종류에는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service),  SaaS(Software as a Service)와 같이 크게 3가지로 나눌 수 있다. 아마존 AWS는 3가지 클라우드 유형중 어떤 유행의 서비스인지 기술하시오.[10점]
답안 : IaaS

 

 

[문항6] ssh 방식으로 인스턴스 연결시 사용하는 포트는 무엇인가?[10점]
답안 : 22번 포트

 

[문항7] 다음중 클라우드 서비스의 예가 아닌 것은?[10점]
1) Amazon Web Service(AWS)
2) Google Compute Engine(GCE)
3) Microsoft Azure
4) IBM Watson
답안 : 4) IBM Watson

 

[문항8] 다음중 가상화 시스템이 아닌 것은?[10점]
1) VMware                2) Virtual Box              3) git              4) docker
답안 : 3) git

 

 

[문항9] 대표적인 Linux 종류에 대하여 3가지 이상 기술 하시오.[10점]
답안 : 우분투<br>센트OS<br>레드햇

 

 

[문항10] Ubuntu 시스템에서 사용하는 editor 종류에 대하여 3가지 이상 기술 하시오.[10점]
답안 : vi<br>emacs<br>gedit

 

 

점수

100 / 100

 

[문항1]  다음 중 소프트웨어 생명 주기로 보기 어려운 것은 무엇인가?[10점]
1) 요구사항 분석
2) 발명
3) 디자인
4) 구현

2) 발명

 

 

 

[문항2]  다음은 무엇에 대한 설명인가?[10점]
작은 소프트웨어 단위(컴포넌트 또는 모듈)를 테스트하는 것으로서, 일반적으로 개발자 자신에 의해 행해진다. 과거에는 시간 부족을 이유로 생략되었으나 최근에는 개발 도구의 발전으로 개발 과정 중에 자동으로 진행된다.
1) 단위 테스트
2) 통합 테스트
3) 시스템 테스트
4) 인수 테스트

1) 단위 테스트

 

 

 

[문항3]  다음 중 테스트 도구의 장점이 아닌 것은 무엇인가?[10점]
1) 테스트 데이터의 재입력과 재구성 같은 반복 작업의 자동화를 통하여 테스트 인력과 시간을 최소화한다.
2) 비공개 상용 소프트웨어의 경우 고가이며, 인력과 교육에 대한 유지관리 비용이 높다.
3) 향상된 요구사항 정의, 성능 및 스트레스 테스트, 품질 측정을 최적화한다.
4) 빌드확인, 회귀, 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등의 향상된 테스트 품질을 보장한다.

2) 비공개 상용 소프트웨어의 경우 고가이며, 인력과 교육에 대한 유지관리 비용이 높다.

 

 

 

[문항4]  다음 내용은 소프트웨어 테스트 기법 중 어떤 기법에 해당하는 내용인가?[10점]
시스템 테스트 업무 진행 전체를 총괄할 수 있도록 절차 및 각 프로세스별 세부 업무를 알아야 하고 결과에 대한 분석 및 해결 방안을 제시할 수 있어야 한다.
1) 단위 테스트 기법
2) 통합 테스트 기법
3) 시스템 테스트 기법
4) 인수 테스트 기법

3) 시스템 테스트 기법

 

 

 

[문항5]  개별업무보다는 프로젝트 전체의 업무 흐름에 대하여 계획을 수립하고 제대로 수행되는 점검하는    테스트를 선택하시오.[10점]
1) 단위테스트             
2) 통합테스트
3) 시스템테스트           
4) 인수테스트

2) 통합테스트

 

 

 

[문항6]  전원차단 등 시스템에 생긴 문제에 대하여 제대로 복구 되는지 확인하는 테스트를 선택하시오.[10점]
1) 단위테스트               
2) 통합테스트
3) 시스템테스트             
4) 인수테스트

3) 시스템테스트  

 

 

 

[문항7]  다음 중에서 테스트 구성항목이 아닌 것을 선택하시오.[10점]
1) 테스트 대상           
2) 유스케이스 
3) 테스트 조직           
4) 테스트 일정

2) 유스케이스 

 

 

 

[문항8]  자바에서 프로그램 많이 사용하는 테스트 라이브러리는 무엇인지 쓰시오.[10점]

jUnit

 

 

 

[문항9]  다음은 보기는 어떤 프로토콜에 대한 설명인지 쓰시오.[10점]

SMTP

 

 

 

[문항10]  다음은 무엇에 대한 설명인지 쓰시오.[10점]

WebSocket

 

 

점수

100 / 100

[문항1] 1. 다음은 정보시스템 구축 시 운영체제 관련 요구사항을 반영하여 운영체제를 선택하려고 한다. 각 괄호에 들어갈 운영체제를 아래의 보기에서 골라서 입력하시오.[15점] 
[보기 : 운영 체제의 종류 - 윈도우즈(Windows), 유닉스(UNIX), 리눅스(Linux), IOS, Android]
일반적으로 [    (1)    ] 기반 시스템이 하드웨어 및 소프트웨어 소유 비용이 가장 적게 소요된다.
유지 및 관리 비용 측면에서는 [    (2)    ] 기반 시스템이 강점을 가진다.
안정적이고 신뢰할 수 있으며 대용량 처리를 위해서는 [    (3)    ] 기반 시스템이 선호되고 있다.

 

1 : 리눅스(Linux)

2 : 윈도우즈(Windows)

3 : 유닉스(UNIX)

 

[문항2] 요구사항 분석을 통해 요구사항을 기술할 때에 확인 되어야 될 작업이 아닌 것은 무엇인가?[10점]
1) 요구사항의 확인(Validation)
2) 요구사항 구현의 검증(Verification)
3) 비용 추정
4) 검증 가능한 서책 존재 유무

4) 검증 가능한 서책 존재 유무

 

[문항3] 다음은 DBMS 종류 중 어느 것에 대한 설명인가? [10점]

SQLite

 

[문항4] 다음은 무엇에 대한 설명인가?[10점]
실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이며, 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명한다.
1) 개념 모델링
2) 요구사항 할당
3) 정형 분석
4) 요구사항 협상

 

 1) 개념 모델링

 

[문항5] 다음 중 요구사항 분석 기법이 아닌 것은 무엇인가?[10점]
1) 요구사항 분류((Requirement Classification)
2) 개념 모델링(Conceptual Modeling)
3) 요구사항 할당((Requirement Allocation)
4) 결과 분석(Result Analytics)

4) 결과 분석(Result Analytics)

 

[문항6] 다음 ( ) 안에 들어갈 단어로 올바른 것은 무엇인가?[10점] 
운영체제와 소프트웨어 애플리케이션 사이에 위치하는 (          )는 소프트 웨어 애플리케이션에게 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어를 말한다.

미들웨어

 

[문항7] 다음 중 요구사항을 분석하기 위하여 사용하는 것은 무엇인가?[10점]
1)시퀀스 다이어그램    2)클래스 다이어그램    3)유스케이스 다이어그램    4)액티비티 다이어그램

 

3) 유스케이스 다이어그램

 

[문항8] 클라이언트의 요구 사항에 따라서 아래 테이블 작성 후 3명의 고객을 입력하는 문장을 작성하시오? [25점]

CREATE TABLE Client (
CNO CHAR(3) not null,
CNAME VARCHAR2(10) not null,
CID VARCHAR2(14) not null
);
INSERT INTO Client VALUES('1','lay','lay99');
INSERT INTO Client VALUES('2','kei','kei00');
INSERT INTO Client VALUES('3','mimi','mimi01');

 

점수

100 / 100

 

 

[문항1]  스프링 MVC에서 String name=request.getParameter("name")서블릿 자바코드를 대신 사용할 수 있는 어노테이션을 선태하시오.[5점]
1) @Service      2) @Controller      3) @RequestParam        4) @ReqeustMapping

답안 : 3) @RequestParam

 

 

[문항2]  스프링 MVC에서 setter 메서드를 통해서 의존관계를 주입할 수 있다.  이 setter에 의해서 주입된  실제 클래스와  자동으로 연결 시켜주는 스프링 어노테이션을 선택하시오. [5점]
1) @Autowired          2) @Repository      3) @RequestParam    4) @RequestMapping

답안 : 1) @Autowired

 

 

[문항3]  다음 MyBatis에서 한 개 이상 레코드를 검색해서 컬렉션 List로 반환하는 메서드를 선택하시오.  [5점]
1)queryForList()                2)selectOne()                3)selectList()                    4)queryForObject()

답안 : 3) selectList()

 

 

[문항4]  다음 mybatis에서 단 하나의 레코드만을 검색하는 메서드를 선택하시오.[5점]
1)selectOne()                  2)selectList()              3)queryForList()              4)queryForObject()

답안 : 1) selectOne()

 

 

[문항5]  MyBatis SQL 매퍼 XML에서 파라미터 자료형 타입을 지정하는 속성은 무엇인지 선택하시오. [5점]
1)parameterClass        2)resultClass            3)parameterType            4)resultType

답안 : 3) parameterType

 

 

[문항6]  다음 SQL문에서 ?에 치환될 id필드를 MyBatis 문법으로 표현한 것을  선택하시오. [5점]

select * from student where id=?
1){id}          2)${id}                 3)#{id}             4)&{id}

답안 : 3) #{id}

 

 

[문항7]  MyBatis SQL 매퍼 XML에서 반환 결과 자료형 타입을 지정하는 속성을 선택하시오. [5점]
1)resultType                  2)parameterType                3)resultClass              4) parameterClass

답안 : 1) resultType

 

 

[문항8]  스프링 MVC처리 흐름도 그림의 번호에 들어갈 단어를 쓰시오.  [각 5점]

1) DispacherServlet
2) View

 

 

[문항9]  보기안의 번호 안에 들어갈 단어를 적어서 애플리케이션 인터페이스를 완성하시오. [각 6점]
1) 컨트롤러 클래스를 만들기 위한 어노테이션
2) setMethod
3) 객체 생성

답안 : 

1) @Controller
2) setShopService
3) ModelAndView()

 

 

[문항10]  보기안의 번호에 들어갈 단어를 적어서 애플리케이션 인터페이스를 완성하시오. [각 5점]
1) DAO클래스를 만들기 위한 어노테이션
2) DB연동을 위해서 설정파일에 있는 session을 연결
3) 입력을 하기위한 mybatis method

답안 : 

1) @Repository
2) SqlSession
3) insert

 

 

[문항11]  보기안의 번호 안에 들어갈 단어를 적어서 configuration.xml을 완성하시오. [각 5점]

답안 : 

1) configuration
2) alias
3) mappers
4) resource

 

점수

100 / 100

[문항1]  

JSP와 오라클 데이터베이스를 JDBC(Java Database Connectivity) 방식으로 연동하는 코드를  작성하시오. [10점]


데이터베이스 이름 : xe
port 번호 : 1521
계정명 : scott
비밀번호 : tiger

 

// JDBC 방식
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");

 

 

 

[문항2]  

JSP의 내장객체 중 영역에 관련된 객체(request, session)를 이용하여 회원의 id를 각각 공유 설정하고, 공유된 id를 구해오는 코드를 각각 작성하시오.  [10점]


회원의 id : toto

	String id = "toto";
	request.setAttribute("rid", id);
	session.setAttribute("sid", id);
	
	String r_id = (String)request.getAttribute("rid");
	String s_id = (String)session.getAttribute("sid");

 

 

 

[문항3]  

사용자 폼 태그에서 method=post 방식으로 넘어온 한글 자료를 JSP에서 받을 때 한글을 깨지지 않게 하는 코드를 작성하시오. [10점]

 

		request.setCharacterEncoding("utf-8");

 

 

 

[문항4]  

다음 Java코드와 같은 역할을 하는 내용을 보여주는 JSP 표준액션 코드를 작성 하시오. [10점]


Car sonata = new Car();

<jsp:useBean id="sonata" class="Car"/>

 

 

 

[문항5]  

체크박스는 복수 개를 선택할 수 있다. 복수개가 선택된 값을 JSP에서 String 배열로 받으려면 request객체 하위의 어떠한 메서드를  사용해야 하는가? [10점]

 

답 : request 객체의 getParameterValues() 메소드를 사용하면 된다

 

 

 

[문항6]  

자바 서블릿 코드에서 출력 스트림 객체를 만드는 방법은? [10점]

 

PrintWriter out = response.getWriter();

 

 

 

[문항7]  

다음 보기는 JDBC를 활용하여 테이블에 데이터를 입력하는 프로그램이다. 괄호 (1) (2) (3) (4)를 채워서 완성하시오. [10점]
Class.forName((1));
Connection con=DriverManager.getConnection((2), "scott","tiger");
PreparedStatement pstmt = con.prepareStatement((3));
pstmt.setInt(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
int result = pstmt.(4);
pstmt.close();
con.close();

 

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott","tiger");
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
int result = pstmt.executeUpdate();
pstmt.close();
con.close();

# 실수했다, sql 대신 SQL문이 들어가야함

# insert into 테이블명 values(?,?,?)

 

 

 

[문항8]  다음과 같은 조건에 맞는 게시판 양식을 작성하세요? [10점]


1) 값 전달 방식은 post 방식으로 한다.
2) 값이 전달될 파일명은 board.jsp 로 작성한다.
3) 입력 양식의 name값은 위에서부터 title, name, password, content 순서로 한다.
4) 확인 버튼은 submit으로 작성한다.
5) 게시판 양식 : boardform.html
    폼에서 넘어온 값을 받는 파일 : board.jsp
    자바빈 클래스 : board – BoardBean.java
boardform.txt 파일로 작성해서 제출하세요.

 

- boardform.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
</head>
<body>

<table border=1 align=center>
<form method="post" action="board.jsp">
	<caption>게시판</caption>
	<tr><th>제목</th>
		<td><input type=text name="title"></td>
	</tr>
	<tr><th>작성자</th>
		<td><input type=text name="name"></td>
	</tr>
	<tr><th>비밀번호</th>
		<td><input type=password size=50 name="password"></td>
	</tr>
	<tr><th>내용</th>
		<td><textarea cols=60 rows=10 name="content"></textarea></td>
	</tr>
	<tr><td colspan=2 align=center>
			<input type=submit value="확인">
		</td>
	</tr>
</form>
</table>

</body>
</html>

 

 

 

[문항9]  위 8번 문제의 양식에서 넘어온 값을 저장하기 위한 자바빈(DTO) 클래스를 작성하세요? [10점]


1) 입력 양식의 name값은 위에서부터 title, name, password, content 순서로 한다.
2) 자바빈 클래스의 package는 board로 작성한다.
3) 자바빈 클래스는 BoardBean 으로 작성한다.
4) 게시판 양식 : boardform.html 
    자바빈 클래스 : board – BoardBean.java
boardbean.txt 파일로 작성해서 제출하세요.

 

- board/BoardBean.java

package board;

public class BoardBean {
	private String title;
	private String name;
	private String password;
	private String content;
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
}

 

 

[문항10]  위 8번 문제의 게시판 폼에서 넘어온 값을 액션태그를 사용하여 자바빈 클래스(DTO)에 저장하고 출력하는 프로그램을 작성하세요. [10점]


1) 한글값이 깨지지 않도록 처리한다.
2) 게시판 폼에서 넘어온 값을 액션태그를 이용해서 자바빈 클래스에 저장하고, 저장된 값을 출력하시오.
3) 게시판 양식 : boardform.html
    폼에서 넘어온 값을 받는 파일 : board.jsp
    자바빈 클래스 : board – BoardBean.java
board.txt 파일로 작성해서 제출하세요.

 

- board.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
	request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="board" class="board.BoardBean"/>
<jsp:setProperty property="*" name="board"/>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

제목 : <jsp:getProperty name="board"  property="title" /> <br>
작성자 : <jsp:getProperty name="board" property="name" /> <br>
비밀번호 : <jsp:getProperty name="board" property="password" /> <br>
내용 : <jsp:getProperty name="board" property="content" />

</body>
</html>

 

 

점수

98 / 100

 

 

 

+ Recent posts