IT용어 및 개념 정리
-
소프트웨어 디자인 패턴IT용어 및 개념 정리 2019. 5. 19. 09:32
정의1 소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학에서 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 기계코드로 바로 전환될 수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿이다. 디자인 패턴은 프로그래머가 어플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다. 출처:위키북스 정의2 객체 지향 프로그래밍 설계를 할 때 자주발생하는 문제들을 피하기 위해 사용되는 패턴. 여러 사람이 협업해서 개발할 때 다른 사람이 작성한 코드, 기존에 존재하는 코드를 이해하는것은 어렵다. 이런 코드를 수정하거나 새로운..
-
의존성 주입(Dependency Injection, DI), 결합도(Coupling), 응집도(Cohesion)IT용어 및 개념 정리 2019. 4. 25. 02:19
|정의 의존성 주입(Dependency Injection, DI)은 프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의되게 하는 디자인 패턴 중의 하나이다. |장점 ● 의존관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도를 낮출 수 있다. ● 코드 재사용을 높여서 작성된 모듈을 여러 곳에서 소스코드의 수정 없이 사용할 수 있다. ● 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다. 출처:위키백과 의존성 주입 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org |결합도란? 소프트웨어 공학에서, 결합도(coupling) 또는 의존도는 어떤 모듈이 다른 모듈에 의존하는 정도를 나타내는것이다. 결합도는 ..
-
컴포넌트IT용어 및 개념 정리 2018. 10. 24. 01:57
컴포넌트소프트웨어 개발을 마치 레고(Lego) 블록을 쌓듯이 쉽게 할 수 있도록 하는 기술을 말한다.즉, 기존의 코딩 방식에 의한 개발에서 벗어나 소프트웨어 구성단위(module)를 미리 만든 뒤 필요한 응용 기술을 개발할 때 이 모듈을 조립하는 기술을 말한다. 컴포넌트 기술을 활용하면 복잡한 정보 시스템을 신속하게 구축할 수 있으며, 유사한 정보 시스템을 구축할 때 재사용이 가능한 장점이 있다. 특히, 급속도로 변하는 인터넷 환경에서 표준화된 소프트웨어를 만드는 것이 필요하기 때문에 컴포넌트는 매우 중요하다. 이미 국가 차원에서 소프트웨어의 컴포넌트화를 추진하고 있는 미국은 소프트웨어의 컴포넌트화로 개발생산성이 10배, 품질보증이 16배씩이나 증가했다는 보고가 있다. 국내에서는 한국소프트웨어 컴포넌트 ..
-
cgroupsIT용어 및 개념 정리 2018. 10. 24. 01:51
샌드박스라는 개념을 공부하면서 cgroup이라는것도 공부해보라는 개발자분의 말씀이 있으셔서 공부해봅니다.자 이게 무엇인지 차차 알아봅시다. 우선, 링크 를 따라가면 cgroups는 control groups의 약자다. cgroups위키백과, 우리 모두의 백과사전.둘러보기로 가기검색하러 가기 cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제한하고 격리시키는 리눅스 커널 기능이다.구글의 엔지니어들이 2006년에 이 기능에 대한 작업에 착수하였고 당시 이름은 "프로세스 컨테이너"(process container)였다.[1]2007년 말에 리눅스 커널 문맥에서 "컨테이너"라는 용어의 의미가 여러 개이므로 혼란을 방지하기 위해 이름이..
-
샌드박스IT용어 및 개념 정리 2018. 10. 24. 01:37
웹상에서 정의된 용어가 아닌 개인적으로 '이해'한 대로 서술하고 정리하는 공간입니다.정확한 정의나 이해가 아니라면 댓글로 피드백 남겨주시면 감사하겠습니다. 샌드박스는 분리된 공간이라는 의미로, 샌드박시사이트에서 프로그램을 설치해서 이것저것 건드리다보면 무엇인지 알게 된다. 상속의 개념을 알고 있다고 가정하에 설명을 하자면.하드 디스크의 기본 os 설정들을 모두 자식에게 상속을 해주고 자식은 샌드박스라고 한다면, 샌드박스는 부모의 것을 모두 가지고 있으므로 외관상 크게 다를게 없어보인다.그러면 샌드박스의 장점이 무엇인가? 샌드박스에서 이것저것 건드리다가 맘에 안들면 샌드박스를 날려버리면 본래 하드디스크는 크게 영향이 없게 된다. 이런 원리로, 의심가는것들(프로그램 혹은 뭐 이것저것!?)은 샌드박스에서 설치..