2015. 7. 20. 14:59

아키텍처: 소프트웨어의 주요 설계 구조

소프트웨어의 주요 특징들을 결정짓는 주요 설계 구조이다.
즉, 소프트웨어의 주요 구성 요소 및 구성, 이들간의 주요 인터페이스, 

중요 동작 방식 등 소프트웨어의 주요 특징들을 결정짓는 

모든 설계 구조를 포함한다.

소프트웨어의 주요 특징을 결정짓고 소프트웨어 개발에 미치는 영향도 

매우 커서 소프트웨어 개발에 있어서 가장 중요한 부분이라고 할 수 있다.
지원 프로그램, 라이브러리, 언어, 다른 소프트웨어 구성 요소 등과 

같이 구체적인 구현을 포함하지 않는다는 점에서 

프레임워크나 플랫폼과는 명확히 구분된다.

 

프레임워크소프트웨어 뼈대 구조

 

프레임워크는 다른 소프트웨어 프로젝트가 개발될 수 있는 

뼈대 구조이다.
지원 프로그램, 라이브러리, 언어, 다른 소프트웨어 구성 요소들을 

엮어 주는 소프트웨어 등을 포함하고 있다.
따라서, 플랫폼도 프레임워크의 일종이라고 볼 수 있으며, 

MS사에서 닷넷 플랫폼을 닷넷 프레임워크라고 

지칭하는 것도 틀린 것이 아니다.
또한, UI 프로그램 개발을 위한 부분 만을 떼어내서 

프레임워크라고 할 수도 있다.
UI 프로그램 개발을 위한 부분 만으로는 

완전한 소프트웨어 실행 환경이 되지 않으므로 

플랫폼은 아니지만 프레임워크이다.
이러한 점에서 프레임워크와 플랫폼은 다른 경우가 많다.

 

플랫폼: : 소프트웨어 실행 환경

 

가장 일반적이면서도 명료한 의미는 "소프트웨어가 실행되는 환경"이다.
개발 언어나 개발 환경을 플랫폼에 포함시키기도 하지만 

이는 부수적 개념 혹은  확장된 개념에 불과하고, 

핵심은 "소프트웨어가 실행되는 환경"이다.

각 프로그램은 아무 플랫폼에서나 실행되는 것이 아니고 

특정 플랫폼에서만 실행된다.

일반적으로, O/S는 모두 플랫폼이다

Windows는 윈도우즈 프로그램만을 실행시킬 수 있는 플랫폼이고, 

리눅스는 리눅스 프로그램만을 실행시킬 수 있는 플랫폼이다.
자바 런타임 환경도 플랫폼이다.
자바 프로그램은 O/S에 대한 종속성은 거의 없고 

자바 런타임 환경없이는 실행되지 않으므로 

자바 런타임 환경을 주요 플랫폼으로서 필요로 한다.
마찬가지로 닷넷 프로그램도 닷넷 런타임 환경없이는 실행되지 

않으므로 닷넷 런타임 환경이 플랫폼이 된다.
AJAX 기술을 사용하여 개발된 웹 컨텐츠 + 웹 클라이언트 

스크립트는 웹(좀 더 정확히는 웹 브라우저 및 웹 서버) 없이는 

실행되지 않으므로 웹을 플랫폼으로 한다.
VBA(Visual Basic for Application) 프로그램과 MS 오피스 COM API를 

사용하는 프로그램은 MS 오피스가 없으면 실행되지 않으므로 

MS 오피스를 플랫폼으로 한다.

플랫폼은 플랫폼위에 다른 플랫폼을 구축할 수 있는 

계층적 구조를 가질 수 있다.
가령, 자바 프로그램은 자바 런타임 환경이라는 플랫폼에서 실행되지만 

그 플랫폼 자체는 O/S 플랫폼 계층 위에서 

실행되는 프로그램에 불과하다.
웹 플랫폼에 해당하는 웹 브라우저 또한 O/S 플랫폼 계층 위에서 

실행되는 프로그램에 불과하다.
이들 각 계층의 각 플랫폼은 

자신만의 실행 엔진과 API 및 개발 환경을 제공하며, 

다른 플랫폼에 대한 부분적 접근을 허용하기도 한다.

또한, 각 플랫폼 내부는 또 다시 여러 계층으로 이루어진 구조를 갖는다.


2015. 7. 20. 12:54

가상화

자유게시판 2015. 7. 20. 12:54

가상화란 컴퓨팅 리소스의 추상화를 통해 다수의 운영 체제 

또는 애플리케이션 이미지가 하나의 물리적 서버를 공유하도록 함으로써 

총소유비용을 극적으로 절감하고 관리성을 개선할 수 있게 하는 

프로세스를 말한다.

2015. 7. 16. 14:50







2015. 7. 15. 16:40
    / : 최 상위 경로
/bin : 기본 명령어 위치 , CentOS 7부터는 /usr/bin 으로 
                심볼릭 링크 되어 있다.
/boot : 커널 이미지, 부트로드 관련 파일 존재, 
                  별도의 파티션으로 할당을 권장하고 있다. 
/dev : 장치 파일이 저장된 디렉토리
/etc : 설정관련 파일 및 디렉토리
/lib : 라이브러리 , CentOS 7부터는 /usr/lib 으로 심볼릭 링크 되어 있다.
/media : CD, DVD, USB 저장장치 마운트되는 곳이다.
/opt : 추가적인 소프트웨어 설치 디렉토리
/sbin : 시스템 관리자를 위해 사용되는 명령어 등이 저장되는 디렉토리, 
                   CentOS 7부터는 /usr/sbin/으로 심볼릭 링크되어 있다.
/srv : 시스템 서비스들
/tmp : 임시 디렉토리 
/usr : 시스템이 아닌 일반사용자가 사용하는 프로그램이 설치된 디렉토리
/var :  시스템 운용중에 저장되는 자료
/home : 사용자들의 홈디렉토리
/root : root 사용자의 홈디렉토리
/proc : 커널과 프로세스를 위한 가상 파일 시스템


2015. 7. 15. 16:39

드디어 기다리고 기다리던 리눅스에 발을 들였다...


15년 전에 레드햇 한 번 깔아보려고... 애썼건만 실패하고


3년 전에 우분투 한 번 깔아보려고 책까지 샀건만 실패하고...


드디어 회사에서 다시 한 번 시작이다


한 번 잘 해보자~~!