본문 바로가기

전체 글

(231)
[SE] 아키텍쳐 설계 2023학년도 2학기 충남대학교 김현수 교수님의 소프트웨어공학 수업 정리자료입니다. 📁 아키텍처 설계과정 아키텍처 설계란 시스템의 기능적 요구사항을 구현하는 방법,재정적 제약 등 비기능적 요구사항에 의한 제약을 준수하는 방법, 좋은 품질의 일반적 원칙을 고수하는 방법을 찾기 위한 문제 해결 과정을 말한다. 설계 담당자는 설계 과정에서 작은 문제들에 직면하게 된다. 이러한 이슈들에는 해결책으로서 여러가지 설계 옵션이 존재하고, 설계 담당자는 이슈를 해결하기 위해 선택사항 중 가장 좋은 방안을 찾아 의사결정을 내려야 한다. 이때 설계에 대한 의사결정을 내리기 위해 소프트웨어 엔지니어가 사용할 지식 및 정보의 종류는 다음과 같다. 요구사항 정보 이전까지 만들어진 설계 작업 정보 가용한 기술 정보 소프트웨어 설..
[SE] 동적 모델링 : 시퀀스, 상태, 활동 다이어그램 2023학년도 2학기 충남대학교 김현수 교수님의 소프트웨어공학 수업 정리자료입니다. 📁 동적모델링 동적모델링이란, 유스케이스로 표현한 시스템의 기능을 만족시키기 위해 시스템 내부의 구성요소들이 어떻게 상호작용하는지를 나타내는 모델링을 말한다. 시스템의 전반적인 부분보다는 가장 복잡하다고 판단되는 일부분을 동적 다이어그램으로 만든다. 일반적으로 동적모델을 표현할 때 UML 다이어그램을 사용하며, 동적 모델의 종류에는 시퀀스 다이어그램, 상태 다이어그램, 액티비티 다이어그램이 있다. 액티비티 다이어그램과 상태 다이어그램은 구현을 올바르게 하도록 도와준다. 동일한 이벤트에도 다양한 조건에 따라 인스턴스들이 다르게 반응할 때는 상태 다이어그램이 적합하다. 🌱 시퀀스 다이어그램 시퀀스 다이어그램은 시스템의 동적인..
[CN] HTTPS 실습 웹 서버에 https를 적용하기 위해 SSL 인증서를 발급받아보자. 1. openssl 설치 https://code.google.com/archive/p/openssl-for-windows/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com https://narup.tistory.com/239 [OpenSSL] SSL 인증서 발급 방법 요약 1. 개요 웹 서버에 https 적용을 위한 SSL 인증서를 발급 받는 방법을 정리했습니다. 2. openssl for windows 다운 https://code.google.com/archive/p/openssl-for-windows/down..
[CN] IPSec - IP계층 보안 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 IPsec IPsec란 IP security의 약자로, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜 통신을 위한 인터넷 프로토콜 스위트를 지칭한다. 이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화하는 방식으로 동작하며, 암호화(encryption), 인증(authentication), 무결성(integrity)를 제공한다. 두개의 모드가 있다. 1. transport mode datagram의 payload부분만 암호화 및 인증한다. 2. tunnel mode 전체 datagram이 암호화 및 인증되고, 암호화된 datagram은 새로운 IP헤더를 갖는 새 datagram 안에 캡슐화..
[CN] 이메일 보안(PGP) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 E-mail Security 이메일을 전송할 때 보안과 관련하여 중요한 점은 세가지가 있다. 기밀성(confidential) 무결성(integrity) 인증(authentication) 1. with Confidentiality Alice가 Bob에게 기밀성을 유지하는 이메일을 보내고 싶어한다고 하자. Alice의 입장 먼저 Alice는 Ks라는 대칭키를 제작한다. (이것을 Bob과 안전하게 나눠갖는 것이 목적) 보내려는 메세지 m 을 Alice가 제작한 대칭키 Ks로 암호화 한다. 그 대칭키 Ks를 Bob의 공개키 Kb 로 암호화 한다. (포인트!!) -> 이 말은 Bob만이 자신의 비밀키로 저것을 열 수가 있음. ..
[CP] Machine Dependent Processing 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 이제부터는 물리적인 제약조건도 생각하자. 컴파일러 후반부는 빠른 코드로 바꾸는 최적화 부분과 실제 머신에서 도는 코드로 바꾸는 부분으로 나뉜다. 회색 부분이 실제 머신에서 도는 코드로 바꾸는 부분. Machine-independent Optimization부분은 CPU나 컴퓨터구조와 관련없는 부분. 아래부분은 좀더 물리적 제약조건이 있고 머신 각각에 특화된 최적화를 하기 위해 노력하는 부분. 이번 시간에는 Instruction Selection과 Instruction Scheduling과 Register Allocation부분을 다뤄보자. 📁 Instruction Selection 명령어를 할당하는 것을 insturctio..
[CP] Semantic Analysis : Type Checking 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 📁 Type Checking 수행 중 변수가 가지는 값에 대한 기술을 타입(Type)이라고 한다. 예를 들어 int x라고 하면, x가 integer값 범위에 들어가는 값을 가지게 된다. 라는 뜻 타입 오류라는건 값을 부적절하게 사용하거나, 값의 범위를 벗어남. 타입 오류가 없다는건 타입 안정성이 있다고 표현할 수 있으며, 타입 안정성을 보장하는 방법은 다음과 같다. 타입을 선언(binding)한다. 선언 방법에는 int x와 같이 명시적인 방법과 x=1과 같이 암묵적인 방법이 있다. 타입을 검사(checking)한다. 타입 규칙을 세우고 이에 대해 검사한다. 타입과 관련된 몇가지 개념들을 보자. 1. Static vs. ..
[CP] Semantic Analysis : Symbol Tables 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 컴파일러 전반부는 어휘분석, 구문분석, 의미분석, 중간코드 생성으로 나뉜다. 구문분석까지 진행하고, 중간코드를 생성하기 전에 프로그램이 semantics를 분석해두기 위한 의미분석 program semantics에는 두가지 종류가있다. 1. run time에 어떻게 동작하는지에 대한 얘기 2. 프로그램을 돌리지 않고 읽어봤을때 분석. static semantics는 거의 타입분석과 비슷하다고 할 수 있음. 의미분석 단계에서는 static semantics를 대상으로 진행된다. symbol tables, types에 대해 알아보자. 📁 Semantic Analasis semantics analysis는 정석적인 분석 과정이라..