CS(6)
-
[소프트웨어공학] 사례로 배우는 소프트웨어 공학 실무
[소프트웨어 공학 : 왜, 무엇을, 어떻게?] Week 1 사례로 배우는 소프트웨어 공학 실무 해당 포스트는 K-MOOC 소프트웨어 공학 : 왜, 무엇을, 어떻게? 강의를 바탕으로 작성되었습니다. 학습 목표 우리 나라의 SW 산업 현황과 문제점 이해 사례 분석을 통한 소프트웨어 공학의 필요성 파악 우리 소프트웨어 산업은 왜 지지부진한가? 환경적인 요인 세계 소프트웨어 시장에서 차지 하는 낮은 비중 제조 산업에서 인정 받지 못하는 H/W와 S/W의 차이 공급 과잉 현상으로 제값 받기 어려움 소프트웨어 인식 부족 소프트웨어 품질 역량 부족 소프트웨어 전문 인력 부족 소프트웨어 프로세스 역량 부족 주요 원인은? 소프트웨어의 제strong text값을 받지 못한다는 것 소프트웨어 존재하지 않는 제조 비용 제조업..
2019.07.02 -
[자료구조/Data Structure] 선형 자료구조 Array / LinkedList / Stack / Queue
Array 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조 특징 논리적 저장순서와 물리적 저장순서가 일치 데이터를 물리적 주소에 순차적으로 저장 장점 데이터의 참조가 쉽다. 인덱스로 바로 접근 가능 : O(1) 빠른 접근 속도 random access(비순차적 접근)이 가능 단점 배열의 길이가 정해져 있다. 자원을 미리 할당 받기 때문에 사용하지 않는 불필요한 공간이 낭비됨 메모리 삽입/삭제가 번거롭다. 삽입/삭제 시 배열의 빈 공간을 생성/제거하기 위해 나머지 원소들을 shift 해야함 : O(n) Array와 List 차이 (자세한 내용) List는 순서가 있는 빈틈 없는 데이터의 모임이다. 따라서, 빈 엘리먼트를 허용하느냐가 가장 큰 차이이다. 데이터 개수가 정해져있고 자주 사용된다면..
2018.08.24 -
[개발 상식] 함수형 프로그래밍
해당 시리즈는 Interview_Question_for_Beginner를 기반으로 추가 학습을 진행해 작성하였습니다. 목차 [개발 상식] 함수형 프로그래밍 함수형 프로그래밍 가장 큰 특징 2가지 1. Immutable data 2. First-class-citizen 로서의 ‘function’ Reactive programming(반응형 프로그래밍) 왜 함수형 프로그래밍이 주목 받을까? Reference 함수형 프로그래밍 위키백과 함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. 명령형 프로그래밍에서는 상태를 바꾸는 것을 강조하는 것과는 달리, 함수형 프로그래밍은 함수의 응용을 강조한다. 가장 큰 특징 2가지 1. Immutab..
2018.08.22 -
[개발 상식] TDD
해당 시리즈는 Interview_Question_for_Beginner를 기반으로 추가 학습을 진행해 작성하였습니다. 목차 [개발 상식] TDD TDD TDD 개발 순서 TDD의 특징 (장점) TDD의 의문점들 (TDD를 사용하므로써 생길 수 있는 문제들) Reference TDD (Test-Driven Development) 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스로, 테스트가 코드 작성을 주도하는 개발방식 TDD 개발 순서 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성 해당 테스트를 통과하는 가장 간단한 코드를 작성 상황에 맞게 리팩토링하는 과정을 거침 TDD의 특징 (장점) Add a test 요구사항에 집중한 코드 구현 가능 새로운 기능을 추가하기 전 ..
2018.08.22 -
[개발 상식] RESTful API
[개발 상식] RESTful API 해당 시리즈는 Interview_Question_for_Beginner를 기반으로 추가 학습을 진행해 작성하였습니다. 목차 [개발 상식] RESTful API RESTful API? REST 구성요소 중심규칙 6가지 원칙(특징) RESTful API RESTful하게 API를 디자인 하는 법 장점 단점 Reference RESTful API? REST의 기본원칙을 성실히 지킨 API REST API 설계의 중심에 자원이 있고 HTTP Method를 통해 자원을 처리 하도록 설계하는 것 REpresentational State Transfer의 약자 Resource Oriented Architecture이다. 위키백과 월드 와이드 웹(a.k.a WWW)과 같은 분산 하이..
2018.08.22 -
[개발 상식] 객체 지향 프로그래밍(OOP)
[개발 상식] 객체 지향 프로그래밍(OOP) 해당 시리즈는 Interview_Question_for_Beginner를 기반으로 추가 학습을 진행해 작성하였습니다. 목차[개발 상식] 객체 지향 프로그래밍(OOP) 객체 지향 프로그래밍(OOP)이란? 4가지 특징 장점 단점 SOLID : 5대 원칙 디자인패턴 Reference 객체 지향 프로그래밍(OOP)이란? 실제 세계를 모델링하여 ‘객체’들의 상호작용으로 서술하는 프로그래밍 기법 인간 중심적 프로그래밍 패러다임 프로그램을 ‘객체’ 단위로 나누어 이들이 연결되도록 함. 객체는 오퍼레이션으로 정의된다. 객체의 핵심은 기능 제공이다. 오퍼레이션 : 객체의 기능 절차지향이란? 순차적인 처리에 따라 프로그램 전체가 유기적으로 연결되도록 만든 프로그래밍 기법 프로시..
2018.08.21