본문 바로가기

전체 글

(742)
[프로그래밍] 미들웨어(Middleware)란? 미들웨어(Middleware)는 응용 소프트웨어가 운영체제로부터 제공받는 서비스 이외에 추가적으로 이용할 수 있는 서비스를 제공하는 컴퓨터 소프트웨어입니다. 응용 소프트웨어는 유연하고 확장, 축소가 편리해야하며 이러한 장점을 충족하기에 개발자의 다른 기종간 플랫폼을 다시 구축할 필요가 없어야 합니다. 이를테면 데이터베이스 시스템, 전자통신 소프트웨어, 메시지 및 쿼리 처리 소프트웨어를 들 수 있습니다. 정의미들웨어는 양 쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해주는 소프트웨어를 말합니다. 3계층 클라이언트/서버 구조에서 미들웨어가 존재합니다. 웹브라우저에서 ..
[리눅스] 커널이란? 컴퓨터의 커널은 운영체제의 핵심입니다. 운영체제의 다른 모든 부분에 여러 기본적인 서비스를 제공합니다. 시스템 자원은 제한되어있지만 프로그램은 많기 때문에 커널은 프로그램의 수행상태인 프로세스 간의 보안 접근을 책임지는 소프트웨어입니다. 커널이 이러한 프로세스마다 얼마만큼의 자원을 사용해야 하는지 결정해야하는데 이것을 스케줄링이라고 합니다. 같은 종류의 컴포넌트에 대해 하드웨어는 다양하게 디자인 되어질 수 있습니다. 따라서 하드웨어에 직접 접근하는 것은 매우 복잡할 수 있습니다. 일반적으로 커널은 운영체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 추상화를 지원합니다. 이러한 하드웨어 추상화는 프로그래머가 하드웨어의 복잡한 접근을 고민할 필요없이 쉽게 개발하는 것을..
[리눅스] IPC의 종류와 특징 아래 그림처럼 Process는 완전히 독립된 실행객체입니다. 서로 독립되어 있다는 것은 다른 프로세스의 영향을 받지 않는다는 장점이 있습니다. 그러나 독립되어 있는 만큼 별도의 설비가 없이는 서로 간에 통신이 어렵다는 문제가 있게 됩니다. 이를 위해서 커널 영역에서는 IPC라는 내부 프로세스간 통신(Inter Process Communication)을 제공하게 되고, 프로세스는 커널이 제공하는 IPC설비를 이용해서 프로세스간 통신을 할 수 있게 됩니다. IPC의 2가지 표준(System V IPC와 POSIX IPC): System V IPC는 오래된 버전이고 POSIX IPC는 비교적 최근에 개발된 표준입니다. System V IPC는 오랜 역사를 가진만큼 이기종간 코드 호환성을 확실히 보장해 주지만,..
[리눅스] RAID란? RAID의 종류와 구성방식 RAID는 왜? 사용되나서버의 사용자가 서버 운영에 있어 가장 당혹스러울 때는 하드디스크의 장애로 인한 DATA 손실일 것입니다. 하드디시크는 사실상 소모품으로 분류되며 I/O가 많은 서버에는 고장이 잦은 것이 당연하다고 볼 수 있습니다. 하지만 서버에 저장되는 데이터의 경우 손실 또는 유출 되었을 때 치명적인 것이 대부분일 것으로 대표적으로 은행과 같은 금융, 군사적 목적의 데이터가 있을 것입니다. 이로 인해 백업이 절대적으로 필요한 경우가 있고 또한, 여분의 디스크가 있어 용량을 증설하려고 할 때 데이터 손실 없이 증설이 필요한 경우가 있습니다. 그래서 많은 서버 관리자는 RAID 구성을 통해 하드디스크의 가용성을 높이거나 서버 데이터의 안정성을 확보해야 합니다. RAID란?RAID는 Redundan..
[Redis] 레디스 자습서 REmote DIctionary Server(Redis: 원격 사전 서버)는 이탈리아 해커 Salvatore Sanifilippo에 의해 작성된 key-value 기반 스토리지 시스템입니다. Redis는 ANSI C, BSD 프로토콜을 준수하며, 네트워크를 지원하는 오픈소스 소프트웨어입니다. 또한 메모리 기반의 퍼시스턴트 로그 타입, Key-Value 데이터베이스 그리고 다양항 랭귀지 API를 공급합니다. 이는 종종 서버의 Data Structure라고 불리우기도합니다. 왜냐하면 Value는 string(String), hash(Map), list(list), set(sets), ordered set(sorted sets) 등의 타입이 될 수 있기 때문입니다. Redis IntroductionRedis는..