2022.10.12 ~ 2022.10.14 (프로젝트 전)

- 프로젝트 주제 선정

 

2022.10.17 ~ 2022.10.21 (프로젝트 전)

- 요구사항 분석

- 카카오 오븐 사용 UI 기초 작업

- 작업 흐름도 작성

 

2022.10.24 (프로젝트 최종 발표 D-26)

- 카카오 오븐 사용 UI 기초 완성

- DB 설계

 

2022.10.25 (프로젝트 최종 발표 D-25)

- DB 설계, DB 컬럼 및 관계 설정

- AWS 원격 서버에서 오라클 환경 구축 및 프로젝트용 오라클 계정 생성

 

2022.10.26 (프로젝트 최종 발표 D-24)

- DB 데이터 타입 및 제약조건 확정

- eXERD 에서 포워드 엔지니어링으로 원격 서버 오라클에 테이블 생성

- Spring MVC 프로젝트 초기 환경설정 시작, DB 연결 확인 완료(SELECT 실행해봄)

- GIT Clone, 이클립스와 로컬 레포지토리 연결, Commit, Push 연습

 

2022.10.27 (프로젝트 최종 발표 D-23)

- Spring MVC 프로젝트 초기 환경설정 완료

- pom.xml, web.xml, servlet-context.xml, root-context.xml, Mapper 파일 생성 및 namespace 지정, Mybatis 환경설정 파일, 인터셉터 구현 초기 설정 완료

- GITHUB 원격 저장소 생성

- GITHUB 에 초기 환경설정 완료된 Spring MVC 프로젝트 Commit and Push

- 멤버들 각각 Branch 생성 및 Push 테스트

- EVENT 생성 (INSERT) 기능 구현

 

2022.10.28 (프로젝트 최종 발표 D-22)

- EVENT 생성 시 지도 API 기능 추가

- EVENT 리스트 불러오기, 출력하기

- EVENT 생성시 파일명 난수화해서 중복 방지

- 중간발표 발표 준비, PPT 준비

 

2022.10.29 (프로젝트 최종 발표 D-21)

- 전체 이벤트 리스트, 특정 지역의 이벤트 리스트, 특정 모임의 이벤트 리스트, 이벤트 검색결과 리스트 출력

- 이벤트 리스트 페이징 처리

 

2022.10.31 (프로젝트 최종 발표 D-20)

- 이벤트 상세페이지, 수정폼, 수정, 삭제 기능 추가

- 프로젝트 중간 발표

[문항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

 

 

컴파일러 방식 언어

- 컴파일러에 의해 기계어로 번역된 채로 실행된다

- 수정이 빈번하게 발생할 경우에는 수정 후 다시 컴파일을 해야합니다.

- 컴파일 시간이 오래 걸립니다, 간단한 수정에도 오랜 기간의 컴파일 시간이 요구됩니다

 

 

인터프리터 방식 언어

- 수정이 빈번하게 발생하는 경우에는 소스 코드를 줄 단위로 읽어 바로 실행하는 인터프리터 방식이 유리

- 스크립트 소스코드를 컴파일 방식에 의해 중간 코드(Bytecode)로 우선 만들고, 이를 다시 인터프리터 방식으로 해석하여 수행

 

컴파일러 방식 언어 vs 인터프리터 방식 언어

- 컴파일 방식 언어 : C, C++, JAVA

- 인터프리터 방식 언어 : Python, JavaScript, Perl, PHP, Ruby

 

스크립트 언어의 장점

- 개발 시간이 단축

- 소스 코드 수정이 빠르고 간단

 

스크립트 언어의 단점

- 중간 코드를 만드는 것은 간단하지만 그것을 실제로 실행시키는 것은 많은 작업이 필요

- 실행 시간이 오래 걸림

 

파이썬의 특징

1. 들여쓰기

- 반드시 해야한다

2. 풍부한 라이브러리

- 데이터 분석에 최적화

3. 다른 언어와 결합해서 사용 가능

- JAVA 와 결합해서 사용 가능

- JAVA 로 만든 프로그램 파이썬으로 실행 가능

4. 무료에 가까운 라이센스

5. 유니코드

- 기본 타입이 유니코드이므로 인코딩 지정하지 않으면 유니코드로 처리

6. 동적 타이핑과 자동 메모리 관리

- 런타임시 타입체크를 하는 동적 타이핑

 

파이썬과 웹 프로그래밍

- Django, Flask 프레임워크 사용시 파이썬으로 웹 어플리케이션 개발 가능

- 자바의 MVC 를 MTV 라고 부른다

 

파이썬과 데이터 분석

- Numpy

- Pandas

- Metplotlib

 

파이썬 버전

- 2.x 버전과 3.x 버전이 있다

- 현재는 3.x 문법만 거의 사용

 

파이썬 다운로드

https://www.python.org/downloads/

- 최신 버전 설치 가능

- 실습시엔 파이썬 설치하지 않는다

 

아나콘다

https://www.anaconda.com/

- 파이썬 설치하는 대신 아나콘다 프로그램을 다운

- 아나콘다 안에는 파이썬 내장, 여러 파이썬 라이브러리인 파이썬 분석관련 numpy, pandas, metaplotlib 까지 내장

- Just Me 는 현재 내가 로그인한 계정 admin 에서만 사용 가능

- All Users 는 모든 계정에서 사용 가능

- 위의 Add Anaconda3 to my PATH environment variable 에 체크해야만 pip 명령어를 쓸 수 있다

+ pip 명령어로 프로그램을 설치함

 

아나콘다 설치 후 확인 (파이썬 설치 확인)

- 명령 프롬프트 창에서 python 이라고 입력시 '>>>' 가 나타나면 접속된 상태

- PATH 가 잡혀있어야만 python 이란 명령이 적용됨

+ quit() 으로 빠져나감

 

pip

- 라이브러리 관리

- 라이브러리 설치/관리/업데이트시 사용하는 명령

 

pip list 명령어

- 현재 아나콘다에 설치된 모든 라이브러리 종류를 보여준다

- 파이썬 포함 여러 라이브러리를 보여줌

 

IDE 프로그램

- 소스 작성, 인터프리터, 디버깅 모두 가능한 프로그램

ex) 자바는 eclipse, C 는 Visual Studio

- PyCharm : python 전용 IDE 프로그램

- ipython : 아나콘다를 설치하면 같이 자동 설치

- Visual Studio : Visual Studio 의 파이썬 도구

- Eclipse : Eclipse 에 PyDev 플러그인 이용해서 사용

- Spyder : 아나콘다를 설치하면 같이 자동 설치

 

ipython 명령

- ipython 은 C 언어로 만들어진 인터프리터 사용

- ipython 명령 입력시 대화형으로 처리됨

 

Jupyter Notebook

- ipython 명령으로 처리하는 작업들을 브라우저 기반으로 처리할 수 있도록 해줌

- 아나콘다를 설치하면 같이 자동 설치

- 파이썬 분석시 사용

 

Jupyter Notebook 실행

- Anaconda3 에서 Jupyther Notebook 메뉴 클릭

- 클릭 시 브라우저창이 열리는데, 같이 열리는 명령 프롬프트 창을 닫으면 안됨

- 계정명이 한글명이면 동작하지 않는다

- 내 계정 디렉토리 안의 파일 폴더들이 보인다

- 우측 New - Python 3 (jpykernel) 클릭시 작업을 위한 새로운 노트북이 열림

- 여기서 파이썬 작업 가능, 데이터 분석시 주피터 노트북을 사용한다

- 실행방법 : Ctrl + Enter, Shift + Enter 또는 Run 버튼 클릭

 

새로운 창 추가

 

그래프 그리기

import matplotlib.pyplot as plt
plt.plot([1,2,3,4]) 
plt.ylabel('some numbers')
plt.show()

- 위 코드들을 주피터 노트북에 입력 후 Shift + Enter 클릭

- 그대로 저장했을때는 Untitled 가 된다, 자동 저장됨

 

이름 수정

 

- 나와서 이 화면으로 돌아가기

- 이 파일 하나만 가져가면 된다

- 클릭시 내용을 볼 수 있다

- 여기 데이터가 저장되어있다

 

Pycharm

- python 기본 문법을 공부할때 사용할 프로그램

- 주피터 프로그램은 python 분석시 사용, 지금은 Pycharm 으로 사용

 

Pycharm 다운로드

- Professional 버전, Community 버전

- Community 버전은 콘솔 명령어로 프로젝트 생성

- Community 버전을 다운로드 하자

https://www.jetbrains.com/pycharm/download/#section=windows

 

워크스페이스와 프로젝트 같이 생성

- Prjoect - New 선택시 프로젝트 생성되며 워크스페이스가 같이 생성

- C:\Users\admin\PycharmProjects 까지가 워크 스페이스, pythonProject 가 프로젝트명

- 가상환경을 필요에 따라 여러개 만들 수 있고, 여러 버전으로 테스트 가능

- 가상환경 위치 : C:\Users\admin\PycharmProjects\pythonProject\venv

- Create 누르면 새로운 가상환경을 만들게 되면서 실행된다


 

 

 

 

 

 

 

 

 

 

+ Recent posts