본문 바로가기

컴퓨터 일반150

C Language 1972년 Bell연구소의 데니스 리치가 만든 언어로 UNIX 운영체제를 만들기 위한 언어로 개발되었다. 컴파일러나 소프트웨어 개발용 도구로도 사용된다. C언어의 정신(C99 Rationale)] ▶ 프로그래머를 믿어라.(Trust the programmmer) ▶ 프로그래머가 작업을 못하게 방해하지 마라. (Don't prevent the programmer from diong what needs to be done) ▶ 언어를 작고 간단하게 유지하라.(Keep the language small and simple) ▶ 명령을 실행하는 방법을 하나만 제공하라.(Provide only one way to do an operation) ▶ 호환성은 장담할 수 없더라도 빨리 작동하게 만들어라. (Make i.. 2022. 10. 21.
지도형 기계 학습(Supervised learning, 지도 학습) 기계 학습 중 컴퓨터가 입력값과 그에 따른 출력값이 있는 데이터를 이용하여 주어진 입력에 맞는 출력을 찾는 학습 방법. 지도형 기계 학습 모델은 입력된 문제에 대한 답을 예측하는 데 사용된다. 기계 번역, 상품 추천, 질병 진단 등에 응용될 수 있다. 학습 훈련 데이터(training data)로 입력과 출력이 같이 제공되는 상황을 문제(입력)의 답(출력)을 가르쳐 주는 것에 비유하여 지도형 기계 학습(이하 '지도 학습')이라고 한다. 예로, 개와 고양이 사진을 구분하는 것을 들 수 있다. 이때 입력은 사진이고, 출력은 개 또는 고양이인지의 여부가 된다. 개인지 고양이인지의 여부가 기록된 사진을 이용해 지도 학습을 하며, 학습 결과는 훈련 데이터에 포함되지 않은 사진을 구분하는 데 적용된다. 지도 학습에.. 2022. 10. 3.
IPv4와 IPv6 ▣ IPv4(Internet Protocol version 4) 현재 널리 사용되고 있는 버전 4 인터넷 프로토콜. 1981년에 발간된 IETF RFC791로 문서화 되어 있다. IPv4는 211.253.131.255와 같은 점-숫자 표기의 32-bit 주소 체계로서 고유 번호가 4,294,967,296로 제한되어 있어 128-bit 체계로서 거의 무한대라고 할 수 있는 IPv6로의 전환이 추진되고 있다. IPv4의 전송방식으로는 멀티캐스트, 브로드캐스트, 유니캐스트가 있다. ▣ IPv6(Internet protocol version 6) IPv4의 주소공간을 4배 확장한 128 비트 인터넷 주소 체계. 인터넷 프로토콜(IP) 주소 공간을 128 비트로 확장하여 주소의 개수를 크게 증가시키고 패킷 처리에.. 2022. 9. 26.
클라이언트와 서버 ▣ 클라이언트(Client) ① 객체 중심 프로그래밍에서, 관련이 없는 다른 클래스의 서비스를 이용하는 어떤 클래스(또는 그룹)의 멤버. ② 컴퓨터 처리에서 다른 프로그램이 제공하는 서비스를 요구하는 프로세스(프로그램 또는 태스크라고 할 수도 있다). 다른 프로그램에 내장된 소트 루틴(sort routine)을 요구하는 문서 처리기이다. 클라이언트 프로세스는 요구한 서비스를 사용하면서 서비스를 제공하는 상대편 프로그램이나 서비스 자체에 대한 동작을 상세히 알 필요는 없다. ③ 구내 정보 통신망(LAN)상에서 다른 컴퓨터(서버)가 제공하는 망 공유 자원에 접속하는 컴퓨터. ▣ 서버(Server) 통신망상에서 다른 컴퓨터에 대하여 그 통신망의 전부 또는 일부에 대한 접속과 그 통신망의 자원(디스크 장치, 파.. 2022. 9. 21.
랜섬웨어(RansomWare) 컴퓨터 사용자의 파일들을 암호화하여 금전을 요구하는 악성코드. 사용자 자료를 볼모로 돈을 요구하여 ‘랜섬(ransom)’이란 수식어가 붙었다. 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 스프레드시트, 그림 파일 등을 제멋대로 암호화해 열지 못하도록 만들고 이메일 주소로 접촉해 돈을 보내 주면 해독용 열쇠 프로그램을 전송해 준다며 금품을 요구하기도 한다. 사용자는 암호화된 컴퓨터를 포맷하여 공격자에게 대가를 지불하지 않기도 한다. 출처] 한국정보통신기술협회 : 랜섬웨어 대한민국의 아름다운 영토, 독도의 여름 2022. 8. 29.
신경망 교환 포맷(NNEF : Neural Network Exchange Format) 기계학습(ML : Machine Learning)에 사용하는 인공 신경망(ANN: Artificial Neural Network) 모델 정보를 서로 다른 학습 프레임워크에서 교환할 목적으로 만든 데이터 포맷. * 참고: 인공신경망 모델 정보에는 신경망의 구조, 신경망 내부 가중치 정보, 기존 포맷 정보 등이 있다. 인공지능(AI) 개발자는 인공지능 구현을 위하여 다양한 학습 프레임워크를 사용한다. 신경망 교환 포맷(NNEF : Neural Network Exchange Format)은 텐서플로(TensorFlow), 케라스(Keras), 파이토치(PyTorch) 등 서로 다른 학습 프레임워크에서 동일한 인공 신경망 모델 정보를 공유할 수 있도록 표준화된 데이터 포맷을 제공한다. 인공 신경망은 기계학습(M.. 2022. 8. 22.
심층 신경망(DNN : Deep Neural Network ) 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)을 포함하는 인공 신경망(ANN: Artificial Neural Network). 심층 신경망은 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습할 수 있다. 그러나 학습을 위한 많은 연산량과 과하게 학습하여 실제 데이터에 대해 오차가 증가하는 과적합(overfitting), 기울기 값의 소실 문제(vanishing gradient problem) 등의 문제가 발생할 수 있다. 2000년대 이후 드롭아웃(drop-out), ReLU(Rectified Linear Unit), 배치 정규화(batch normalization) 등의 기법이 적용되면서 심층 기계 학습(deep learning)의 .. 2022. 8. 14.
인공 신경망(Artificial Neural Network, ANN) 사람 또는 동물 두뇌의 신경망에 착안하여 구현된 컴퓨팅 시스템의 총칭. 기계 학습(machine learning)의 세부 방법론 중 하나로, 신경 세포인 뉴런(neuron)이 여러 개 연결된 망의 형태이다. 구조 및 기능에 따라 여러 종류로 구분되며, 가장 일반적인 인공 신경망은 한 개의 입력층과 출력층 사이에 다수의 은닉층(hidden layer)이 있는 다층 퍼셉트론(multi-layer perceptron)이다. 인공 신경망은 하드웨어로 구현될 수도 있으나, 주로 컴퓨터 소프트웨어로 구현된다. 인공 신경망은 기초 컴퓨팅 단위인 뉴런 여러 개가 가중된 링크(weighted link)로 연결된 형태이다. 가중된 링크(weighted link)는 주어진 환경에 적응할 수 있도록 가중치를 조정할 수 있다... 2022. 8. 8.
튜링 시험(Turing test) 컴퓨터가 지능이 있는지를 판별할 수 있는 시험. 조사관이 블라인드 상태에서 컴퓨터와 글로 대화를 나눈 후, 대화 상대가 사람인지 컴퓨터인지 판단할 수 없게 되면 컴퓨터는 지능이 있는 것으로 튜링 시험에 합격 판정을 받는다. 앨런 튜링(Alan Turing)이 1950년 컴퓨터 지능의 운영 정의(operational definition)를 위해 튜링 시험을 고안하여 논문에서 제안하였다(※논문: Turing, A.M., Computing machinery and intelligence, Mind, 59(236):433-460, 1950). 튜링 시험은 컴퓨터가 사람처럼 신체 동작하는 것은 지능과 관련이 없다는 전제하에, 사람이 사용하는 언어(자연어)를 이용한다. 최초의 튜링 시험에서는 사람인 조사관이 블라인.. 2022. 8. 5.
노에스큐엘(non SQL, NoSQL) 빅 데이터 처리을 위한 비관계형 데이터베이스 관리 시스템(DBMS). 전통적인 관계형 데이터베이스 관리 시스템(RDBMS)와는 다르게 설계된 비관계형(non-relational) DBMS로, 대규모의 데이터를 유연하게 처리할 수 있는 것이 강점이다. 노에스큐엘(NoSQL)은 테이블-컬럼과 같은 스키마 없이, 분산 환경에서 단순 검색 및 추가 작업을 위한 키 값을 최적화하고, 지연(latency)과 처리율(throughput)이 우수하다. 그리고 대규모 확대가 가능한 수평적인 확장성의 특징을 가지고 있다. NoSQL에 기반을 둔 시스템의 대표적인 예로는 아파치 카산드라(Apache Cassandra), 하둡(Hadoop), 몽고디비(MongoDB) 등이 있다. 출처] 한국정보통신기술협회 : 노에스큐엘 대한.. 2022. 7. 25.
관계형 데이터베이스 관리 시스템(RDBMS : Relational Database Management System) 행과 열로 된 2차원이나 3차원의 표로 데이터를 표현하는 데이터베이스 관리 시스템. 대규모 컴퓨터 시스템을 대상으로 한 많은 이용자가 대량의 데이터를 다룰 때 데이터베이스를 관리하는 시스템이다. PC용 데이터베이스에 비하여 데이터를 대량으로 취급할 수 있고 신뢰성 측면에서도 뛰어난 업무 시스템을 구축할 수 있다. 구조화된 질의 언어(SQL)로 작성된 데이터 조작용 명령에 따라 서버상의 데이터를 조작할 수 있으며, 수정 등의 명령을 서버로 보낼 수 있는 것이면 어떤 클라이언트에서도 서버의 데이터를 조작할 수 있다. 출처] 한국정보통신기술협회 : 관계형 데이터베이스 관리 시스템 대한민국의 아름다운 영토, 독도의 봄 2022. 7. 18.
데이터베이스 관리 시스템(Database Management System, DBMS) 데이터베이스(DB)에 접근(access)하여 데이터베이스 정의, 조작, 제어 등 데이터베이스 관리를 지원하는 소프트웨어. 데이터베이스 관리 시스템(DBMS: Database Management System)은 데이터베이스에 적재된 데이터 작업을 수행할 뿐만 아니라 데이터베이스를 보호하고 보안을 제공한다. 데이터베이스 관리 시스템의 기능은 크게 구성(정의), 조작, 제어 기능으로 나눌 수 있다. - 구성(정의) 기능 : 데이터베이스에 저장될 자료의 구조와 응용 프로그램이 이 구조를 이용하는 방식을 정의하는 기능. 레코드 구조의 정의, 데이터 모형의 정의, 물리적 구조의 정의 등을 포함한다. - 조작 기능 : 사용자의 요구에 따라 데이터베이스에 접근하여 저장된 자료를 검색, 갱신, 삽입, 삭제할 수 있도록 .. 2022. 7. 11.
반응형