전체 글
-
기본 데이터 형(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 배포 시 저작..
-
MongoDB) Expected "payload" to be a plain object 에러 해결법.DB 2020. 5. 6. 12:22
jwt 토큰 발급을 위해 jwt.sign의 payload 부분에 user._id를 넣었더니 아래와 같은 에러가 발생했다. 해결법은 user._id 뒤에 toJSON() 또는 toHexString()을 붙이는 것이다. ObjectId 클래스는 MongoDB 도큐먼트의 기본키이고, _id 필드에 해당된다. ObjectId는 12 byte binary BSON 타입으로 12 바이트는 아래와 같이 구성되어 있다. 하지만 npm 문서에 따르면, If payload is not a buffer or a string, it will be coerced into a string using JSON.stringify. jwt.sign(payload, secretOrPrivateKey, [options, callback]..
-
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 : ..
-
GraphQL) Mutation과 Query의 차이?GraphQL 2020. 5. 1. 08:17
Query → SELECT문에 사용한다. REST에서는 GET. Mutation → INSERT, UPDATE, DELETE 연산에 사용한다. REST에서는 POST, PUT, PATCH, DELETE. https://stackoverflow.com/questions/48003767/what-is-the-difference-between-mutation-and-query What is the difference between Mutation and Query I'm reading GraphQL documentation where Query and Mutation are described. However, there is a lack of real examples that show and/or descri..