ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PM 다마고치, 코코아가 뭐죠? API 심화, 그리고 커밋하기
    카테고리 없음 2020. 4. 16. 13:37

    PM 다마고치가 만나게 된 코코아는 마시는 코코아가 아니라 Apple 소프트웨어와 하드웨어에서 동작하는 API였습니다. 

    구글은 구글 플레이 API, 구글 플레이 개발자 API 로 보입니니다.

     

    API는 프로그램 밖에 있는 것들에 접근하기 위해 만들어진 함수와 구조체, 클래스의 집합이라고도 할 수 있는데요, API는 해당 함수나 클래스가 어떤 동작을 하는지 사양을 공개합니다. 그래서 프로그래머가 실제 함수나 클래스를 뜯어보지 않고도 프로그램을 제작할 수 있습니다. DirectX 같은 것도 사양을 갖는 대표적인 API입니다. 

     

    API가 이 클래스는 이런 역할을 하고, 이 구조체는 이럴 때 사용하고, 함수는 이렇게 동작할 것이다의 사양을 설명하고 규정하였다면 라이브러리는 단순한 함수나 클래스의 집합으로 API에서 규정된 클래스나 함수 내부(일부)도 여기에 포함될 수 있습니다. 프로그래밍을 집짓기에 비유한다면 라이브러리는 자재, 설계도, 가구가 있는데 이것을 조립하여 집을 지어서 안에 가구를 넣고 집을 완성하는 것이고, 프레임워크는 집의 뼈대가 완성되어 있는 곳에 들어가 내부 인테리어를 하는 것에 비유할 수 있다고 합니다. API와 비슷한 녀석으로 SDK가 있는데 좀 더 범위가 넓으며 라이브러리나 프레임워크를 포함하는 경우가 있습니다. 말그대로 소프트웨어 개발 도구(SDK) 입니다. 

     

    클라이언트를 통해서 서버에 생긴 변화는 commit 하기 전까지 확정되지 않는데, 서버를 최종변경(commit)을 하고 나면 다른 접속자가 보아도 동일하게 보입니다. 그런데 커밋을 여러 개 하는 경우 Git 같은 곳에서는 버전관리를 위해서 Merge가 Rebase를 합니다. 

     

    Merge 이전 (공통조상 C2)

     

     

    Master, experiment Merge 이후 C5 생성

     

    Merge 이후 새로운 C5가 커밋이 생기면서 두 개의 커밋이 합쳐져서 하나의 뿌리로 시작됩니다(NEW!). 이 때 히스토리를 보기 어렵기 때문에 Rebase를 사용합니다. 

    Master, experiment Rebase 이후 C3'로 생성

    브랜치가 사라지고 두 개의 브랜치의 base였던 C2를 기준으로 정리가 되어 있습니다. 이를 그림으로 정리한 분을 보면 

    이런 과정을 거칩니다. 

     

    가끔 디자이너와 개발자가 싸울 수 있는데, 특히 디자이너가 웹개발을 직접 할 수 없으면 디자인한 이미지가 시안대로 반영되지 않아 불만이 있을 수 있습니다. 웹에서 반영될 수 있게 하려면 일반 응용프로그램에서 하는 이미지 업로드와 달리 직접 서버단에서 업로드를 하고, 업로드를 할 때, 간단한 개발언어로 지정해야 위치, 서식이 지정됩니다. 그래서 개발서버에 업로드 된 결과물이 마음에 들지 않으면 디자이너는 디자이너대로 왜 반영이 안되어있는지 불만을 갖고, 개발자는 개발자대로 왜 애초에 직접 본인이 올리지 않는지, 반복되는 작업에 불만을 가질 수 있습니다.

     

    자 이제 여기까지 했으면 서버, 클라이언트, 업데이트 관리, API 기본에 대해서도 조금은 배운 것 같은데요, PM 다마고치가 공부에 참고한 웹사이트는 https://wedul.site/391입니다. 

Designed by Tistory.