본문 바로가기

정의

국기의 여러 색깔의 의미와 국기앱 국기에 담긴 색은 흰색을 포함하여 빨강, 파랑, 노랑, 초록 등 선명하고 인식하기 쉬운 것을 사용하는게 보통이다.그러나 같은 빨강색 계통의 빛깔이라도 주홍, 암적색과 같이 나라에 따라 민족 고유의 전통색에는 큰 차이가 있다.ex)대한민국(흰색) = 백의민족, 아르헨티나(흰색) = 강 국기의 색깔 빨강 : 애국자의 희생적인 피(독립의 투쟁), 정렬, 혁명, 박애, 무용 등파랑 : 강, 바다, 물, 호수, 하늘, 희망, 자유 등노랑 : 황금, 나라의 부와 번영, 태양, 사막 등초록 : 농업, 삼림, 국토와 자연의 아름다움, 번영, 희망, 이슬람교 등검정 : 흑인, 역사의 암흑시대, 고난, 의지 등그 외 : 독립, 정의, 자유, 단결 등의 이념은 특정 빝깔에 한정되어 있지 않고 두루 사용된다.국기에 초록색이 .. 더보기
빅데이터의 실제적인 이야기 데이터가 많다고 해서 빅데이터라는 말로 만들어졌을 것이다. 데이터가 기존에는 필요한 정보들 위주로 저장이 되어서 사용되었다. 사용자 정보라고 하면 언제 태어났고, 어디 살고 있고, 취미가 무엇인지 정도 이것을 가지고, CRM이라고 고객 관리 데이터로 사용을 했다. 데이터베이스는 정형화된 틀 속에 값을 넣고, 그 값이 틀림이 없게 관리하는 것이 기존 데이터베이스의 역할이였을 것이다. 빅데이터는 그 사람의 정보뿐 아니라 그 사람의 행동까지도 기록한다로 생각하면 된다. 그 사람이 하는 행위도 다 기록에 남는다. 그 사람이 무엇을 샀고, 어디로 갔고, 무엇을 먹었는지 사실 과거에 불필요하다고 생각했던 데이터들 또는 데이터베이스에서 구지 관리하지 않았던 시계열(시계열은 시간축을 X로 하여 흘러가는 데이터들) 의 .. 더보기
DHCP는 편리하다. DHCP는 Dynamic하게 IP를 부여 받고, 제공하는 방식이다. IP를 구지 설정하지 않고, DHCP로 설정을 하게 되면 자동으로 IP를 부여 받게 된다. IP를 구지 몰라도 되고, 셋팅하지 않아도 되어 편리하다. IP는 고정IP가 있고, 동적IP가 있다. 고정IP는 일반적으로 컴퓨터나 서버에서 지정된 IP를 설정을 한다. 고정 IP를 사용한다. IP는 00.00.00.00 이런식으로 구성된다. 이런 경우는 사용하고자 하는 수만큼 IP가 확보되어야 한다. DHCP는 동적 IP를 사용한다. IP설정을 하지 않는다. 그럼 DHCP서버에서 임의의 사용할 수 있는 IP를 부여해주고, 그 IP 부여 받은 것으로 인터넷을 쓸 수 있다. 대개 집에서 인터넷 통신사를 통해서 인터넷을 할 때는 고정 IP로 사용하지 .. 더보기
압축의 원리 간단하게 압축이라는 것은 흔하게 많이 접해본 말이다. 원래 크기보다 줄인다라는 의미이다. 어떻게 하면 원래 크기보다 줄일 수 있을까? 압축이 되는 것이 무엇이 있을까? 원리는 무엇인가? 일반 생활에서 압축은 여유 있는 공간을 줄임으로 압축이 될 것이다. 압축을 하는 것은 부피를 줄이는 것이다. 컴퓨터에서의 압축의 대상은 파일이다. 파일의 크기를 줄이는 것이다. 예전에는 파일의 크기를 줄일 필요성이 더 컸다. 디스크 용량도 부족하고 네트워크 속도도 느리기때문에 줄여야 이동도 가능하고, 전송도 가능했다. 그래서 여러가지 압축 기술들이 나오기 시작했다. 외국 제품들이 많이 나왔는데, RAR, ZIP 이런 확장 파일을 갖는 파일들을 만들어주고, 해당 압축된 파일을 풀어주었다. 우리나라에서는 대표적으로 알집이 있었다. 알.. 더보기
NAT는 사설과 공인 IP 변환기 NAT는 Network Address Translation이다. 말 그대로 하면 네트워크 주소를 변환해주는 것이다. IP는 내부 IP와 외부 IP 개념이 있는데, 외부 IP의 경우는 그 주소로 외부에서도 데이터를 전달할 수가 있다. 유일하게 존재하는 주소가 되고, 그것은 어디서든 접속이 된다. 내부 IP의 경우는 임의로 지정을 할 수가 있고, 내부에서만 연결이 가능하다. NAT는 내부 네트워크에서 외부로 통신을 하기 위해서 주소를 변환해주는 서버이다. 통신을 하기 위해서는 상호간에 외부 또는 공인 IP가 있어야 한다. 내부 네트워크인 경우에 외부에서는 접속을 할 수가 없다. 이를 위해서 NAT는 외부에서도 접속할 수 있는 IP를 제공한다. 외부와 통신이 가능하도록 해당 서버에 IP를 부여해준다. 이렇게 .. 더보기
캐시(Cache) 개념과 원리 캐시는 종종 듣게 된다. 캐시 된 거 아니야? 라는 말을 하기도 하고, 캐시 되어 있어서 빠른거야 라는 말을 하기도 한다. 캐시는 잠시 저장해둔다는 의미이고 기능이다. 캐시 메모리라고 하면 실제 메모리와 CPU 사이에서 빠르게 전달을 위해서 미리 데이터들을 저장해두는 좀더 빠른 메모리이다. 네트워크에서 캐시는 로컬에 파일을 미리 받아놓고, 그 내용을 보거나 웹서버에서도 매번 로딩을 해야 하는 파일들을 미리 로딩해두고, 응답을 주기도 한다. 데이터 베이스를 매번 확인해야 하는것도 캐시서버를 이용한다면 빠른 응답을 해줄 수 있다. 캐시의 원리를 이용한 캐시 서버를 활용하여 CDN같은 서비스도 할 수 있다. CDN은 컨텐츠를 딜리버리 해주는 서버이다. 아주 먼곳에 있는 파일을 매번 가져와야 한다면 네트워크 구.. 더보기
배열을 선언한다는 것은 데이터를 연결하여 저장한다는 개념은 자료구조 상에서 필요하다. 1에서 100까지를 저장한다고 했을 때 여러가지 형태로 저장을 할 수 있다. 변수를 100개 선언할 수도 있다. 가장 쉽게 접근하는 방식이 배열이다. 100개의 저장소를 선언하고 숫자를 각각 저장소에 저장한다. 변수를 100개 선언했다면 물리적인 저장 공간의 위치가 어디 일지 모르고, 연결 여부도 알 수 없다. 대부분은 비슷한 위치일 수 있지만, 꼭 그렇다고 할 수는 없다. 배열은 물리적 공간도 바로 옆으로 메모리 공간을 확보한다. 이런 배열의 물리적 공간 확보로 빠른 엑세스를 보장 받을 수 있다. 단점은 그 공간만큼은 미리 확보하고 사용하기에 혹시 사용하지 않더라도 다른 변수들이 쓸 수 없기에 비효율적인 부분이 있을 수 있다. 배열은 그리고.. 더보기
API (Application Program Interface) 그리고 OpenAPI 어플리케이션을 개발할 때 이 API로 개발을 한다. 어플리케이션에서 또는 플랫폼에서 API를 제공한다. 그 API를 사용해서 프로그램을 개발할 수가 있다. API는 인터페이스이고, 그 것을 호출한다고 하는데, 부르면 해당 API가 실행된다. 프로그램 내부에서만 사용을 했다면 함수가 될 수 있다. 하지만 외부에서 그 함수를 호출하려면 인터페이스가 필요한데, 이 인터페이스를 API라고 한다. 외부에서 부를 수 있는 함수라고 보면 된다. 물론 실제 단일 함수가 아니라 API를 호출하게 되면 어떤 기능을 수행하기 위해서 내부적으로는 여러가지 함수를 호출할 수 있다. 윈도우 프로그램을 만들때는 API를 이용한다. API 기능 중에는 윈도우를 제어 할 수 있는 기능들도 있고, 화면에 표현을 해주는 API도 있다. .. 더보기
NoSQL은 Not only SQL? NoSQL(Not only SQL)은 기존 방식의 관계형 DB가 아니라 대량 데이터를 위한 고속처리를 위한 DB이다. 왜 NoSQL인가 기존 DB는 데이터 베이스 모델링할 때 관계를 맺고 그 관계 구조 상에서 데이터가 저장이 되고, SQL은 이를 조회하기 위한 문장인데, 이 문장은 이 관계를 기본으로 SQL문이 만들어진다. 이런식의 관계지향은 아니다. NoSQL은 기존 방식의 SQL을 사용하지 않는다. 매우 직관적이며 자료 그대로를 넣는다. 기존 DB가 관계를 나누고 사용할 때는 조합해서 사용했다면 NoSQL은 사용하고자 하는 값을 위주로 저장을 그대로 해둔다. 그리고 그대로 꺼내서 사용한다. 기존에 DB의 많은 예제로 학생 테이블, 과목 인덱스 테이블, 과목 점수 테이블 등이 있어서 저장을 할 때 정규.. 더보기
클라우드 실현 기술, 가상화 클라우드 컴퓨팅이 가능한 기술적인 근거는 가상화이다. 여기서의 가상화는 우리가 일상적으로 말하는 가상과는 약간 거리가 있다. 가상이라고 하면 없는 것을 있는 것처럼 보이는 정도 아닐까 가상현실, 현실에 없는 것을 보여주는 것일터이다. 클라우드 컴퓨팅의 가상화가 가지는 의미는 이런 개념이다. 두대의 물리적인 컴퓨터를 한대의 컴퓨터처럼 보이게 하는 것 또는 한대의 컴퓨터를 두대의 컴퓨터처럼 나눠 쓸 수 있는 것 이 과정에서 실제 물리적으로 나눈다기 보다는 가상적으로 나눈다고 해서 가상화이다. 이러한 것이 가능한 것이 내부 기술 두가지가 있다. 컨테이너와 분산처리 기술이다. 컨테이너는 하나의 OS환경에서 어플리케이션이 실행할 수 있는 독립된 영역을 만들어주고 실제로 OS내부에 또 다른 OS가 있는 것처럼 동작.. 더보기
인터넷의 탄생과 원리 인터넷의 탄생은 역시 국방의 통신에서 시작되었다. 웹사이트는 기존 텍스트 기반의 인터넷에서 이미지를 포함하면서도 화려한 페이지가 만들어지는 HTML 기반의 문서형태로 이미지의 활발한 송수신을 야기했다. 초반 기업 홈페이지로 가장 많이 사용되었다. 모든 기업이 URL이라는 것을 가지기 시작했다. URL은 일종의 주소이다. 인터넷 공간의 주소이다. Uniform Resource Locator이다. 인터넷 주소를 가리키기 위한 규칙이다. http://로 시작하는 부분은 프로토콜을 의미한다. 프로토콜은 통신을 위한 상호간의 약속이다. http:// 프로토콜외에도 ftp도 있고, 여러가지 프로토콜이 존재한다. 요청과 응답의 약속을 정해둔 것이다. 그리고 주소는 http:// 이후에 시작된다. www.ooo.com.. 더보기
건축물의 구조 설계 같은 시스템 아키텍쳐 시스템 아키텍쳐는 시스템의 서버들의 구성 모습이다. 구조라고 말할 수도 있다. 시스템 구성도로 표현을 하기도 한다. 서버간 연결하는 구성도만을 얘기하는 것은 아니고 좀더 깊은 내용까지 아키텍쳐라고 할 수 있다. 예를 들면 어떤 소프트웨어로 구성을 할지에 대한 것도 아키텍쳐라고 할 수 있다. 이렇게 아키텍쳐를 전문으로 구성하고 설계하는 사람들을 아키텍트라고 한다. 왠지 아키텍트라고 하면 산출물이나 내용을 말하는거 같긴 합니다만, 역할자를 말한다. 시스템 아키텍쳐는 시스템의 기능이나 성능 면에서 중요한 의미가 있다. 어떤 아키텍쳐를 가지냐에 따라서 확장이 용이할 수도 있고, 반대로 어려울 수도 있다. 따로는 SOF(Single of Failure)라고 해서 실패 포인트를 가질 수도 있다. 이러한 것을 보완해.. 더보기
ITIL은 IT운영의 베스트 사례 모음 ITIL은 IT 운영에 대한 베스트 사례 모음이다. IT를 운영을 할 때보면 구축할 때보다 더욱 체계를 잡기가 어렵다. 구축할 때는 보통 기획을 하고, 설계를 하고, 설계된 대로 구현을 하고 테스트를 한다. 이것이 곧 프로세스이자. 방법론이자. 실제 하는 일이 된다. 쉽게 말해 목표가 명확하다는 뜻이다. 그런데, 운영을 하라고 하면 목표라는 것을 잡기가 어렵다. 그렇다고 장애가 나고 문제만 해결하는 것으로만 운영이라고 한다면 문제에 쫒겨 다니기 바쁘거나 할 일이 없어서 뒹굴거리느라 루즈하다고 할 수도 있다. 시스템 그냥 두면 돌아가는 것을 뭐하는 것이냐는 소리를 들을 수도 있다. 사실 소방서에서 소방차를 관리하고, 소방관들이 불을 끄기 위해서 또는 인명을 구조하기 위해서 준비하는 시간은 불이 나지 않고 .. 더보기
소프트웨어 유지보수도 중요하다. 유지보수라는 것은 구축된 시스템을 운영 및 관리해주는 것이다. 사실 이미 구축된 시스템이라면 많은 일손이 안들수도 있다. 잘 돌아가기만 하면 될 것이다. 물론 B2C 서비스의 경우 상황은 다를 수 있다. 앞서 얘기한 것도 있지만, 린 개발방법론이라든가 DevOps를 한다면 유지보수라는 측면보다는 지속 개발이라는 것이 맞을 것이다. 계속된 요구가 있고, 개선 사항이 있을 것이다. 운영 중에도 개발을 많이 한다. 기존 시스템들은 대개 1.0, 2.0 이런식의 버전을 구분하고, 고도화 프로젝트등을 진행해서 기존 시스템을 사용하다가 어느 순간에 개편 내지 대체를 한다. 하지만 이런 서비스라든가 최근 시스템들은 지속적인 기능 업그레이드 내지는 개발을 한다. 기존과 같은 유지보수이든 지속 개발 관점의 유지보수이든 .. 더보기
CBD방법론의 컴포넌트란? Component Based Development 방법론이다. 개발 방법론은 여러가지가 있다. 컴포넌트 기반으로 개발을 한다는 것이다. 컴포넌트는 무엇일까? 프로그램의 기본 단위는 함수라고 할 수 있다. 함수도 어떤 기능을 한다. 모듈이 있다. 모듈도 기능을 하는 것인데, 함수들의 집합이다. 함수들이 어떤 순서로 동작이 되면서 기능을 하는 것이다. 모듈은 꽤 큰 기능을 표현할 때 사용한다. 결제 모듈, 화면 모듈 서버 모듈, 이런식의 표현을 사용쓴다. 그리고 모듈들을 여러개 모이되 주제를 기반으로 모인 것을 컴포넌트라고 한다. 컴포넌트는 꽤 큰 주제인데, 이 아래 여러개의 모듈이 있을 수 있다. 컴포넌트 베이스 개발 방법론의 취지는 주제별로 독립적으로 개발을 하고 서로 다른 컴포넌트 간의 상관 관계를 줄.. 더보기
플랫폼! 기차 기다리는 곳이 플랫폼 플랫폼 들어본 듯하지만, 막상 설명하긴 좀 어려운 말이다. 무엇을 플랫폼이라고 할까? 카카오톡이 플랫폼일까? 네이버가 플랫폼일까? 카카오톡이나 네이버는 서비스라고 한다. 서비스에 더 가깝다. 플랫폼은 뭘까? 기차들이 오가고 역에 멈춘다. 역에 보면 기차가 멈춰서 사람들이 탑승하는 곳이 있다. 여기가 플랫폼이다. 플랫폼은 기차가 머무르는 곳이고, 사람들이 탑승하는 곳이다. 플랫폼 자체가 서비스는 아니다. 서비스를 위한 기반은 될 수 있다. 카카오 자체가 여러가지 서비스를 품고 있다. 서비스라고 보는게 맞지만, 그 안에는 여러가지 플랫폼이 기반을 이루고 있다. 플랫폼 사업을 한다고 하는데, 이는 특정 서비스를 만든다기 보다는 서비스들을 만들기 위한 또는 서비스에 필요한 기능들을 제공하는 것이다. 서비스들이 .. 더보기