트렌지스터는 컴퓨터의 가장 기본적인 요소이다.생물의 가장 기본적인 요소가 탄소인 것 처럼컴퓨터는 수천 수억개의 트렌지스터로 이루어져있다.전류가 흐르면 도체로 변하는 성질을 이용하여 스위치로 쓰일수 있다.트렌지스터는 1과 0으로 표현 할 수 있다.1: 전류가 흐른다.0:
컴퓨터가 수행해야 될 명령과 순서를 쓴 text 문서를 프로그램 이라고 한다. 이 때 쓰여진 언어가 바로 프로그래밍 언어이다.하지만 컴퓨터는 프로그래밍 언어로(고급언어) 쓰여진 문서를 바로 읽을 수 없기 때문에 0, 1의 형태(기계어)로 컴파일러를 이용해 변환 해줄 필
import "fmt"func main() { fmt.Println("Hello World")}var a inta = 3var a inta =5 // 데이터 타입과 대입을 따로 따로var b int = 8 // 데이터 타입과 대입을 한번에var c = 6var d =
Switch-case Switch의 값을 case의 결과와 순차적으로 비교하여 참일 경우에 해당 결과를 수행하고 빠져 나간다. ex 1) switch문의 또다른 기능으로 switch의 값을 생략 하였을 경우 defalt 값으로 true로 인식한다. ex2) >
프로그램에서의 함수는 기능들은 모아노은 것이다.모듈화: 반복작업을 하지 않게끔 해준다.분리: 함수를 호출하는 쪽과 함수의 내용을 분리 시켜준다.ex)recursive call 함수안에서 같은 함수를 호출한다. 무한히 호출 되는 함수이기 때문에 탈출하는 명령어가 반드시
배열 (Array) .1 배열이란 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 방법이다. 배열의 선언 방법 ex1) 배열의 특징 메모리 주소를 가진다. 길이(데이터 타입)x갯수 문자열(string)도 배열이다. 문자열 문자열 배열은 기본 byte배열
숫자 야구란? 두 사람이 각자 0~9 까지 3개의 숫자를 생각 한다. (생각한 숫자는 서로 알려주지 않는다.) 상대방이 내가 생각 한 숫자를 맞추기 위해 임의의 숫자를 3가지를 말한다. 이 때 만약 상대방이 말한 숫자와 내가 생각한 숫자의 자릿수와 숫자가 같다면 스트라
Garbage Collector사용하지 않는 변수를 사용하지 않는 경우 변수는 계속 메모리 공간에 남아 있게 된다. 이런 것들이 하나 둘 씩 쌓이는 것을 memory garbage라고 한다.c언어로 보았을때 일반적으로 메모리를 스택 메모리와 힙 메모리 두 가지로 구분한
배열은 메모리상으로 한덩어리로 붙어 있지만 linked list는 메모리상에서는 떨어져 있지만 연결되어 있다. 맨끝의 노드에 다음 노드를 연결하여 이어나간다. 그러기 위해선 맨끝의 노드가 먼지 알 필요가 있다.ex1)맨첫 노드부터 하나씩 따라가서 맨끝을 찾아서 추가하는
tree는 뿌리인 Root 노드가 있고 그 밑에 Child 노드 들이 있다.Child 노드의 바로 위의 노드를 Parent 노드라고 하고 상대적인 것이다.같은 단계에 있는 것 들을 Sibling 이라고 한다.제일 말단에 Child 노드를 가지지 않는 노드를 Leaf 노
map은 Key와 Value 형태로 데이터를 저장하는 형태이다. 대표적인 예로 전화 번호부가 있다.key = 이름 , value = 전화번호 라고 볼 수 있다.Dictionary나 HushTable로 불리기도 한다.배열Map을 구현 할때 배열로 하게 되면 특정 값을 찾
Thread thread = program? 스레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 멀티태스킹
멀티 thread를 원활하게 하기 위해서 go언어에서 재공하는 queue이다. channel은 정해진 크기(Fixed Sized)를 가지고 안전하다(Thread Safe) 라는 특징이 있다.선언 방법ex)ex) tread 추가channel을 이용해 공장의 컨베이어 벨트
객체 지향 중심 프로그래밍OOP는 추상적인 개념이 아닌 프로그래밍을 잘 하기 위한 기술이다.OOP이전의 프로그래밍은 순서를 중요시 하는 절차 지향 프로그래밍이다.ex) strawberry sandwitch이상태에서 딸기잼이 아닌 오렌지잼으로 바꾸다고 했을때.ex) or
과거에는 한명이 주도적으로 프로그래밍을 했지만 현재에 와서는 그 규모가 너무 커져서 혼자서는 도저히 불가능한 상황이 되었다. 그렇기 때문에 수백명의 인원이 모여서 프로그래밍을 할때 각자 맡은 부분에서 프로그래밍이 가능하게끔 조율하고 설계를 하는것이 중요하게 되었다.이러