DBMS의 정의와 기능



1. 데이터베이스 시스템
데이터베이스는 데이터 집합이 통합되어 있고 여러 파일이 하나로 통합되었다고 말했습니다. 즉, 데이터베이스는 실제 세상에 존재하는 조직이나 조직을 유지하고 관리하는 데 필수적인 데이터 세트입니다. 즉, 특정 데이터 세트를 유지하는 데 필요한 일련의 데이터 세트 또는 데이터 세트를 연결하는 데 필요한 데이터 세트입니다. 데이터베이스는 실제 세계의 일부이며 실제 현실의 실제 현실은 데이터베이스와 관련된 논리적 데이터 세트이며 데이터베이스는 관련 데이터의 논리 집합이다. 데이터베이스 내의 데이터 또는 데이터에 의해 관리되는 데이터는 시스템에 데이터를 처리, 업데이트, 삭제 및 추가하여 처리합니다.

데이터베이스는 회사 또는 기업 조직의 여러 애플리케이션에 대한 풀링 된 운영 데이터 세트이므로 데이터베이스 데이터베이스를 데이터베이스에 액세스 하는 데 사용할 수 있습니다. 결국, 데이터베이스는 여러 사람들이 분류할 수 있다. 각 사용자의 프로세스가 다르기 때문에 다른 방법이 다릅니다. 결국, 데이터베이스를 사용하는 사람은 각 과제에 적합한 방법을 사용하는 방법을 생각한다. 데이터베이스에 의해 공동으로 사용되는 데이터베이스 시스템을 데이터베이스 시스템이라고 합니다. 즉, 데이터베이스 시스템은 데이터를 통합하고 관리하고 데이터를 중앙 집중식으로 관리하여 유용한 정보를 생성하는 시스템입니다. "데이터베이스 관리 시스템"은 사용자의 다양한 치료 요구 사항을 수용함으로써 각 사용자에게 각기 다른 치료법을 제공한다.

다시 한번, 데이터 자체는 데이터베이스의 데이터베이스 관리 시스템이라 불리는 데이터베이스 관리 시스템이라 불리는 데이터베이스의 데이터베이스라고 하며, 우리가 사용하는 전체 시스템은 데이터베이스 시스템이다. 데이터베이스 관리 시스템은 데이터 구조를 정의하고 데이터베이스에 데이터를 저장하고 데이터를 저장하고 데이터를 관리하며 데이터베이스 또는 데이터를 관리하기 위한 시스템으로 저장된 데이터를 데이터베이스에 저장합니다.


2. 데이터베이스 관리 시스템의 기능

데이터베이스 관리 시스템은 데이터베이스에 대한 모든 액세스를 관리하는 애플리케이션 소프트웨어입니다. 데이터베이스에 액세스 하려면 데이터베이스를 사용해야 합니다. DBMS에는 기존 파일 관리 시스템과 유사한 기능이 있습니다.

DBMS는 데이터베이스의 정의에 의해 정의됩니다. DBMS는 응용 프로그램이 모든 데이터에 액세스 할 수 있도록 데이터베이스를 관리하는 애플리케이션 소프트웨어입니다. DBMS함수의 데이터 정의, 데이터 조작 함수 및 데이터 제어 기능은 핵심 기능입니다.

DBMS는 전체 데이터베이스 시스템을 나타낼 수 있습니다. 상업 DBMS는 컴퓨터 시장을 제공하기 위해 컴퓨터 제조 업체나 소프트웨어 개발자가 개발한 상업용 DBMS입니다. 상용 DBMS는 데이터베이스 구성 및 사용량에 따라 모든 소프트웨어를 의미하므로, 데이터베이스뿐만 아니라 프로그래밍도 수행할 수 있습니다.

일반적으로, 이러한 DBMS의 개발은 상당한 시간과 막대한 비용을 수반하며, 더 어려운 작업은 수리 개발과 같은 비용과 노력이 필요합니다. 따라서 일반 사용자가 단독으로 사용하는 소프트웨어를 개발하는 것은 비합리적일 것이다. 상용 패키지는 공통 소프트웨어의 형태로 유사한 업무를 수행하는 몇몇 회사들에게 인식되고 공급된다.


'IT정보' 카테고리의 다른 글

유닉스란?? 유닉스에 대해 알아보자  (0) 2017.08.30
사물 인터넷, IoT(internet of things)  (0) 2017.08.29
데이터베이스의 스키마  (0) 2017.08.29
DBMS 장점과 단점들  (0) 2017.08.29
리눅스란?  (0) 2017.08.27



데이터베이스의 스키마


데이터베이스에서 데이터를 취급할 때 데이터의 성질, 형식, 또는 데이터와의 관계 등 데이터 정의의 집합을 데이터베이스의 스키마라 한다. 즉, 스키마는 전체 데이터베이스의 논리적인 구조와 정의를 기술하는 것을 말한다. 구체적으로 데이터베이스를 구성하는 필드, 레코드, 데이터 형과 이들의 관계 등의 집합을 말한다. 스키마는 데이터베이스 관리 시스템에 의하여 참조되는 것으로 데이터베이스 관리 시스템 별로 다르게 정의되어 진다.

 

트리 구조로 표현한 스키마에서는 하위 레코드형과 상위 레코드형을 지정하는 방법이 자주 쓰이고 있다. 즉, 계약의 입장에서 개인은 상위 레코드형이고 ‘사고내역’과 ‘계약내역’은 하위 레코드이다. 트리 구조에서는 어느 하나의 하위 레코드형에 대한 상위 레코드가 정하여지므로 이런 방법에 의하여 레코드와 레코드의 관련성을 명확하게 지정하는 것이 가능하다.

 

3계층 스키마


3계층 스키마 구조는 데이터의 독립성을 높여 준다. 데이터 독립성이란 한 계층의 스키마를 변경시킬 때 그 다음 계층의 스키마에 영향을 주지 않는 성질을 말한다. 데이터의 독립성은 데이터베이스 관리 시스템의 궁극적인 목적이라 할 수 있다. 데이터의 독립성은 논리적 데이터 독립성과 물리적 데이터 독립성으로 구분되어 진다 논리적 데이터 독립성은 사용자 관점에서 응용 프로그램을 수정하지 않고 개념적 스키마를 변경시킬 수 있는 성질을 말한다. 즉, 응용 프로그램에 영향을 주지 않고 논리적 데이터 구조의 변경이 가능한 성질을 말한다. 그리고 물리적 데이터 독립성은 개념적 스키마를 수정하지 않고 내부 스키마를 변경시킬 수 있는 성질을 말한다. 즉, 응용 프로그램과 논리적 데이터 구조에 영향을 주지 않고 물리적 데이터 구조의 변경이 가능한 성질을 말한다.


공식적인 규칙에 의하여 표현된 데이터베이스는 사용자들이 원하는 데이터 항목들을 다양하게 결합하여 여러 가지 용도로 사용된다. 이 때 공식적인 규칙에 의한 표현이란 논리적 표현과 물리적 표현을 모두 의미한다. 데이터베이스의 논리적 구조를 전반적으로 기술하는 것을 스키마라 한다. 스키마는 사용자의 관점에 따라 여러 개의 부분 집합으로 나누어질 수 있다. 이렇게 쪼개진 스키마의 부분집합을 서브스키마라고 한다. 즉, 서브스키마는 특정 사용자나 응용 프로그램에 의해 요구되는 데이터베이스의 일부분이다.


데이터베이스 시스템의 스키마구조는 사용자의 응용 프로그램과 논리적인 데이터베이스 구조의 기술부터 물리적인 데이터베이스 구조의 기술까지를 3계층으로 구분하여 명명하는데 이를 일컬어 3계층 스키마라고 한다. 스키마에는 물리적인 데이터베이스 구조를 기술하는 내부스키마, 논리적인 데이터베이스를 기술하는 개념스키마, 외부적인 데이터베이스 구조를 기술하는 외부스키마 또는 사용자 뷰가 존재한다.

 

 

1) 외부스키마


3계층 스키마의 하나인 외부스키마는 사용자가 직접 인터페이스 할 수 있는 바깥쪽의 스키마로서 일반적으로 서브스키마라는 이름으로 많이 불려진다. 외부 스키마는 응용 프로그래머가 데이터베이스를 바라보는 관점을 나타낸 것으로 하나의 스키마는 여러 개의 서브스키마로 나누어질 수 있다. 외부스키마는 특정 사용자가 관심을 갖는 데이터만 추출한 데이터베이스의 부분집합니다. 각각의 외부스키마는 주로 외부의 응용 프로그램에 위치하는 데이터 추상화 작업 단계로서 전체적인 데이터베이스의 부분적인 기술이다. 이 외부스키마는 단말 사용자가 부분적으로 필요로 하는 요구사항에 해당되므로, 이러한 일을 처리하는 응용 프로그램에 위치하는 것이 보통이다.


응용 프로그래머나 터미널에서 데이터베이스를 사용하는 단말 사용자가 반드시 데이터베이스 전체 스키마의 구성을 알아두어야 할 필요는 없다. 왜냐하면, 실제로 하나의 데이터베이스 전체 스키마의 구성은 매우 복잡하기 때문이다. 따라서, 데이터베이스를 부분적으로 이용하는 사람들이 그러한 복잡성에 시간을 낭비할 필요가 없다. 그리고 데이터의 보안 때문에 전체를 노출하기를 꺼려할 대도 있다. 응용 프로그래머와 단말 사용자들은 그들이 원하는 데이터에만 액세스하면 된다. 그들이 액세스할 수 있는 데이터베이스가 외부스키마이다.

 

2) 개념스키마


개념 스키마는 모든 사용자의 관점을 통합한 전체 데이터베이스의 관점이라 볼 수 있다. 스키마라 하면 일반적으로 개념 스키마를 의미한다. 개념 스키마는 논리적인 데이터베이스 전체의 구조를 의미한다. 쉽게 말하면 개념 스키마는 여러 개의 외부 스키마를 통합한 논리적인 데이터베이스의 전체 구조로서 데이터베이스 파일에 저장되어 있는 데이터 형태를 그림으로 나타낸 도표이다. 그것은 레코드와 데이터 항복의 이름을 부여하고 그들 사이의 관계를 명시해 준다. 개념 스키마는 데이터베이스의 물리적 저장구조의 표현을 제외한 개체와 이들의 관계, 자료형, 사용자연산, 제약조건 등을 기술한다.


즉, 논리적 데이터베이스 구조를 표현하는 것으로 개체 관계 다이어그램이나 객체 정의어 등의 설계 도구를 이용하여 레코드와 이를 구성하는 데이터 항목의 이름을 부여하고, 그들 사이의 관계를 표시하고, 데이터 유형과 제약조건 등을 표현한다. 이러한 개념 스키마는 데이터베이스 설계과정에서 개체-관계 도표를 통해 표현되는 전체적이고 논리적인 데이터베이스 구조를 갖는다.

 

3) 내부스키마 


내부 스키마는 하드웨어에 저장되는 데이터베이스의 물리적인 구조를 기술한 것이다. 외부 스키마와 개념 스키마는 물리적인 구조를 보여주지 않는다. 외부 스키마는 여러 가지 측면에서 데이터베이스를 바라보는 관점이므로 다수 개가 있을 수 있으나 개념 스키마와 내부 스키마는 하나만이 존재한다. 물리적인 데이터의 저장구조 기술을 내부 스키마라 한다.


즉, 기억 장치 내에 데이터가 저장되어 있는 데이터의 물리적인 설계도를 말한다. 다시 말하면 물리적 저장장치에서의 전체적인 데이터베이스 구조 기술로서 실질적인 데이터베이스의 자료구조와 크기, 접근 경로 등을 완전하고 상세하게 표현한 것을 말한다.

'IT정보' 카테고리의 다른 글

사물 인터넷, IoT(internet of things)  (0) 2017.08.29
DBMS의 정의와 기능  (0) 2017.08.29
DBMS 장점과 단점들  (0) 2017.08.29
리눅스란?  (0) 2017.08.27
c란?  (0) 2017.08.27



1. 장점


● 데이터 중복 최소화

파일 시스템에서 각 애플리케이션은 자체 파일을 개별적으로 유지하므로, 동일한 컨텐츠를 저장할 때 동일한 양의 데이터를 저장하므로 전체 저장소에 저장된 데이터가 중복됩니다. 그러나 데이터를 미리 통합하고 구성하여 데이터베이스를 제어할 수 있습니다. 


● 공개 데이터

동일한 구조에서 데이터를 지원할 수 있는 DBMS의 복잡하고 정교한 기법으로 데이터베이스에서 데이터를 공유할 수 있습니다. 이는 기존 애플리케이션의 유지 보수뿐만 아니라 애플리케이션 자체에 대한 필요성을 배제할 뿐 아니라 애플리케이션 자체에 필요한 애플리케이션 자체에 초점을 맞출 수도 있습니다.


● 데이터 일관성 유지

실제 데이터의 두 데이터와 데이터 불일치, 데이터 불일치 또는 데이터 불일치 등의 데이터 불일치가 존재합니다. 충돌하는 데이터베이스는 상충되는 정보를 제공하고 데이터베이스의 유용성을 방해합니다. 데이터베이스를 통해 관리 시스템은 중앙 집중식 제어를 통해 이중화 데이터를 제어하고 일관된 데이터 일관성을 유지할 수 있습니다.


● 데이터 무결성 유지

무결성이란 데이터베이스에 저장된 데이터의 정확도와 실제 값을 나타내는 실제 값의 실제 값을 말한다. 데이터 중복성이 완전히 제거되더라도 여러 경로 또는 부정확한 데이터로 데이터베이스에 침투할 수 있습니다. 데이터베이스 관리 시스템은 데이터베이스가 생성될 때마다 유효성을 검사하여 데이터 무결성을 유지할 수 있습니다.


● 데이터 보안

중앙 집중식 데이터베이스 관리를 중앙 집중식으로 관리하고 중앙 집중식으로 관리하여 데이터베이스의 관리 및 액세스를 효과적으로 제어할 수 있습니다. 따라서 데이터베이스의 유효성, 허용된 데이터 및 데이터의 운영을 확인하여 모든 데이터에 대한 엄격한 보안을 제공합니다. 

일반적으로 동일한 데이터가 여러 파일에 분산되어 있을 때 동일한 수준의 보증이 보장되기는 어렵습니다.


● 표준화

DBMS의 중앙 제어 기능은 기술적 형태, 콘텐츠, 처리 방법 및 문서 양식의 표준화를 통해 체계적으로 수행할 수 있습니다.


● 전체 데이터 요구 사항 조정

한 조직의 모든 애플리케이션은 전체 조직에서 요구하는 데이터를 수집하고 충돌하는 데이터를 조정하여 효율적인 정보 처리를 보장하기 위해 조직의 가장 수익성이 높은 구조를 조정할 수 있습니다.




2. 단점


● 운영비 증가

DBMS는 비용이 많이 드는 제품이며 컴퓨터 시스템에 대한 많은 지원을 사용합니다. 특히 CPU는 더 많은 메모리를 필요로 하고 더 빠른 CPU를 필요로 하는 DBMS를 운용하기 위해 더 많은 메모리를 필요로 한다. 


●  자료 처리의 복잡화

다양한 유형의 데이터가 서로 다른 유형의 데이터와 연관되어 있습니다. 이러한 상황에 따라 응용 프로그램을 생성하고 다양한 제한 사항을 적용할 수 있습니다. 따라서, 애플리케이션 시스템은 더 긴 설계 시간과 기술적 기술적 기술이 필요하기 때문에 진보된 프로그래머를 필요로 한다.


●  복잡한 백업 및 복구

데이터베이스가 복잡하고 복합적이기 때문에 복잡한 원인에 대한 백업(백업, 백업)기술 또는 사후 복구 기술을 구축하기 어렵기 때문에 문제의 정확한 원인을 파악하는 데 어려움을 겪고 있습니다.


● 시스템 파괴 한도

데이터베이스 시스템은 통합 시스템이므로 시스템 전반에 걸쳐 시스템의 신뢰성과 가용성을 저해하는 전체 시스템 시스템을 저해할 수 있습니다. 이는 데이터베이스에 크게 의존하는 환경에서 특히 치명적인 약점이 될 수 있습니다.

'IT정보' 카테고리의 다른 글

DBMS의 정의와 기능  (0) 2017.08.29
데이터베이스의 스키마  (0) 2017.08.29
리눅스란?  (0) 2017.08.27
c란?  (0) 2017.08.27
자바스크립트란?  (0) 2017.08.27
리눅스란 무엇인가?
리눅스는 오픈 소스 개발자 커뮤니티에서 작성한 무료 컴퓨터 운영 체제이다. Linux는 보다 잘 알려 진 Windows또는 OSX/iX의 대안으로 사용된다. 이러한 주류 운영 체제와는 달리 리눅스는 누구든지 바꿀 수 있는 크라우드 소싱 프로젝트이다. 기술적으로 리눅스는 "커널"또는 운영 체제의 기본 구성 요소이다. 시스템을 나란히 설치하고 드라이브를 공유하기 위해 시스템을 설치할 수도 있습니다. 다른 운영 체제에서는 외부 간섭으로부터 코드를 보호하지만, 리눅스는 협업을 환영합니다. 이 정신은 리눅스가 혁신의 온상이라는 평판을 얻었다. Linux는 결국 주요 운영 체제에 의해 채택된 특징을 개발했다.

리눅스는 이전의 유닉스 시스템을 기반으로 하고 있는데, 이것은 모듈형 설계의 원리를 사용한 것이다. 이러한 유형의 시스템에서는 OS가 간단한 툴을 제공하는 반면, 셸 스크립팅 및 명령 언어는 복잡한 워크 플로우를 수행하기 위해 결합됩니다. 리눅스는 PHP, Perl, Ruby, Python등 다양한 언어를 지원한다. 이러한 다양성은 개발자들에게 그들이 가장 편안하다고 느끼는 어떠한 언어로든 코드를 쓸 수 있는 자유를 준다.

리눅스는 자유롭고 개방적인 소스 소프트웨어 개발 및 배포 모델을 따르며"distros"라는 리눅스 배포판을 통해 사용할 수 있다. Linux를 사용하거나 배포하거나 수정하는 데는 구매가 필요하지 않습니다. 현재, 300개 이상의 수정된 버전(distrols)이 새로 생성된 새 버전을 사용하여 사용할 수 있습니다. 가장 인기 있는 디스트로스들 중 몇몇은 디비안과 레드닷을 포함하고 있는데 각각 그들만의 스핀을 가지고 있다. 원래는 특정 Intel시스템의 운영 체제로 개발되었지만 리눅스는 현재 모든 컴퓨터 소프트웨어 플랫폼 중에서 가장 자주 사용되거나 업로드됩니다. 세계에서 가장 빠른 500대의 컴퓨터 중 95%이상이 Linux운영 체제를 사용하고 있습니다. 지난 10년간 리눅스 사용은 느린 성장세를 보이고 있지만 신세대 개발자들이 이 제도에 손을 대지 않는다면 더 많은 사용자들이 동참할 것으로 기대하고 있다.

누가 리눅스를 사용하고 이유는?
창업 이래로, 기업들은 리눅스를 서버에 광범위하게 사용해 왔다. Linux는 또한 일부 기업 환경에서 직원용 데스크 톱 플랫폼으로 사용되며, RedHatEnterprise리눅스, SUSELinuxEnterpriseDesktop및 Ubuntu를 포함한 상용 솔루션으로 사용할 수 있습니다. 많은 상업, 비영리 및 정부 기관(Linux채택자라고 불리는)은 백악관, 미 국방부 및 위키 피디아를 포함한 Linux운영 체제의 버전을 활용한다.

또한 Linux는 PlayStation3과 같은 일부 게임 콘솔에 사용됩니다. 2013년에, 밸브 회사는 Linux를 통해 특정 포트를 리눅스와 공유하여 운영 체제에서 많은 인기를 끌게 할 수 있도록 리눅스를 공개적으로 운용했습니다. 또한 밸브는 곧 출시될 예정인 게임 콘솔이 Linux커널을 기반으로 하는 운영 체제인 SteamOS인 StealSteakTS에 의해 출시될 것이라고 발표했다.

Linux데스크 톱 사용자는 일반적으로 오픈 소스 운영 체제를 중시하며 이 오픈 소스 소프트웨어의 속도, 보안 및 사용자 경험을 높이 평가하는 사람들입니다. 리눅스는 가장 세련된 OS가 아닐 수도 있지만, 혁신의 최첨단에 있다. 보안 취약점이 있다면, 개발 업자들은 보통 하루 안에 업데이트를 풀어 나간다. 리눅스 사용자는 업데이트 패키지를 기다리는 대신 새로운 기술을 사용할 수 있게 됨에 따라 정기적인 업데이트를 받게 됩니다. 설상가상으로 리눅스는 무료이며 소프트웨어 세계에서의 협업 문화를 지원하고 있다.

일부 인기 있는 Linux배포는 무엇입니까?
리눅스 커널은 모두 공통적으로 Linux커널을 가지고 있지만, 다양한 Linux배포 기반을 기본 오픈 소스 기반 위에 구축한다. "distros"라고 불리는 리눅스 배포는 다양한 배경과 특징을 자랑한다. Ubuntu는 세계에서 가장 널리 사용되는 무료 OS이자 가장 널리 보급된 리눅스 소프트웨어입니다. Ubuntu는 Fedora, SUSE및 Mandriva를 포함하는 상업적으로 후원되는 리눅스 배포판을 이끕니다. 오픈 소스 개발의 정신에서, 일부 배포는 완전한 공동체 주도이며 어떠한 재정적 지원도 받지 않는다. Debian, Slackware, GentouandArch리눅스는 저명한 커뮤니티 배포의 일부입니다.

이 분포는 오픈 소스 소프트웨어와 공동 혁신을 지원하는 사용자들의 커뮤니티를 이끈다. 유명한 Windows및 OSX운영 체제의 대안인 Linux는 개발자 커뮤니티에 의존하여 소프트웨어를 만들고 컴퓨팅 환경을 개선합니다. 리눅스 사용자들은 코드가 잡히고 프로그램이 향상됨에 따라 정기적인 업데이트를 받는다. 함께 일하는 사람들이 함께 일하는 가운데, 리눅스는 최근에 가장 혁신적인 소프트웨어 중 일부를 최근에 출시했다.

이러한 분포가 점점 더 인기를 끌면서, 더 많은 사용자들이 리눅스를 시도하고 있다. 오픈 소스의 자유와 개발자들의 힘으로, 리눅스는 컴퓨팅의 혁신을 향해 나아간다.


'IT정보' 카테고리의 다른 글

데이터베이스의 스키마  (0) 2017.08.29
DBMS 장점과 단점들  (0) 2017.08.29
c란?  (0) 2017.08.27
자바스크립트란?  (0) 2017.08.27
자바란 무엇인가?  (0) 2017.08.27

C는 컴퓨터 프로그래밍 언어이다. , C를 사용하여 컴퓨터가 따라올 지침 목록을 만들 수 있습니다. C는 현재 사용 중인 수천개의 프로그래밍 언어 중 하나이다. C는 몇 십년 동안 지속되어 왔고, 그것은 프로그래머들이 최대한의 통제와 효율성을 제공하기 때문에 널리 받아들여지고 있다. C는 배우기 쉬운 언어이다. 그것은 다른 언어들보다 조금 더 난해한 스타일이지만, 당신은 그것을 꽤 빨리 이해할 수 있다.

 

C는 편집된 언어라고 불리는 것이다. , C프로그램을 작성하면 C컴파일러를 통해 프로그램을 실행하여 프로그램을 실행할 수 있는 실행 파일로 프로그램을 실행해야 한다. C프로그램은 인간 판독 가능한 형태이며 컴파일러에서 나오는 실행 가능한 실행은 기계 판독 가능하고 실행 가능한 형식이다. , C프로그램을 작성하고 실행하려면 C컴파일러에 액세스 할 수 있어야 한다. 예를 들어, 유닉스 시스템을 사용하는 경우(:호스트의 UNIX시스템에서 CG스크립트를 작성하는 경우), C컴파일러를 사용하는 경우 C컴파일러는 무료로 사용할 수 있다. 이는 "cc"또는"cc"라고 불리며 명령줄에서 사용할 수 있습니다. 만약 여러분이 학생이라면, 그 학교는 여러분에게 학교가 무엇을 사용하고 있는지를 알아낼 것입니다. 학교가 무엇을 사용하고 있는지 알아내고, 그것에 대해 배울 것입니다. Windows(윈도우)에서 가정에서 작업하는 경우에는 무료 C컴파일러를 다운로드하거나 상용 컴파일러를 구입해야 합니다. 널리 사용되는 상업용 컴파일러는 마이크로 소프트 사의 비주얼 C++환경이다(CC++프로그램 모두 컴파일). 유감스럽게도 이 프로그램은 수백달러의 비용이 든다. 만약 당신이 상업용 컴파일러에 쓸 수백달러의 돈을 가지고 있지 않다면, 당신은 웹에서 사용할 수 있는 무료 컴파일러 중 하나를 사용할 수 있다

 

우리는 처음부터 아주 간단한 C프로그램을 시작하여 거기서부터 시작할 것입니다. 당신이 유닉스 명령 라인과 당신의 환경을 위해 당신의 환경을 사용하고 있다고 가정하겠습니다. 만약 당신이 그렇지 않다면, 당신은 당신이 사용할 수 있는 모든 컴파일러를 이해하고 사용할 필요가 있습니다.

 

C를 배운다면 무엇을 얻을 것인가?

만약 당신이 C를 모른다면, 당신은 당신이 프로그래머로서 무엇을 하고 있는지 모른다. 물론이죠, 당신의 신청서는 잘 되어 가고 있어요. 하지만 왜 그런지 모르겠지만(*p++=p++), 문자열을 복사할 수 없다면, 여러분은 미신에 대해 글을 쓰고 있습니다. (JoelSpolsky의 말이 아닙니다.)

 

당신은 컴퓨터가 어떻게 작동하는지 이해할 것이다.

 

C를 알고 있으면 프로그램이 어떻게 작동하는지 알 수 있을 뿐 아니라 컴퓨터가 작동하는 방식(메모리 관리 및 할당 포함)에 대한 멘탈 모델을 만들 수 있습니다. 당신은 파이썬과 자바와는 달리 C가 제공하는 자유를 이해하는 것을 배울 것이다.

 

C를 이해하면 이전에는 불가능하다고 생각되었던 프로그램을 작성할 수 있습니다(또는 최소한 컴퓨터 아키텍처와 프로그래밍 전반에 걸쳐 더 넓은 이해를 가질 수 있음).

C는 프로그래밍 언어의 언어이다.

 

자바, 파이썬, 자바 등과 같은 거의 모든 고급 프로그래밍 언어들은 C프로그래밍과 인터페이스 할 수 있다. 또한, 프로그래밍에서 공통된 아이디어를 표현하는 것은 좋은 언어입니다. 여러분이 대화하고 있는 사람이 C를 모르기 때문에, 여러분은 여전히 그들이 이해할 수 있는 방식으로 여러분의 아이디어를 전달할 수 있습니다.

수백만명의 사람들에게 영향을 미치는 오픈 소스 프로젝트에 참여할 기회

 

처음에 당신은 C가 중요한 언어라는 사실을 간과할 수도 있다. 모바일 앱을 개발해야 하는 경우에는 Java(Android), SwiftTargetC(iOS)가 필요합니다. 그리고 C#, PHP, ASP, Ruby, Python 같은 언어를 사용하는 수많은 언어들이 있습니다. 그러면 C프로그래밍은 어디에 있을까요?

 

파이썬은 응용 프로그램을 위한 넓은 범위를 만드는데 사용됩니다. 그리고 C는 파이썬을 만드는데 쓰입니다. Python에 기여하고 싶다면, Python프로그래머에게 수백만명의 Python프로그래머들에게 영향을 미치는 일을 하기 위해 C프로그래밍을 배워야 한다. 이것은 단지 하나의 예이다. 여러분이 오늘날 사용하는 많은 소프트웨어들은 C로 동력을 공급 받습니다.

 

C프로그래밍이 사용되는 대규모 오픈 소스 프로젝트 중 일부는 리눅스 커널, PythonInterpreter, SQLiteDatabase입니다.

 

대규모 오픈 소스 프로젝트에 흔히 사용되는 또 다른 언어는 C++이다. CC++를 알고 있다면 수백 만명의 사람들에게 영향을 미치는 대규모 오픈 소스 프로젝트에 기여할 수 있다.

당신은 더 나은 프로그램을 쓸 것입니다.

 

솔직히 말하자면, 이 진술은 항상 사실이 아닐 수도 있다. 그러나 컴퓨터가 어떻게 작동하고 메모리를 관리하는지 알 수 있으므로 다른 프로그래밍 언어에서 효율적인 코드를 작성하는 방법을 알 수 있습니다.

여러분은 다른 프로그래밍 언어를 배우는 것이 훨씬 쉽다는 것을 알게 될 것입니다.

 

많은 인기 있는 프로그래밍 언어는 C(C++, C++, OOP기능을 가진 C프로그래밍으로 간주됨)에 기초한다. C를 알게 되면 C++학습을 시작하게 됩니다.

 

C#및 자바와 같은 언어는 CC++와 관련이 있다. 또한 자바 스크립트와 PHP의 구문은 C와 유사하다.

 

CC++프로그래밍을 알고 있으면 다른 언어로 전환하는 데 아무런 문제가 없습니다.

 

 

시작해 봅시다!

'IT정보' 카테고리의 다른 글

DBMS 장점과 단점들  (0) 2017.08.29
리눅스란?  (0) 2017.08.27
자바스크립트란?  (0) 2017.08.27
자바란 무엇인가?  (0) 2017.08.27
파이썬이란 무었일까요?  (0) 2017.08.27

+ Recent posts