sees111의 등록된 링크

 sees111로 등록된 네이버 블로그 포스트 수는 124건입니다.

[Python] 파이썬 숫자 자료형 [내부링크]

숫자(Number) 자료형이란? 숫자 자료형이란 말 그대로 숫자로 이루어진 자료형이다. 숫자는 크게1, 2, 3 등과 같은 정수 자료형, 11,1, 13,1, 12,4 과 같은 소수점을 사용하는 실수 자료형으로 나뉘어진다. C언어에서 주로 사용하는 0xFF, 0o12, 0b11과 같은 진수 자료형도 있다. 정수(Integer) 자료형 정수 자료형이란 말 그대로 정수를 뜻하는 자료형을 말한다. 수학시간에서 가장 먼저 배우는 자연수 이를 정수라고 표현할 수 있다. 정수는 + 값을 갖는 양의 정수, - 값을 갖는 음의 정수로 나뉘어 진다. 아래의 코드는 a, b, c 변수에 각각 양의 정수 1, 2, 3 을 대입하는 코드이다. >>> a = 1 >>> b = 2 >>> c = 3 각각의 코드를 실행 시 아래와 같이 출력된다. >>> a 1 >>> b 2 >>> c 3 아래의 코드는 d, e, f 변수에 각각 음의 정수 -1, -2, -3 을 대입하는 코드이다. >>> d = -1 >>>

[Python] 문자열 [내부링크]

문자열(String)이란 문자열이란 문자, 단어 등으로 이루어진 문자들의 집합 자체를 의미한다. "Life is too short, You need Python" "Hello World" 예를 들어 문자열은 위의 예와 같이 큰 따옴표(" ")로 둘러 쌓여 있다. C, C++ 등 여러 언어에서도 문자열은 큰 따옴표로 문자열을 표시하고 있다. 하지만 파이썬에서는 문자열을 큰 따옴표를 포함해 여러 방법을 제공하고 있다. 문자열 생성 방법 파이썬에서는 문자열을 표시하기 위해 큰 따옴표를 포함한 총 4가지 방법을 제공한다. 1. 큰 따옴표(" ") 표현 방법 "Life is too short, You need Python" 말 그대로 다른 언어와 같이 문자열 시작과 끝을 큰 따옴표로 둘러싼다. 2. 작은 따옴표(' ') 표현 방법 'Life is too short, You need Python' C나 C++ 에서는 작은 따옴표로 표현하는 것을 문자로 인식하고 큰 따옴표로 표현하는 것을 문자열

[Python] 인덱싱과 슬라이싱 [내부링크]

인덱싱(Indexing)이란 인덱싱이란 무언가를 가리킨다는 의미로, 문자열 내에서 문자를 검색하는 작업을 인덱싱이라고 표현한다. >>> a = "Life is too short" 위와 같은 문자열이 있다. 위 문자열의 갯수를 따져보면 L부터 시작해서 각각의 문자, 공백 모두 포함해 총 17개의 문자이다. 인덱싱은 해당 위치에 어떤 문자가 있는지 검색하는 것을 인덱싱이라고 한다. 인덱싱 방법 >>> a = "Life is too short" a 라는 변수에 "Life is too short" 라는 문자열이 있다. 이 문자열은 공백을 포함해 총 17개로 되어 있다. >>> a[0] 'L' >>> a[4] ' ' >>> a[10] 'o' >>> a[16] 't' 위와 같이 찾고자 하는 변수의 이름과 찾을 위치를 대괄호([ ])에 번호로 입력한다. a[0]은 문자열의 시작이므로 첫 번째 위치의 L, a[4]은 다섯 번째 위치의 공백이 출력되고 a[10]은 too의 맨 뒷글자인 o, a[16

[Python] 리스트 [내부링크]

리스트(List)란 파이썬에서 리스트란 오브젝트의 집합이다. 즉, 여러 개의 자료들이 연속적으로 저장되는 형태의 자료형으로, 여러 개의 자료형을 관리하기 쉽게 사용할 때 사용하는 자료형이다. 다른 언어의 배열(Array)와 비슷한 개념으로도 볼 수 있다. 다른 말로 시퀀스 데이터, 연속적 데이터 라고도 한다. 리스트 이용 방법 리스트를 생성하기 위해서는 대괄호([ ]) 안에 요소들을 나열하는 것으로 생성한다. 대괄호 안에 나열된 요소들은 쉼표( , )로 구분한다. 리스트명 = [요소1, 요소2, 요소3, .....] 리스트는 빈 리스트, 숫자를 포함한 리스트, 문자를 포함한 리스트, 숫자와 문자를 같이 포함한 리스트, 리스트를 포함한 리스트 등 여러 가지 방법으로 리스트를 생성하고 정의할 수 있다. 리스트의 생성은 아래와 같이 한다. >>> a = [] >>> b = [1, 2, 3, 4, 5] >>> c = ["Life", "is", "too", "short"] >>> d = [1

[Python] 리스트 관련 함수 [내부링크]

리스트 관련 함수 파이썬에서 리스트와 관련된 여러 함수들을 많이 제공하고 있다. 사용법은 리스트 변수 이름 뒤에 .을 붙여서 리스트 관련 함수를 사용할 수 있다. count() count() 함수는 리스트 안에 찾고자 하는 원소가 몇 개 있는지 조사하여 그 수를 반환하는 함수이다. >>> a = [1, 2, 3, 4, 5] >>> a.count(3) 1 >>> b = ['a', 'b', 'c'] >>> b.count('b') 1 >>> b.count('f') 0 해당 개수를 반환하며 찾을 원소가 없을 경우 0을 반환한다. append() append() 함수는 리스트의 마지막에 원소를 추가하는 함수이다. 리스트 안에는 원하는 자료형을 어떤 자료형 상관 없이 추가할 수 있다. >>> a = [1, 2, 3, 4, 5] >>> a.append(10) >>> a [1, 2, 3, 4, 5, 10] >>> b = ['a', 'b', 'c'] >>> b.append('z') >>> b ['a

[Python] 튜플 [내부링크]

튜플(Tuple)이란 파이썬에서 튜플이란 리스트와 마찬가지로 여러 개의 자료들이 연속적으로 저장되는 형태의 자료형이다. 다만 리스트와 다른 점은 크게 2가지가 있다. 1. 튜플은 ( ) 로 원소들을 둘러싼다. 리스트는 [ ] 으로 둘러쌓아지만 튜플은 [ ] 이 아닌 ( ) 으로 원소들을 둘러싼다. 2. 튜플은 원소의 값을 생성, 삭제, 수정 등 원소의 값을 변경할 수 없다. 리스트는 원소의 값을 변경, 추가, 삭제 등 여러 방면으로 원소들의 값을 변경할 수 있다. 튜플은 얼핏 보기에 리스트와 비슷한 역할을 하지만, 파이썬을 이용하여 프로그래밍을 할 경우 리스트와 튜플을 구분하는 것이 분명 유리하다. 튜플과 리스트의 가장 큰 차이는 값의 변화가 가능한지, 불가능한지의 여부가 굉장히 중요하다. 리스트의 항목값은 변화가 가능하지만, 튜플의 항목값은 변화될 수 없다. 즉, 프로그램이 실행되는 동안 프로그램의 어떤 항목의 값이 변하면 안 될 경우 튜플을 사용해야 한다. 반면에 그 값을 변화시

[Python] 딕셔너리 [내부링크]

딕셔너리(Dictionary)란 딕셔너리란 리스트, 튜플과 같이 순차적(sequential)으로 데이터를 저장하는 자료형이다. 딕셔너리의 특징은 다른 자료형과 다르게 Key : Value 형태로 1:1 대응시킨 형태이다. 이름 = XXX, 나이 = XXX와 같이 대응 관계를 표현하는 자료형으로, 연관 배열(Associative Array) 또는 해시(Hash)라고도 한다. 딕셔너리의 형태는 아래와 같이 중괄호 { } 를 사용하여 형태를 표현하며 각각의 요소는 쉼표 , 로 구분한다. {Key1:Value1, Key2:Value2, Key3:Vaule3, ...} 딕셔너리 요소 추가 및 삭제 딕셔너리를 선언할 때는 아래와 같이 딕셔너리명 = {Key:Value} 의 형태로 선언한다. >>> dic = {'age' : 20, 'name' : 'Lee'} >>> dic {'age': 20, 'name': 'Lee'} 요소의 값이 문자 또는 문자열일 경우, 따옴표를 이용해 문자열의 형태를 표

[Java] 자바의 개요 [내부링크]

자바(Java)란 자바란 대표적인 객체지향 프로그래밍 언어 중 하나로서 1995년 미국의 선 마이크로시스템즈(Sun Microsystems)에서 발표한 언어이다. 초기에는 가전제품을 사용하기 위한 언어로 개발이 시작됐다. 하지만 현재는 웹 애플리케이션(Web Application)에서 가장 많이 사용되는 언어 중 하나이고, 모바일 기기용 소프트웨어 에서도 널리 사용되고 있다. 최근 클라우드(Clout) 환경 및 사물인터넷(Iot) 환경에서도 사용할 수 있도록 발전되고 있다. 자바의 사용 분야 현재 자바는 6백5십만 명 이상의 소프트웨어 개발자들이 자바 플랫폼에서 개발하고 있다. 대부분의 주요 산업 분야에서 자바 기술이 사용되며, 다양한 종류의 기기, 컴퓨터 및 네트워크에서 흔히 찾아볼 수 있다. 자바의 특징은 융통성, 효율성, 플랫폼, 이식성 보안성을 통해 이상적인 네트워크 컴퓨팅 기술로 사용되고 있다. 랩톱에서 데이터 센터, 게임 콘솔에서 과학용 슈퍼 컴퓨터, 휴대전화에서의 인터넷

[Java] 자바 개발 환경 [내부링크]

JVM(Java Virtual Machine)이란 JVM이란 자바 가상 머신을 말한다. 자바 가상 머신이란 쉽게 말해 자바로 작성된 프로그램을 실행하기 위한 환경을 말한다. 자바 프로그램의 실행 파일은 플랫폼에 의존하지 않는 바이트 코드로 만들어진다. 이 JVM은 바이트 코드를 기종 고유의 코드로 변환하여 실행하는 기능을 가지고 있다. JVM만 있으면 기종이나 운영체제(Operating System)에 상관없이 자바 프로그램을 실행할 수 있다. 이러한 장점으로 휴대전화, 프린터, 각종 기기 등에서 사용되고 있다. 자바의 개발 툴 1. SE(Standard Edtion) 자바 프로그램 툴 중에서 가장 많이 사용하는 SE 버전이다. SE는 클라이언트 지향의 기본적인 환경이다. SE는 표준 자바 플랫폼으로 자바 가상머신 규격 및 API 집합을 포함하고 있다. SE는 JDBC나 기본적인 기능을 모두 포함하고 있어 안드로이드 개발에 주로 사용된다. 광범위한 컴퓨팅 플랫폼을 위한 안전하고 이식

[Java] 프로그래밍 규칙 [내부링크]

프로그래밍 규칙의 필요성 프로그래밍에서 코딩 규칙을 지키지 않더라도 컴파일러에 반하는 문법이 아닌 이상 에러가 발생하지 않고 정상 동작된다. 그렇다면 프로그래밍에서의 규칙은 왜 필요할까? 1. 코드의 가독성 소프트웨어를 개발하는 과정에서 간단한 프로젝트, 개인의 프로젝트 일 경우, 본인이 알아볼 수 있을 규칙으로 작성하면 되지만, 프로그램의 규모가 커지거나, 팀 프로젝트로 진행하는 경우 등 타인이 보더라도 이해할 수 있게, 즉, 코드의 가독성을 살리면서 코드를 작성해야 한다. 여러 회사를 다니면서, 남들과의 협업은 피할 수 없는 상황이다. 때문에 코드의 가독성을 위한 규칙성은 꼭 지켜야하는 부분이다. 2. 프로그램의 유지보수 프로그램을 개발하면서 가장 많은 부분을 차지하는 부분이 디버그 또는 유지보수가 차지하고 있다. 프로그램을 직접 개발하는 개발자가 유지보수를 하는 경우도 있지만, 대부분의 경우 유지보수를 하는 인원이 따로 정해져 있다. 즉, 이러한 유지보수를 하는 인원이 코드를

[Java] 데이터 입력받기 [내부링크]

데이터 입력 과정 자바에서 키보드로부터 데이터를 입력받기 위해 크게 3가지의 순서로 나타낸다. 문 작성 -> Scanner 객체 생성 -> 데이터 입력 및 저장 객체 및 메소드 설정 말 그대로 데이터를 입력받을 함수 또는 메소드를 설정한다. 문 작성 Scanner 객체를 사용하기 위해 프로그램 상단에 import java.util.SCanner; 문 작성 Scanner 객체 생성 키보드로부터 데이터를 입력받아 변수에 저장하기 위해 Scanner 객체 생성 데이터 입력 및 저장 Scanner 객체를 사용해서 키보드로부터 데이터를 입력받아 변수에 저장 데이터 입력 방법 위에서 말했 듯 데이터를 입력받기 위해서는 Scanner 객체를 생성해야 한다. 그러하기 위해서 Scanner를 import 해야한다. import java.util.* 위와 같은 방식으로 필요한 문을 import 하면 된다. C 또는 C++ 언어에서 헤더파일을 include 하는 것과 비슷한 개념이다. java.util

[Java] 연산자의 종류 [내부링크]

산술 연산자 산술 연산자는 수의 개념에 대하여 연산하는 연산자를 말한다. 산술이란 수의 성질이나 계산의 법칙 등 이론적인 방법을 다루는 학문으로, 수의 개념이나 수에 대하여 간단한 계산을 하는 방법을 말한다. 연산자란 수학에서 어떤 함수에 작용해 그 함수를 다른 함수로 변형시키는 함수를 말한다. 예를 들어 사칙연산 계산에 이용되는 +, - *, / 등의 기호가 있다. 아래의 표는 자바에서 지원하는 산술 연산자의 종류와 의미이다. 연산자 기능 사용법 의미 + 더하기 a = b + c b와 c를 더한 값을 a에 대입 - 뺴기 a = b - c b에서 c를 뺀 값을 a에 대입 * 곱하기 a = b * c b와 c를 곱한 값을 a에 대입 / 나누기 a = b / c b를 c로 나눈 값을 a에 대입 (c가 0이면 에러 발생) % 나머지 a = b % c b를 c로 나눈 나머지를 a에 대입 (c가 0이면 에러 발생) + 연산자는 문자열 끼리도 사용할 수 있는데, 문자열 내에서 사용하면 문자열을

[Java] 예외 처리 [내부링크]

예외(exception)란 예외란 프로그램을 실행했을 때 발생하는 에러들을 말한다. 예를 들어, 수치를 0으로 나누거나, 배열의 범위 밖을 이동한다거나, 초기화 작업이 진행되지 않은 등의 상황을 말한다. 즉, '예외 상황에 대응하는 것'을 말한다. 자바에서는 예외가 발생하면 자동적으로 예외 전용 클래스인 예외 클래스 오브젝트가 생성된다. 예외 클래스에는 exception 클래스와 그 서브 클래스가 존재한다. exception 클래스를 기본 클래스로 하고 이 클래스를 상속 받은 서브 클래스들이 존재한다는 뜻이다. 예외 처리 순서 예외 처리를 하기 위해 try, catch, finally 문을 사용한다. 예외 처리의 순서도는 아래와 같다. try 블록 안에 에외가 발생할 것 같은 처리를 적는다. 주로 메소드가 대상이 된다. try에서 예외가 발생하게 되면 catch 블록에서 예외 발생 관련을 수행한다. 이때 예외 클래스명과 변수명을 인수로 받는다. 예외가 발생하고 나서 처리된 후 fin

[Python] 셋 [내부링크]

셋(set)이란 파이썬에서 셋이란 집합(set)이라고도 하며, 자료형의 한 종류이다. 파이썬 초기에는 존재하지 않았던 자료형으로 파이썬2.3 부터 지원하기 시작한 자료형이며 집합에 관련된 것을 편리하게 처리할 수 있도록 만든 자료형이다. 셋 자료형은 수학에서의 집합 개념과 비슷한 개념이다. 그래서 수학에서 사용하는 교집합, 하집합, 차집합 등 집합에 관한 계산도 편리하게 계산할 수 있다. 셋 자료형의 큰 특징은 2가지로, 1. 순서의 무의미함 셋 자료형에서는 순서가 존재하지 않는다. 파이썬의 자료형인 다른 자료형들인 리스트, 튜플 등은 순서가 있기 떄문에 인덱싱 등을 통한 개별 값을 얻을 수 있지만, 셋 자료형은 순서가 없기 때문에 인덱싱이 적용되지 않는다. 2. 중복을 허용하지 않음 셋 자료형에서는 중복을 허용하지 않는다. 요소가 중복되지 않으므로 특정 자료형의 중복을 제거하기 위한 필터로도 사용된다. 셋 자료형은 다음과 같이 set 키워드를 이용해 생성한다. 변수명 = set([

[Python] if문 [내부링크]

if문이란 if문이란 대다수에 프로그래밍 언어에 존재하는 문이며, 조건문을 나타낸다. 조건문이란 A 상황, B상황 등 여러 개의 상황이 존재할 경우 상황에 맞는 조건을 판단한 후, 상황에 맞는 처리를 할 때 사용한다. 위의 사진은 조건문을 나타내는 순서도이다. 조건문 같은 경우 순서도를 먼저 이해하면 조건문에 대한 이해가 쉽다. 조건식에서 Boolean 자료형을 이용하여 참(true)과 거짓(false)을 얻을 수 있고, 이에 따라 조건문은 조건식을 판별하여 참 결과와 거짓 결과로 나뉘어진다. 이러한 조건문은 어떠한 프로그래밍에서도 가장 중요하고 많이 사용되는 문으로 꼭 이해하고 넘어가야 한다. if문 구조 파이썬에서의 if문 구조는 if, elif, else 구조로 이루어져 있다. 1개의 조건만 판단할 경우 if문만 사용해도 되고, 1가지 외에 다른 경우는 if-else 구조, 다양한 조건을 판단할 경우는 if-elif-else 구조를 사용하게 된다. 자세한 구조는 아래와 같다.

[Python] while문 [내부링크]

while문이란 while문이란 프로그래밍 언어에서 반복문 중 하나이다. C, C++, Java 등 다른 언어에서도 존재하며 for반복문과 더불어 많이 사용된다. while문은 보통 조건에 따라 반복횟수를 결정해야 할 때 사용한다. 그래서 반복하기 전에 조건이 먼저 성립되어야 한다. while문은 비교 또는 논리 연산자를 사용하여 조건식이 true일 때 계속 반복하는 문법이고, false가 나올 경우 종료한다. while문 기본 구조 while 조건문: 수행할 코드 ... 위 코드는 while문의 기본 문법 구조이다. while 키워드 뒤에 조건문과 콜론을 붙이고, 수행할 코드를 while문 아래 나열한다. 수행할 코드는 반드시 들여쓰기 구조가 되어있어야 하므로 주의해야 한다. 위 그림은 while문의 순서도로, 기본 구조를 그림 형식으로 표현한 것이다. 입력된 조건에 의해 조건문이 형성되고, true의 경우 수행할 코드를 수행하고 종료되고, false일 경우 바로 종료된다. 위의

[Python] for문 [내부링크]

for문이란 for문이랑 프로그래밍 언어에서 반복문의 한 종류이다. while문과 같은 반복문이지만, 구성이 다르다. for문은 반복 횟수가 정해져 있는 경우에 유용하게 사용할 수 있다. while문과 for문은 서로 변경하여 사용할 수 있지만, 많은 프로그래머들이 for문을 사용하고 있다. 하지만 for문과 while문은 프로그래머들의 취향 차이인 부분이 많다. while문과 마찬가지로 for문에서도 break문, continue문을 사용할 수 있다. for문 기본 구조 for 변수 in 자료형(리스트, 튜플, 문자열 등) 수행할 코드 ... 위 구조가 파이썬에서의 기본적인 for문 구조이다. in 뒤에 자료형에는 리스트나 튜플, 문자열 등을 지정하고, 첫 번째 요소부터 마지막 요소까지 차례대로 변수에 대입되고, 수행할 코드가 수행된다. >>> a = ['A', 'B', 'C'] >>> for i in a: print(i) A B C for문의 가장 기본적인 구조이다. a라는 변수

[Python] 함수 [내부링크]

함수(function)란 함수란 어떠한 입력값을 가지고 어떤 일을 수행 후, 그에 맞는 결과물을 만들어 내는 것을 말한다. 코드를 작성할 때 반복적으로 작성하는 코드의 사용을 방지하고, 코드를 좀 더 효율적으로 작성하기 위해 사용한다. 또 함수를 사용해야 하는 이유 중 하나가 프로그램을 분석 할 때도 함수화 되어있는 프로그램이 더 분석에 용이하다. 이러한 이유로 프로그래밍에서 함수는 매우 중요한 개념이다. >>> a + b >>> a - b >>> a * b >>> a / b 위 코드와 같이 a와 b의 사칙연산을 출력한다고 가정할 때, 함수를 사용하지 않을 경우 +, -, *, / 4줄의 코드를 작성해야 한다. 하지만 사칙연산과 관련된 함수를 정의했을 경우, 1줄의 코드로 간편하고 효율적이게 작성할 수 있다. 파이썬 함수 기본 구조 파이썬에서의 함수는 def 키워드를 이용해서 함수를 정의한다. 함수의 이름은 프로그래머가 원하는 것으로 지정할 수 있다. def 함수이름(매개변수): 수

[Embedded] 명령어 구조 [내부링크]

명령(Instruction)의 의미 명령이란 프로세서에 어떤 업무를 지시하는 것을 총칭하는 의미이다. 프로세서의는 내부는 많은 디지털 회로들로 구성되어 있다. 이러한 이유로 프로세서는 0과 1만을 이해할 수 있는 2진수로 명령을 내려야만 프로세서가 이해할 수 있다. 이러한 프로세서가 이해할 수 있는 언어, 즉 2진수로 표현한 언어를 기계어(Machine Language)라고 한다. 개발을 하는 개발자들은 사람이기 때문에 0과 1로 이루어진 2진수로 프로그램을 작성하기란 쉽지 않다. 그래서 임베디드 개발을 하기 위해 C언어 또는 어셈블리어를 이용하여 코드를 작성하고, 컴파일러와 같은 도구를 이용해 기계어로 변환한다. 임베디드 개발에서는 어셈블리어(Assembly Language)가 중요한 요소이다. 작은 규모의 프로젝트에서는 어셈블리어를 사용하지 않을 수 있지만 프로젝트의 규모가 클 수록 어셈블리어의 중요성이 나타나곤 한다. 프로세서 제조 회사에서 니모닉(Mnemonic) 코드를 제공

[Embedded] 임베디드 시스템의 메모리 종류 [내부링크]

메모리(Memory)란 메모리(Memory)는 프로그램이나 데이터를 저장하기 위한 장치로, 크게 주기억 장치(Main Memory), 보조 기억 장치(Secondary Memory), 캐시(Cashe)로 나뉜다. 주기억 장치는 프로그램이 수행되는 동안에 프로그램과 데이터를 저장한다. 어떠한 동작을 바이트, 하트워드, 워드 단위에 맞게 수행할 수 있도록 구성되어 있으며, 메모리의 특정 위치에 명령이나 데이터의 접근(Access)하기 위해 주소를 사용한다. 일반적으로 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory)를 주로 사용한다. 보조 기억 장치는 자주 사용되지 않거나, 당장 사용하지 않는 프로그램이나 데이터를 저장하기 위해 사용된다. 디스크, SD/MMC 카드 등이 있으며, 가격이 주기억 장치에 비해 저렴하지만, 접근 속도가 느리고 프로그램 동작을 위해서는 보조 기억 장치의 프로그램과 데이터를 주기억 장치에

[ARM] ARM의 개요 [내부링크]

ARM(Advanced RISC Machine)이란 1985년 영국의 아콘 컴퓨터(Arcon Computers) 에서 처음 개발을 시작하여 만든 프로세서이다. 이 때, 초기 ARM의 이름은 Acorn RISC Machine 으로 시작한 것이 ARM의 시작이었다. 이후 약 5년 뒤 1990 Apple, VLSI Technology 라는 두 회사와 아콘 컴퓨터, 총 세 회사의 조인트 벤처로 생겨났다. 세 회사가 합작회사를 설립하고 이름을 Advanced RISC Machine 으로 변경하였고, 이 ARM이 지금까지 이어져 오고 있다. ARM 프로세서는 현재 임베디드 기기에서 가장 많이 사용되는 RISC 기반의32bit 프로세서이다. 저전력을 기반으로 설계된 ARM은 스마트폰을 비롯한 각종 다양한 전자기기, 여러 임베디드 시스템에서 사용되고 있다. 최초의 ARM 프로세서 VC25를 시작으로, ARM7, ARM9, ARM10, ARM11까지 발전해오면서 '저전력 고성능 마이크로컨트롤러'의

[ARM] ARM 동작 모드와 레지스터 [내부링크]

ARM 프로세서의 동작 모드 ARM 프로세서의 동작 모드는 프로세스가 어떤 권한을 가지고 어떤 종류의 작업을 처리하는지를 나타낸다. ARM에서 제공하는 모드는 총 8가지 동작 모드가 있다. 유저 모드와 시스템 모드를 제외한 다른 동작 모드는 모두 외부의 요청이나 오류에 의해 전환이 이루어진다. 유저 모드와 시스템 모드는 외부의 요청이나 오류가 아닌 프로그래밍 필요에 의해 S/W 적으로만 변경할 수 있다. ARM에는 상태 레지스터(Status Register)가 존재하는데, 이 레지스터의 값을 수정하여 각각의 동작 모드를 제어할 수 있다. User Mode 유저 모드는 ARM이 User Task, Application 등을 수행할 때의 동작 모드이다. 유저 모드를 제외한 다른 모드들과 다르게 유일하게 비특권(Un-Privilleged) 모드이다. 즉, 일반 사용자의 모드를 나타내고, 메모리, I/O 장치 등과 같은 시스템 자원을 사용에 제한을 두고, 사용자의 실수를 미연에 방지하는 목

[ARM] ARM 구성 레지스터 [내부링크]

ARM Register ARM 프로세서는 32비트 길이의 레지스터를 총 40개 가지고 있다. 데이터 연산을 할 때 사용하는 범용 레지스터(General Purpose Register) 32개, 프로세서의 동작 상태를 나타낼 때 사용하는 상태 레지스터(Status Register) 7개 프로그램을 제어할 때 사용하는 프로그램 카운터(PC, Program Counter) 1개로 구성되어 있다. 범용 레지스터(General Purpose Register) 범용 레지스터는 데이터 처리나 데이터 전송 등 다양한 목적으로 사용된다. 32개의 범용 레지스터는 8가지의 ARM 동작 모드에서 공유하여 사용하는 레지스터와 각 동작 모드별로 할당된 레지스터가 있다. 각 동작 모드별로 할당되는 레지스터는 서로 다른 동작 모드에서는 사용할 수 없다. 프로그램 카운터 레지스터(Program Counter Register) 프로그램 카운터란 프로그램을 읽어올 메모리의 위치를 나타낸다. 즉, 다음 실행될 명령어

[ARM] 상태 레지스터 구조 [내부링크]

ARM의 상태 레지스터 내부 구조 ARM은 2가지의 상태 레지스터(Status Register) 종류를 가지고 있으며, 1개의 CPSR과 6개의 SPSR로 구성된다. 각각의 종류 모두 내부 구조는 32bit 길이로 동일하다. 각각의 비트에 따라 동작 모드, ARM/Thumb 명령어 상태, 인터럽트 상태, ALU 연산 결과에 대한 정보를 저장한다. 플래그 비트(Flag Bit) 플래그의 뜻은 어원은 깃발을 들거나 내리는 행위를 말한다. 프로그래밍 개념에서는 무엇인가를 기억해야하거나 또는 다른 프로그램에게 약속된 신호를 남기기 위한 용도로, 프로그램에 의해 사용되는 미리 정의된 비트를 말한다. 상태 레지스터에서 플래그 비트는 ALU의 연산 결과에 대한 상태 정보를 나타낸다. ALU의 연산 결과에 따라 클리어 또는 세트된다. Negative(N) 플래그 비트 [31] : N 플래그는 연산 결과가 마이너스인 경우에 세트된다. Zero(Z) 플래그 비트 [30] : Z 플래그는 연산 결과가

[Embedded] Endian 구조 [내부링크]

엔디안(Endian) 이란 엔디안이란 컴퓨터의 메모리와 같이 데이터를 저장하는 공간에서 여러 개의 연속된 대상을 배열하는 방법을 뜻한다. 즉, 데이터가 메모리에 저장되는 순서이다. 메모리는 프로그램과 데이터를 저장하는 공간으로 사용되는데, 메모리 구조에 따라 빅 엔디안(big endian), 리틀 엔디안(little endian)으로 나뉜다. 대표적으로 PC에서 가장 많이 사용되는 Intel의 x86 계열 프로세서가 대표적인 리틀 엔디안 방식을, IBM, Motorora 같은 경우는 빅 엔디안 방식을 사용한다. ARM의 같은 경우 리틀 엔디안과 빅 엔디안 둘 다 사용할 수 있지만 디폴트 값으로 리틀 엔디안 방식을 사용한다. ARM의 경우 기본적으로 외부의 신호에 의해 하드웨어적으로 선택되지만, ARM 아키텍처 v6 이후에는 명령어에 의해서도 변경할 수 있다. 빅 엔디안(Big Endian) 빅 엔디안은 메모리의 하위 어드레스에 MSB(Most Significant Byte)가 위치하

[Vue.js]Vue.js의 인스턴스 [내부링크]

뷰 인스턴스(Vue.js Instance)는 뷰로 클라이언트 개발을 하기 위해 필요한 뷰의 생성자라고 볼 수 있다. 뷰를 이용해 클라이언트를 구성하기 위해서 뷰 인스턴스는 필수적인 조건이다. 여기서 생성자란? 객체 지향 프로그래밍에서 사용하는 객체를 생성하는 방식으로, 정의되어 있는 메서드와 속성을 사용하기 위해 객체를 재활용하여 사용하는 방식을 말한다. 즉, 객체를 생성 함으로써 객체 내부에 있는 메소드와 속성을 사용할 수 있다. 뷰 인스턴스 생성 방법 뷰 인스턴스의 생성 방법은 다른 객체지향 언어와 동일한 키워드로 new 키워드를 사용한다. new 뒤에 Veu를 붙이는 방식으로, new Vue({})와 같이 사용한다. <!DOCTYPE html> <html lang="en"> <head> <title>Hello Vue World</title> </head> <body> <div id="app"> {{ message }} </div> <script src="https://cdn.j

[OpenCV] Mat 클래스의 행렬 복사 [내부링크]

Mat 클래스 객체에 저장된 영상 또는 행렬을 복사하는 가장 간단한 방법은 복사 생성자 또는 대입 연산자...

[OpenCV] 문자열 출력 [내부링크]

openCV에서 영상에 직접 영상 처리 결과 또는 추가적인 정보를 문자열 형태로 나타낼 수 있는 함수를 제...

[OpenCV] 이벤트 처리 인터페이스 [내부링크]

OpenCV는 영상 출력 창에서 발생하는 키보드 입력, 마우스 이벤트 등 사용자에게 전달하는 인터페이스를...

[OpenCV] FileStorage, FileNode 클래스 [내부링크]

OpenCV에서 Mat 클래스에 저장된 영상 데이터는 imwrite() 함수를 이용하여 PNG, JPG, BMP 등...

[C] 파일 입출력 [내부링크]

파일 입출력에서 스트림이라는 중요한 개념이 있다. 스트림이란? 단어 그대로 해석했을 때 흐름, 흐르다 등...

[OpenCV] 영상 밝기 및 명암 조절 [내부링크]

OpenCV에서 영상 밝기 조절은 덧셈 연산(밝기) 와 곱센 연산(명암)이 있다. 영상의 밝기 조절 영상의 밝...

[C] 큐 [내부링크]

큐(queue)는 데이터를 일시적으로 쌓아 놓은 자료구조이다. 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 선...

[OpenCV] 히스토그램 [내부링크]

히스토그램(histogram)이란 표로 되어 있는 도수 분포를 정보 그래프 형태로 표현한 것이다. 영상의 히스토...

[C] 재귀호출 [내부링크]

재귀란? 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적(recursive)이라고...

[Embedded Linux] 임베디드 리눅스 개요 [내부링크]

임베디드 리눅스는 간단하게 스마트폰, 셋톱 박스, TV, 라우터 등 부터 크게는 산업용 장치, 의료 감시 ...

[Embedded Linux] 툴체인 [내부링크]

툴체인(toolchain)이란? 소스 코드를 타겟(target) 장치에서 실행할 수 있는 실행 파일로, 컴파일러, 링커,...

[Linux] VMware 다운로드 [내부링크]

https://www.vmware.com/ VMware는 위 주소에서 다운 받을 수 있다. VMware player 다운로드 링크 : ht...

[Linux] VMware 설정 [내부링크]

VMware 실행 후 우측 하단 Edit virtual machine settings 아이콘 클릭 좌측 Device - Memory 탭에서 ...

[Linux] 가상 Ubuntu 다운로드 [내부링크]

링크 : https://ubuntu.com/download/desktop 우분투 홈페이지에서 Ubuntu iso 파일 다운로드 Desktop, ...

[OpenCV] 영상의 산술 연산 방법 [내부링크]

OpenCV에서 영상은 일종의 2차원 행렬이기 때문에 산술 연산이나 논리 연산을 적용할 수 있다. 2개의 영...

[OpenCV] 영상의 논리 연산 방법 [내부링크]

OpenCV에서 영상의 논리 연산(logical operation)이란 픽셀 값을 2진수로 표현하여 각 비트 단위 논리 ...

[OpenCV] 필터링 개념과 filter2D함수 [내부링크]

영상 처리에서 필터링(filtering)이란 원하는 정보만 통과시키고 원하지 않는 정보는 걸러 내는 작업을 뜻...

[OpenCV] 블러링 기법과 가우시안 필터 [내부링크]

블러링 기법 블러링(bluring)이란 마치 초점이 맞지 않은 사진처럼 영상을 부드럽게 만드는 필터링 기법이...

[OpenCV] 샤프닝 [내부링크]

샤프닝(sharpening)이란 블러링과 반대되는 개념으로, 초점이 잘 맞은 사진처럼 사물의 윤곽이 뚜렷하고 선...

[OpenCV] 잡음 제거 필터링 [내부링크]

영상 처리 관점에서 잡음(noise)란 원본 신호에 추가된 원치 않은 신호를 뜻한다. 영상에서 잡음은 주로 영...

[Embedded Linux] 부트로더 [내부링크]

부트로더란(boot loader) 부트로더란 장치에 생명을 불어넣고 부트 절차를 시작하는 것이다. 즉, 부트로더...

[OpenCV] 어파인 변환 [내부링크]

어파인 변환의 개념 어파인 변환(affine transformation)이란 영상의 평행 이동, 확대 및 축소, 회전 등의 ...

[C] 문자열 [내부링크]

문자란 C 프로그래밍에서 문자란 character 의 약자로 char 자료형을 이용해 선언하는 8비트 정수형을 말...

[OpenCV] 영상의 변환 방법 [내부링크]

영상의 이동 변환(translation transformation) 영상의 이동 변환이란 영상을 가로나 세로 방향으로 일정 ...

[OpenCV] 투시 변환 [내부링크]

영상의 투시 변환(perspective transform) 영상의 투시 변환이란 직사각형 형태의 영상을 임의의 블록 사각...

[C] 문자열 관련 라이브러리 함수 [내부링크]

C 프로그래밍에서 문자열과 관련된 다양한 라이브러리 함수들을 제공한다. #include &lt;string.h&gt; &lt...

[OpenCV] 소벨 필터 마스크 에지 검출 방법 [내부링크]

에지(edge)란 영상에서 에지(edge)란 한쪽 방향으로 픽셀 값이 급격하게 바뀌는 부분을 말한다. 즉, 어두운...

[OpenCV] 캐니 에지 검출 [내부링크]

캐니(Canny) 에지 캐니 에지 검출이란 1986년 캐니(J. Canny)가 소벨 에지 검출 방법의 단점을 해결할 ...

[OpenCV] 허프 변환 검출 [내부링크]

허프 변환(hough transform) 허프 변환 이란 영상에서 추출한 에지 정보를 이용하여 직선 또는 원을 검출하...

[OpenCV] 영상의 이진화 [내부링크]

이진화(binarization)란 영상에서의 이진화란 영상의 각 픽셀을 2개의 부류로 나누는 작업을 말한다. 예를 ...

[OpenCV] 모폴로지 [내부링크]

모폴로지(morphology)란 모폴로지란 의미를 보면 형태 또는 모양에 관한 학문을 의미한다. 형태학 이라고도...

[OpenCV] 레이블링 [내부링크]

레이블링(labeling)이란 레이블링이란 이진화한 이미지에서 형체를 알아볼 수 있도록 하기 위해서 같은 픽...

[OpenCV] 외곽선 검출 방법 [내부링크]

외곽선(contour)이란 객체의 외곽선이란 객체 영역 픽셀 중에서 배경 영역과 인접한 일련의 픽셀을 의미한...

[OpenCV] 외곽선 처리 함수 모음 [내부링크]

외곽선 처리 함수 객체의 외곽선을 검출한 후 외곽선 좌표 정보를 이용하는 여러 처리 방법들이 있다. Ope...

[OpenCV] 템플릿 매칭 [내부링크]

템플릿 매칭(template matching)이란 템플릿 매칭이란 입력 영상에서 작은 크기의 부분 영상 위치를 찾아내...

[OpenCV] 캐스케이드 분류기와 얼굴 검출 [내부링크]

캐스케이드 분류기(cascade classifier)란 캐스케이드 분류기란 얼굴 검출에 사용되는 알고리즘이다. Open...

[OpenCV] HOG 알고리즘 [내부링크]

HOG(Histogram of Oriented Gradients)란 HOG 알고리즘이란 2005년 다랄(N. Dalal)과 트릭스(B...

[OpenCV] QR 코드 검출 방법 [내부링크]

QR(Quick Response) 코드란 QR 코드란 컴퓨터가 만든 흑백 격자무늬 패턴 코드로, 정보를 나타내는 ...

[Python] 파이썬이란? [내부링크]

파이썬(Python)의 개요 파이썬이란 1990년 암스테르담의 귀도 반 로섬(Guido Van Rosadd)이란 네덜란드...

[OpenCV] 도형 그리기 [내부링크]

OpenCV 에선 사각형, 원, 다각형 등 도형에 관한 여러 가지 함수들을 제공한다. rectangle(); rectangle...

[OpenCV] 직선 그리기 [내부링크]

그리기 함수는 영상 위에 직선을 그리는 line() 함수가 있다. line() 함수는 cv 네임스페이스 안에 선언되...

[OpenCV] VideoWriter 클래스 [내부링크]

VideoWriter 클래스는 OpenCV에서 동영상 파일을 생성하고 프레임을 저장하기 위해서 사용되는 클래스...

[자료구조] 스택 [내부링크]

스택(stack)이란? 데이터를 일시적으로 저장하기 위해 사용하는 자료구조이다. 스택의 데이터 입출력 구조...

[OpenCV] VideoCapture 클래스 [내부링크]

VideoCapture 클래스란? 카메라 또는 동영상 파일로부터 정지 영상 프레임을 받아올 수 있는 클래스이다....

[OpenCV] InputArray, OutputArray 클래스 [내부링크]

InputArray 와 OutputArray 클래스는 OpenCV 함수 인자로 자주 사용된다. InputArray 클래스는 주...

[OpenCV] Scalar 클래스 [내부링크]

OpenCV 에서 Mat 클래스 다음으로 자주 사용되는 클래스가 Scalar 클래스이다. Scalar 클래스는 영상...

[OpenCV] Vec 클래스 [내부링크]

Vec 클래스란? 작은 개수의 원소로 구성된 벡터를 표현하는 템플릿 클래스이다. Vec 클래스는 OpenCV ...

[OpenCV] Mat 클래스의 크기 및 타입 변환 함수 [내부링크]

Mat 클래스의 크기 나 타입을 변환시키는 멤버 함수가 있다. Mat::convertTo() Mat::convertTo() 함수...

[OpenCV] Mat 클래스의 픽셀 접근 방법 [내부링크]

OpenCV 에서 제공하는 픽셀(원소) 접근 방법은 여러 가지가 있다. Mat::at(); Mat::at() 함수는 보통 ...

[OpenCV] Mat 클래스 ROI 추출 함수 [내부링크]

ROI(Region Of Interset)이란 이미지(영상) 에서 내가 원하는 관심 영역을 말한다. Mat 클래스로 정...

[STM32] UART, USART [내부링크]

UART(Universal Asychronous Receiver/Transmitter)란 데이터를 직렬, 또는 병렬로 변환시켜주는 ...

[STM32] DAC [내부링크]

DAC(Digital Analog Convertor)란 이름 그대로 디지털을 아날로그로 변환하는 과정이다. 쉽게 생각해...

[OpenCV] Mat 객체 생성과 초기화 함수 [내부링크]

Mat 클래스를 이용하여 객체의 생성과 초기화 방법은 여러가지 방법이 있다. Mat 클래스의 객체 생성 방...

[OpenCV] Mat 클래스의 자료형 [내부링크]

OpenCV에서 Mat 클래스의 여러 자료형의 원소를 가질 수 있으며, 원소는 하나의 값을 가질 수도 있고, ...

[OpenCV] Mat 클래스 [내부링크]

OpenCV에서 가장 많이 사용하는 클래스는 행렬을 나타내는 Mat 클래스이다. 그러므로 OpenCV 라이브...

[Linux] 저수준 파일 입출력 함수 [내부링크]

유닉스에서는 디렉터리나 디바이스들도 파일로 취급되기 때문에 파일 처리에 대한 기본 지식이 중요하다. ...

[Linux] 시스템의 기본 구조 [내부링크]

리눅스에서 커널은 하드웨어를 효율적으로 관리하고 사용자에게 보다 편리한 인터페이스를 제공해준다. 또...

[OpenCV] String 클래스 [내부링크]

많은 프로그램에서 그렇듯 OpenCV에서도 문자열을 다루는 경우가 많다. OpenCV 에서는 영상 출력 창...

[OpenCV] Range 클래스 [내부링크]

Range 클래스란 범위 또는 구간을 표현하는 클래스이다. Range 클래스는 start 와 end를 멤버 변수로 갖...

[OpenCV] RotatedRect 클래스 [내부링크]

RotatedRect 클래스란 회전된 사각형을 표현하는 클래스이다. 멤버변수로 center, size, angle을 가진다....

[OpenCV] Rect_ 클래스 [내부링크]

Rect_ 클래스 사각형의 위치와 크기 정보를 표현할 때 사용한다. 사각형의 좌측 상단 점의 좌표를 나타내...

[OpenCV] Size_ 클래스 [내부링크]

Size_ 클래스는 영상 또는 사각형 영역의 크기를 표현할 때 사용한다. Size_ 클래스는 사각형 영역의 가...

[OpenCV] Point_ 클래스 [내부링크]

Point_클래스 2차원 평면 위에 있는 점의 좌표를 표현하는 템플릿이다. 2차원 좌표를 나타내는 x와 y라는 ...

[OpenCV] 함수 모음 [내부링크]

OpenCV 함수 원형 모음집 OpenCV의 함수들은 namesapce cv에 정의되어 있다. 그래서 실질적인 함수는...

[OpenCV] Visual Studio - OpenCV 환경 설정 [내부링크]

Visual Studio에서 OpenCV를 사용하기 위해서 Debug와 Release 항목은 각각의 설정을 해주어야 한다...

[C] 이진 검색 알고리즘 [내부링크]

이진 검색(Binary Search)이란 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘이...

[C] 선형 검색 알고리즘 [내부링크]

검색 알고리즘이란? 데이터 집합에서 원하는 값을 가진 요소를 찾아내는 것을 말한다. 선형 검색(linear se...

[C] 다차원 배열 [내부링크]

다차원 배열(Multidimensional Array)이란 배열의 요소가 단일 자료형으로 이루어진 것이 아닌 2차원 이...

[C] 배열 요소 반전 알고리즘 [내부링크]

배열 요소를 역순으로 정렬하는 알고리즘 배열a가 있다. 배열a의 요소는 7가지이다. 배열a의 요소 값은 순...

Qt의 개요 [내부링크]

Qt란 1996년 초 노르웨이의 트롤테크(Trolltech)에서 발표한 위젯 라이브러리이다. 1991년부터 테롤테크...

[STM32] ADC [내부링크]

ADC(Analog Digital Converter)란 뜻 그대로 아날로그를 디지털 컨버터로 변환하는 과정이다. 외부에...

[OpenCV] 주요 모듈 [내부링크]

OpenCV 모듈 OpenCV 라이브러리는 다수의 모듈(module)로 구성되어 있다. 모듈은 OpenCV에서 제공...

[OpenCV] OpenCV란 [내부링크]

OpenCV(Open source Computer Vision)란 인텔에서 개발한 이미지 처리를 위한 라이브러리로, 주로 실...

[C] 동적 메모리 할당 [내부링크]

동적 메모리(Dynamic Memory Allocation)는 필요에 따라 크기를 늘리거나 줄여야 할 필요가 있을 때 사...

[STM32] Timer [내부링크]

타이머는 대표적으로 4가지가 있다. 대표적인 타이머 범용(General-Purpose) 타이머 출력 비교, 원펄스 ...

Qt Creator 기본 환경 [내부링크]

Qt란 컴퓨터 프로그래밍에서 GUI 개발에 널리 쓰이는 크로스 플랫폼 프레임워크이다. 임베디드, 리눅스...

[STM32] GPIO 설정 구조체 및 구동 함수 [내부링크]

GPIO 설정용 구조체 GPIO 구동용 함수

[STM32] RCC 설정용 구조체 및 구동 함수 [내부링크]

RCC 설정용 구조체 RCC 초기화 및 초기화 해제 함수 NVIC, SysTick 등의 동작조건을 설정하는 ...

[STM32] HAL의 입출력 프로세스 [내부링크]

HAL의 입출력 프로세스에는 폴링, 인터럽트, DMA 3가지의 모드가 존재한다. 폴링(Polling) 모드 폴...

[STM32] HAL Driver [내부링크]

HAL(Hardware Abstraction Layer) Driver란 MCU의 주변장치를 제어하는 등의 동작은 HAL 레벨...

[C++] new와 delete [내부링크]

C++에서는 new와 delete 함수가 있다. new는 C의 malloc과 대응되는 것으로 메모리를 할당할 수 있고, de...

[C++] 참조자 [내부링크]

C++에서 for, if-else, switch, while 등등 기초적인 문법은 C와 같다. C에 없던 참조자라는 개념이 C+...

[C++] namespace [내부링크]

namepsace를 한글로 해석하면 &#x27;이름 공간&#x27;이라고 해석이 된다. namespace는 말 그대로 어떤 정의...

[C] 포인터 [내부링크]

포인터 변수란 변수의 주소를 값으로 저장하는 변수이다. 자료형 *변수이름 포인터 변수를 선언할 때는 변...

[C] 구조체 [내부링크]

구조체란 서로 다른 데이터 타입을 갖는 자료들을 동일한 이름으로 묶어놓은 것 구조체 선언 struct 구조체...

[C++] 메소드 [내부링크]

메소드(Method)의 사전적인 의미는 &#x27;방법&#x27;이다. 그런데 C++ 에서는 클래스의 멤버 함수를 메소...

[C++] 생성자와 소멸자 [내부링크]

C++에서의 클래스에는 생성자와 소멸자 라는 개념이 있다. 생성자(Constructor) : 클래스 객체가 생성될 ...

[C++] 클래스 [내부링크]

객체지향 언어는 절차지향 언어와 다르게 클래스 라는 개념이 있다. 클래스(class)란 간단하게 생각하면 구...

[Linux] vi 에디터 명령어 [내부링크]

리눅스에서 기본으로 제공하는 텍스트 에디터다. 텍스트 에디터란 문자 기반으로 파일을 생성하고 수정할 ...

[Linux] nano 편집기 명령어 [내부링크]

nano 에디터는 비교적 가볍고 사용하기 쉬운 텍스트 에디터로 vi 에디터에 비해 직관적이며 사용하기 쉽지...

[Linux] make utility [내부링크]

make란 번거롭고 복잡한 소스 코드의 빌드 작업을 자동화하는 도구이다. 프로젝트의 규모가 커지면 소스 코...

[Linux] gcc 컴파일러 [내부링크]

GCC(GNU Compiler Collection)는 GNU의 컴파일 모음이기도 하지만, gcc라고 소문자로 쓰면 컴파...

[Linux] 프로그래밍 도구와 소스 코드 빌드 과정 [내부링크]

리눅스 프로그래밍 도구 소스 코드 빌드 과정 GCC는 빌드와 프로그램 작성을 위한 여러 도구를 제공한다...

[Linux] 사용자와 권한 [내부링크]

유닉스 및 리눅스의 시스템에서는 파일에 접근하거나 사용하려면 정보 보호를 위해 먼저 권한을 획득해야 ...

[Linux] 파일 종류와 디렉터리 구조 [내부링크]

리눅스는 기본적으로 유닉스 계열의 운영체제이다. 그래서 유닉스의 많은 부분들을 이어서 사용하고 있다. ...

[C++] 함수 Template [내부링크]

함수 다중 정의 C++에서는 C와 다르게 &#x27;다중 정의&#x27; 라는 개념이 있다. 함수 이름, 변수 이름 ...

Linux의 사용 환경과 구조 [내부링크]

Linux의 시작 : 1991년 9월 17일, 핀란드 헬싱키 대학에 다니던 리누스 토발즈(Linus Benedict Torvald...