기본 개념

이제부터 앱을 만들기위해서는 어느정도의 이론적인 개념이 필요합니다.

앞으로 그 개념을 배워보도록 하겠습니다.

코딩 기본 개념

  • 코드(Code)는 정보를 전달하기 위한 기호 체계입니다.
  • 상품의 코드는 상품의 정보를 알려주며, 주민등록번호는 사람에 대한 정보를 알 때 사용합니다.
  • 컴퓨터에서 코딩은 사람이 원하는 작동방식을 컴퓨터에게 시키기 위하여 만든 코드체계를 작성하는 방법입니다.
  • 컴퓨터를 만든 개발자는 여럿이 있습니다. 누가 먼저 만들었냐는 여러 이야기가 있지만, 둘 다 당시로는 막대한 돈을 필요로 했기 때문에 2차대전의 시기에 탄생하게 됩니다.(전쟁을 위해서라면 아주 큰 돈을 쓰는 인간들의 씁쓸한 단면이기도 합니다)
    • 폰 노이만 : 현재 컴퓨터의 구조를 확립했으며, 이름을 딴 폰 노이만 아키텍쳐가 현재 컴퓨터의 모든 기본 구조입니다.추가정보
    • 앨런 튜링 : 수학문제는 계산 가능한 문제와 계산 불가능한 문제로 나뉘며, 이중에서 계산 가능한 문제의 경우 하나의 계산하는 기계로 풀린다는 논문을 작성하고 이를 실제로 구현해서 독일의 이니그마 암호를 풀어낸 사람입니다(영화 이미테이션 게임의 주인공입니다). 컴퓨터는 계산하다(Compute)와 ~하는자를 뜻하는(~er)이 합성되어서 만들어진 단어입니다. 추가정보
    • 찰스 베비지 : 1800년대 사람으로서 앞 선 두 명보다 이전에 컴퓨터를 만들려고 했으나, 당시 기술과 예산의 부족으로 인해 완성하지는 못했으나 선구자로서 가치는 인정받고 있습니다. 당시는 산업혁명으로 흥하던 증기기관과 직물기(천을 짜는 기계)를 활용하였습니다. 실제 컴퓨터가 전기를 이용한 소자들이 나오고 나서 완성된 것을 보면 어떤 한 기술이 탄생하기 위해서는 혼자만으로 힘으로는 어렵고 주변 기술들도 같이 발달해야하는 것을 알수 있습니다. 추가정보

컴퓨터 기본 개념

아래의 기본 개념들은 자세히는 알 기에는 방대한 양이지만, 여기서는 일단 기본적인 개념과 용어설명정도를 하고 추후에 기회가 되면 더 자세한 설명을 하겠습니다.

  • CPU : 컴퓨터의 연산을 담당하는 뇌와 같은 존재
  • 파일 : 파일은 전원을 꺼도 유지되는 저장장치에 기록입니다. 학생들한테는 책장과 같은 존재입니다. 책장에서 책을 꺼내서 책상위에 놓고 공부하고 다시 다른 공부를 위해서는 책을 책장에 돌려놓고, 새 책을 꺼내는 것처럼 컴퓨터는 파일을 메모리에 올려서 작업을 하고 또 작업이 끝나면 다시 파일로 저장합니다.
  • 메모리 : 메모리는 현재 컴퓨터가 기억할 내용을 펼쳐놓고 일하는 작업공간과 같습니다. 메모리가 클수록 더 많은 내용을 펼쳐넣고 일할수 있습니다. 그림 파일을 열어서 그리는 동작은 메모리에서 이뤄지며 그림을 다 그리면 파일로 저장되어서 다음 사용때까지 기다리고 있다가 다시 그림을 사용할때 메모리 위에 올려놓게 됩니다.
  • 버스 : 버스는 우리가 어디를 이동할떄 타는 버스처럼 데이터들이 파일에서 메모리로 이동할 때도 타는 것도 버스라고 부릅니다. 버스는 차선의 크기에 따라서 32비트 버스, 64비트 버스등으로 부르며 현재 우리가 사용하는 아이패드의 경우 64비트 버스를 사용하고 있습니다.

코딩키즈 앱의 구성요소(App Structure)

  • 앱: 앱은 개별 프로그램으로서 이미지, 사운드와 같은 리소스와 스크립트 같은 코드의 집합체입니다.
  • 씬: 앱의 화면에 나타나는 요소들을 상황에 맞게 묶어 놓은 것입니다. 책에서 페이지와 유사합니다만, 페이지는 내용이 변하지 않지만, 씬은 그 안에서 내용이 변하는 점이 다릅니다. 게임을 예를 들면 로딩씬, 플레이 씬, 하이스코어 씬, 로그인 씬 등 기능에 맞게 여러 씬으로 구성할 수 있습니다. 씬은 각자 이름이 있고, 같은 이름을 가질 수 없습니다.
  • 액터: 액터는 씬에서 실질적으로 화면에 표시되거나 움직이면서 게임을 구성하는 요소입니다. 예를 들어 총 액터에서 총알 액터를 발사하는 식으로 구성할 수 있습니다. 액터는 이름으로 구별되며 같은 이름의 액터는 만들수 없습니다.
  • 스크립트: 씬과 액터는 각각 스크립트를 가질 수 있으며, 이부분에 이벤트에 반응하는 명령어들을 입력하므로써 실질적인 코딩을 하게 됩니다.
  • 속성: : 씬과 액터는 속성이 있는데 x,y 등의 좌표나 액터의 이름, 터치할때의 반응, 등등을 설정할 수 있습니다. 어떤 것들은 코딩으로 설정할수도 있으며, 그때 그때 편리하게 속성으로 설정하거나, 코드에서 설정할 수 있습니다.
  • 리소스: : 그림을 보여주는 이미지 파일, 소리를 내는 사운드 파일등이 있으며,

좌표(Coordinate)

위치를 표현하는 방법을 좌표라고 합니다. 코딩키즈는 2차원에서 작성되므로 좌표는 2개의 값을 가지며, 화면의 표현되는 순서를 위해서 추가적으로 z좌표를 쓸 수도 있습니다.

  • 직교 좌표계(Rectangular Coordinate System, Cartesian Coordinate System)

    • "나는 생각한다. 고로 존재한다" 라는 말로 유명한 르네 데카르트가 창시한 좌표계로서 고대기하학을 한단계 발전시킨 해석기하학의 필수요소입니다.
    • 직교 좌표계는 음수(- 값을 가지는 수)를 실제로 사용하게 해줬습니다.
    • 가로 방향은 x 값으로 표현하고, 세로 방향은 y로 표현합니다.
    • 한 점은 (x, y) 같이 x값
    • 코딩키즈에서 설정에서 2개의 직교좌표계를 지원하며 씬의 속성에서 설정 가능합니다. 기본은 컴퓨터 좌표계 입니다.

      • 컴퓨터 좌표계 : 화면의 왼쪽 위를 (0,0)으로 하며 우측으로 갈수록 x값이 증가(+) 아래쪽으로 내려갈수록 y값이 증가(+)합니다.

        • computer-coordinate
      • 수학 좌표계 : 화면의 가운데를 (0,0)으로 하며 우측으로 갈수록 x값이 증가(+)하는 것은 같으나, 아래쪽으로 갈수록 y값은 감소(-)합니다.

        • cartesian-coordinate
  • 극 좌표계

    • 속성에서 극 좌표계를 설정할 수는 없지만, 액터는 스크립트에서 극좌표계를 이용해서 이동할 수 있습니다. 극좌표계를 이용하면 직교좌표계로는 힘든 원을 그리는 운동을 손쉽게 만들 수 있습니다. 예를 들어 지구 주위를 도는 달의 움직임을 극좌표계로 만들어 볼 수 있습니다.
    • (x, y) 로 표현되는 좌표는 (r, θ) 로 표현이 되며, r은 원점에서의 반경(radius) θ(쎄타)는 각도값을 가집니다.(아래 그림참고)

      polar-coordinate

액터의 크기와 배율(Scale)

  • 액터의 크기는 처음에 주어진 이미지의 크기에 따라 결정됩니다. 만약 이미지가 100픽셀(pixel) x 200픽셀(pixel) 이라면 이 액터의 너비는 100 높이는 200 이렇게 됩니다.
  • 액터의 크기를 일시적으로 줄이거나 키울때는 배율을 사용합니다. 배율이 1배일 경우 액터는 이미지의 원래크기가 되며 2배일 경우 원래보다 가로 세로가 각각 2배씩 커지게됩니다. 0.5배일 경우 가로세로가 각각 반으로 줄어듭니다. 실제 입력할 때는 2 혹은 2.0으로 입력합니다.

  • 예를 들어보면 2배는 200%로 크기를 키우는 것이며 입력할 때는 2.0 혹은 2로 입력합니다.

숫자

  • 자연수

    • 0 보다 큰 정수
    • 자연 상태에서 0은 없다로 존재하지 않는 상태를 말함
    • 자연수에서 인간의 추상화 능력이 발달하면서 빈 자리를 뜻하는 0 개념의 도입과
    • 방향을 뜻하는 -의 개념이 도입되어서 정수로 수개념이 확장이 된 것입니다.
    • 돈이나 물건을 빌려주면 방향이 생기는데 (빌려주는 사람 -> 받는 사람) 이것이 - 개념의 시작입니다
    • 철수가 영희에게 연필 3개를 빌려주면 자연상태의 연필 3개는 그대로 변화가 없지만, 방향이 생깁니다.
    • 철수 -> 영희에게 가는 빌리는 과정을 +3이라고 표현하면
    • 철수 <- 영희에게 가는 갚는 과정을 -이라고 할 수 있습니다.
    • x방향으로 +100이란 뜻은 x축 쪽으로 우측으로 이동하는 것을 뜻하며 -100 이라는 것은 좌측으로 100 이동하는 것입니다.
  • 정수 : Integer

    • 우리가 제일 먼저 배우는 1, 2, 3, 4 등의 숫자입니다.
    • 좌표나 갯수등은 정수로 표현할 때 쓰입니다.
  • 실수 : Floating Point Number
    • 1.1 처럼 . 이 숫자 에 포함되는 숫자입니다.
    • 중간에 있는 . 이 물에 떠 있는 부표처럼 보인다고 해서 Floating(둥둥 떠있는) Point(점)라고 표현합니다.
    • 1.1 = 1 + 0.1 이며, 0.1은 1/10 (십분의 일)을 뜻합니다.
    • 분수는 프로그램에서 잘 사용되지 않고 대신 부동소수점을 이용한 실수 많이 사용합니다.
    • 주로 배율이나 시간을 설정할떄 많이 사용됩니다.
    • 예를 들어 기다리는 시간이 1초는 너무 짧고 2초는 너무 길 때 1.5초 이렇게 사용할 때 씁니다.

results matching ""

    No results matching ""