'Computer Science/Software Engineering' 카테고리의 글 목록 — Archive

Computer Science/Software Engineering

Computer Science/Software Engineering

[Software Engineering] No Silver Bullet: Essence and Accidents of Software Engineering | 은빛 총알은 없다

No Silver Bullet: Essence and Accidents of Software Engineering 은빛 총알은 없다: 소프트웨어 공학의 본질과 부수성 - 튜링상을 수상한 Frederick P. Brooks, Jr.가 1986년에 작성한 논문으로, IFIP 학회의 초청 논문으로 회보에 실렸다. - 소프트웨어 엔지니어링에 관해 널리 논의된 논문이다. - 저자는 "기술이든 관리 기법이든 한쪽으로만 이루어진 개발은 없으며 그 자체로 10년 안에 생산성, 신뢰성, 단순성 면에서 크지 정도의 개선만을 약속한다."고 논했다. * Software Engineering Overview (소프트웨어 엔지니어링 개요) (URL) [Software Engineering] Software Engineering ..

Computer Science/Software Engineering

[Software Engineering] CI/CD | 지속적 통합과 지속적 배포

CI / CD 지속적 통합과 지속적 배포 - 본 포스트에서는 DevOps 엔지니어의 핵심 업무인 CI와 CD에 대해 알아본다. * DevOps Engineering (데브옵스 엔지니어링) - Development(개발)와 Operation(운영)의 혼성어이다. - 개발 담당자와 운영 담당자가 협력하여 소통, 협업, 통합 및 자동화에 중점을 두는 개발 방법론이다. - CI/CD의 자동화는 DevOps Engineering의 핵심 업무에 속한다. CI (Continuous Integration; 지속적 통합) - 새로운 코드 변경 사항을 정기적으로 빌드 및 테스트하여 Repository에 Integration하는 것을 의미한다. - CI가 필요한 환경은 아래와 같다: 다수의 개발자가 형상관리 툴을 공유하여 ..

Computer Science/Software Engineering

[Software Engineering] Standard Coding Convention | 표준 코딩 규칙

Standard Coding Convention 표준 코딩 규칙 - 대규모 프로젝트에서 코딩 규칙을 재정하고 프로젝트에 참여한 개발자 모두가 이를 지킴으로써 생산성을 증대할 수 있다. - 표준 코딩 규칙을 따랐을 때 생기는 장점은 아래와 같다: 가독성 제고 간결하고 명확한 코딩으로 인한 유지보수성 증대 개발 시간 단축 - 본 포스트에서는 아래 그룹에서 사용중인 코딩 규칙을 소개한다. 대한민국 행정안전부 NHN Google 대한민국 행정안전부 - 프로그램 표준 코딩규칙 명칭에 관한 규칙 명칭은 31자 이내로 정한다. 변수명과 함수명은 다르게 사용한다. 매크로의 이름은 대문자와 언더스코어(_)로만 작성한다. 상수의 이름은 대문자와 언더스코어(_)로만 작성한다. 변수명은 소문자로 시작하도록 작성한다. 함수명은..

Computer Science/Software Engineering

[Software Engineering] Finite State Machine | 유한 상태 기계

Finite State Machine (FSM) 유한 상태 기계 - Stack을 사용하는 Automata의 일종으로, 복잡한 Case를 처리하기에 용이하다. - 복잡한 동작을 모두 if-else 또는 switch로 처리할 경우 프로그램의 복잡도가 매우 높아져 유지·보수가 불가능해지는 수준에 이르게되므로, 이러한 경우에는 State Machine을 통한 구현으로 유지 보수성을 높일 것이 권고된다. * Automata Theory (URL) * Moore Model and Mealy Model (무어 모델과 밀리 모델) (URL) [Digital Logic] Moore Model and Mealy Model | 무어 모델과 밀리 모델 Moore Model and Mealy Model 무어 모델과 밀리 모델 ..

Computer Science/Software Engineering

[Software Engineering] Software Testing | 소프트웨어 테스팅

Software Testing 소프트웨어 테스팅 - 넓은 의미로, Verification과 Validation을 이행하는 과정을 일컫는다. Verification (검증) "Are We Building the Product Right?" - 소프트웨어가 Specification에 맞게 동작하는가를 확인한다. Valiadtion (유효성 확인) "Are We Building the Right Product" - 소프트웨어가 사용자의 Requirements를 충족하는가를 확인한다. - Verification과 Validation은 서로 상호 보완적이며, 소프트웨어가 목적에 맞게 만들어졌는지에 대한 Confidence를 얻는데 목적을 두며, Defect(Bug)가 완전히 제거된 소프트웨어를 의미하지는 않으며,..

lww7438
'Computer Science/Software Engineering' 카테고리의 글 목록