전공
-
-
OWASP Top Ten(2017년 버전)전공/정보보안 2020. 5. 29. 11:37
https://owasp.org/www-project-top-ten/ OWASP Top Ten Web Application Security Risks | OWASP The OWASP Top 10 is the reference standard for the most critical web application security risks. Adopting the OWASP Top 10 is perhaps the most effective first step towards changing your software development culture focused on producing secure code. owasp.org 1. Injection 사용자가 입력하는 데이터는 항상 validation(검증)이 ..
-
기본 데이터 형(primitive data types)전공/프로그래밍 언어론 2020. 5. 14. 09:34
자료형(data type)이란 변수들이 가질 수 있는 값의 집합과 이 값들에 적용할 수 있는 연산들의 집합이다. 컴퓨터 언어의 자료형은 기본 데이터 형(primitive data types)과 복합 데이터 형(composite data type)으로 나누어진다. 기본 데이터 형 1. 정수형 2. 실수형 3. 문자형 4. boolean형 복합 데이터 형 1. 레코드 형 2. 배열형 3. 포인터 형 4. 문자열 형 정수형(integer type) - 정수형 변수의 크기는 프로그래밍 언어마다, 또 구현된 컴퓨터마다 다를 수 있다. - C 언어에서 정수형은 부호있는 정수형(signed integer)과 부호없이 양수만을 나타내는 부호없는 정수형(unsigned integer)로 구분하기도 하고, short in..
-
모노리식 아키텍처, 마이크로서비스 아키텍처전공/소프트웨어 공학 2020. 5. 13. 10:34
모노리식(monolithic) 아키텍처 •한 프로젝트의 덩치가 너무 커져서 어플리케이션 구동시간이 늘어나고 빌드,배포 시간도 길어진다. •조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포를 해야한다. •많은 양의 코드가 몰려있어 개발자가 모두를 이해 할 수 없고 유지보수도 힘들다. •일부분의 오류가 전체에 영향을 미친다. •기능별로 알맞는 기술, 언어, 프레임워크를 선택하기가 까다롭다. 마이크로서비스(micorservice) 아키텍처 •대형 소프트웨어 프로젝트의 기능들을 작고 독립적이며 느슨하게 결합 된 모듈로 분해하여 서비스를 제공하는 아키텍처 •서비스가 개별적으로 독립적인 단위의 애플리케이션이기 때문에 변경이 용이하고 그 변경이 다른 서비스에 미치는 영향이 적다. •개별 서비스 단위의 배포가 가능..
-
테스트, 유지보수 종류전공/소프트웨어 공학 2020. 5. 11. 10:17
단위(컴포넌트) 테스트 : 한 모듈에 대해 수행하는 테스트. 통합 테스트 : 모듈과 모듈을 통합해서 수행하는 테스트. 시스템 테스트 : 개발이 완료된 후 전체 모듈(하나의 단위로) 테스트. 수정 유지보수(corrective maintenance) : 사용 중 소프트웨어의 오류가 발견되었을 때 이를 수정하는 작업. ( 사용자가 사용 중 오류를 발견했을 때 ) 적응 유지보수(adaptive maintenance) : 운영체계나 인프라 환경 등이 변화되었을 때 이 변화를 수용하도록 프로그램을 수정하는 작업(Windows -> Linux로 운영 환경이 변화되었을 때) 완전유지보수(perfective maintenance) : 기능이나 성능을 개선하거나 새로운 기능을 추가하기 위하여 프로그램을 수정하는 작업. e..
-
오픈소스 라이선스전공/소프트웨어 공학 2020. 5. 10. 19:48
OSS(오픈 소스 소프트웨어) : 소스 코드를 공개하는 소프트웨어, copyleft. copyleft(카피레프트)는 저작권을 기반으로 한 정보의 공유를 위한 조치이다. - 위키백과 오픈 소스 소프트웨어는 소스코드 제공과 동시에 사용, 복제, 수정, 재배포를 허용하고 사용 기간도 무제한이다. 그럼 OSS에는 저작권이 없는가? NO! → 공개SW 개발자가 만들어 놓은 조건의 범위에 따라 해당 소프트웨어를 사용해야 하며, 이를 위반할 경우에는 라이선스 위반 및 저작권 침해로 이에 대한 법적 책임을 져야한다. 즉, OSS는 소스코드를 개방했을 뿐 지적재산권으로 보호되는 저작물이다. 오픈소스 라이선스 종류 GPL(General Public License) 가장 많이 사용되는 라이선스 가장 엄격 SW 배포 시 저작..
-
2. 변수 및 바인딩전공/프로그래밍 언어론 2020. 5. 4. 10:08
변수 - 기억장소(main memory)의 하나의 장소(cell)을 추상화한 것. - 원하는 데이터의 값을 저장할 수 있다. - 속성 1. Address(기억장소의 주소, l-value) 2. Value(값, r-value) 3. Type(변수 값의 범위와 가능한 연산의 집합 결정) 4. Scope(변수가 사용될 수 있는 프로그램의 부분) 5. Lifetime(변수와 연관된 기억장소의 할당 기간) 6. Type checking 7. Initialization 선언문 - 프로그램 실행 시에 사용할 데이터의 속성에 관한 정보(type, name, size 등)를 컴파일러에게 알려주는 문장. - 예 : int a[10]; - 컴파일러가 소스 코드를 기계어로 번역할 때 필요로 하는 중요한 정보. - 메모리가 얼..
-
1. 프로그래밍 언어의 소개전공/프로그래밍 언어론 2020. 5. 2. 12:10
프로그램(또는 소프트웨어) - 명령의 집합 - 그 명령들이 절차에 맞춰 순서대로 있어야 한다(대표적인 언어: C). - 데이터 + 알고리즘. 데이터를 어떻게 정의하느냐, 가져오느냐가 굉장히 중요하다. - 데이터는 컴퓨터의 입력, 알고리즘은 절차(procedure), 데이터 + 알고리즘을 하면 나오는 결과물은 출력(information)이라고 할 수 있다. - 컴퓨터로 주어진 일을 수행하는 명령어들의 집합. - 소프트웨어는 보통 OS 위에 올라간다. 따라서 OS에 의존적이다. 명령들이 순서대로 처리되는 것을 procedure이라고 한다. 프로그래밍 언어 - 표기법 - 기계(컴퓨터)에 전달할 명령을 기술하기 위한 언어. Lexical Structure → 컴파일러 만들 때 필요 - Identifiers : ..