Monthly Archives: 8월 2015

국제공인자격증

프로그래밍 OCJP (Oracle Certification Program) https://en.wikipedia.org/wiki/Oracle_Certification_Program   MCSD (Microsoft Certified Solutions Developer) https://en.wikipedia.org/wiki/Microsoft_Certified_Professional#Microsoft_Certified_Solutions_Developer_.28MCSD.29 MCPD (Microsoft Certified Professional Developer)     네트워크 CCNA (Cisco Certified Network Associate) https://en.wikipedia.org/wiki/CCNA CCNP A Cisco certified network professional  https://en.wikipedia.org/wiki/CCNP CCIE  The Cisco Certified Internetwork Expert https://en.wikipedia.org/wiki/CCIE_Certification   데이타베이스 Oracle Certified Associate (OCA) https://en.wikipedia.org/wiki/Oracle_Certification_Program 보안 CISA Certified Information Systems Auditor  https://en.wikipedia.org/wiki/Certified_Information_Systems_Auditor   서버 MCSE https://en.wikipedia.org/wiki/Microsoft_Certified_Professional RHCE Red Hat Certification Program https://en.wikipedia.org/wiki/Red_Hat_Certification_Program 관리자 OCNA  ..

Continue reading →

디지털영상처리

디지털 화상 처리 또는 디지털 영상 처리는 컴퓨터 알고리즘을 사용하여 디지털 이미지에 대한 화상 처리를 수행하는 것이다. 디지털 신호 처리의 하위분야로, 디지털 영상 처리는 아날로그 영상 처리에 비해 많은 장점이 있다. 입력 자료에 더욱 광범위한 알고리즘을 적용 가능하게 하고, 처리 도중 발생하는 소음과 신호 왜곡과 같은 문제들을 방지할 수 있다.

Continue reading →

임베디드 시스템 embedded system

임베디드 시스템(영어: embedded system, 내장형 시스템)은 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템이다. 즉, 임베디드 시스템은 전체 장치의 일부분으로 구성되며 제어가 필요한 시스템을 위한 두뇌 역할을 하는 특정 목적의 컴퓨터 시스템이다. 이에 비해 개인용 컴퓨터와 같은 특정되지 않는 일반적인 목적을 수행하는 컴퓨터 시스템과 대조된다. 특정 목적을 수행하는 컴퓨터 시스템이므로 목적을 설정하고 이를 수행하는 프로그램 코드를 작성하여 메모리에 기록하고 이를 읽어 동작 시키는 방법이 일반적이다. 전자 하드웨어와 기계 …

Continue reading →

컴파일러(compiler)

컴파일러(compiler, 순화 용어: 해석기, 번역기)는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램을 말한다. 원래의 문서를 소스 코드 혹은 원시 코드라고 부르고, 출력된 문서를 목적 코드라고 부른다. 목적 코드는 주로 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력되지만 사람이 읽을 수 있는 문서 파일이나 그림 파일 등으로 옮기는 경우도 있다. 원시 코드에서 목적 코드로 옮기는 과정을 컴파일(compile, 순화 용어: 옮김, 번역, 문화어: 콤파일)이라고 한다. 컴파일러는 소스 프로그램을 읽어서 즉시 결과를 출력하는 인터프리터와는 구분된다. 그러나 현대에 들어 많은 인터프리터가 JIT 컴파일 등의 기술로 실시간 컴파일을 수행하므로, 컴파일러와 …

Continue reading →

알고리즘 설계

알고리즘 설계는 문제를 해결하는 수학적인 과정을 만들어내는 특정한 방법이다. 알고리즘 설계는 알고리즘 공학에 적용된다. 알고리즘 설계는 동적 계획법이나 분할 정복 알고리즘과 같은, 운용 과학의 많은 해법에서 확인되고, 통합되어 있다. 알고리즘 설계의 기술에는 템플릿 메소드 패턴이나 데코레이터 패턴과 같은 알고리즘 설계 패턴[1]과 자료 구조, 이름 및 정렬 리스트를 사용하는 것이 있다. 최근에는 웹 크롤링의 인터넷 검색 과정, 패킷 라우팅 및 캐싱 등에서 알고리즘 설계가 사용된다. 알고리즘 설계를 위한 컴퓨팅 도구에는 ALGOL (Algorithmic language에서 유래), FORTRAN, COBOL, PL/I, SAIL, 혹은 SNOBOL과 같은 메인프레임 프로그래밍 언어가 있지만, “알고리즘 설계”는 언어가 …

Continue reading →

이산수학 Discrete mathematics

이산수학(Discrete mathematics, 離散數學)은 이산적인 수학 구조에 대해 연구하는 학문으로, 연속되지 않는 공간을 다룬다. 유한수학이라고도 하며, 전산학적인 측면을 강조할 때는 전산수학이라고도 한다. 이산수학에서는 실수 같이 연속적인 성질이 있는 대상이 아니라 주로 정수, 그래프, 논리 연산 같이 서로 구분되는 값을 가지는 대상을 연구한다. 따라서 이산수학에서는 미분적분학이나 수치 해석같이 ‘연속적’인 분야에서 다루는 주제는 다루지 않는다. 이산적인 대상은 정수로 개수가 열거되는 경우가 많다. 공식적으로, 이산수학은 가산집합을 다루는 수학의 한 부류로 특징지을 수 있다. 하지만 이산수학이라는 용어에 대해 정확한 정의는 내려져 있지 않다. 사실, 이산수학은 포함된 주제에 의해서 정의되기 …

Continue reading →

객체 지향 프로그래밍 Object-Oriented Programming

객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임의 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 “객체“들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 …

Continue reading →

자료구조 data structure

자료 구조(資料構造, 영어: data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는 대개 추상적 자료구조의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다. 자료 구조에는 여러 종류가 있으며, 이러한 각각의 자료구조는 각자의 연산 및 목적에 맞추어져 있다. 예를 들어 B-트리는 데이터베이스에 효율적이며, 라우팅 테이블은 네트워크(인터넷, 인트라넷)에 일반적이다. 다양한 프로그램을 설계할 때, 어떠한 자료 구조를 선택할지는 가장 우선적으로 고려되어야 …

Continue reading →