CS (컴퓨터 지식)

구글 같은 서비스는 어떻게 개발할까..?

성장을꿈꾸는블루 2022. 8. 8. 02:55

협업 => 글을 나눠서 쓰는 것과 같음 = >작업 하나의 크기는 보통 한 사람이 프로그래밍 언어로 정확한 처리 단계를 작성할 수 있는 정도이다.

 

이번 주제는 서비스 개발의 협업 과정..?

 

 

http://scienceon.hani.co.kr/61981

 

프로그램 단위오차 탓에..화성 궤도위성 실종사건

(4) 1999년 화성기후 관측위성(MCO)의 궤도진입 실...

scienceon.hani.co.kr

...

우리가 협업할 때에 맞출것은 맞추고 시작하는 것에 중요성..!

(깃 허브 merge할때가 떠올랐다. )

 

-컴파일러나 웹브라우저는 수십만에서 수백만 행

-대규모 시스템은 수백만 행에서 수천만 행

-안드로이드 운영체제는 1200만~1500만 행

-일번적인 스마트폰 앱 5만 행 정도

-구글은???

...

...

...

2015년 발표에 따르면 전체 코드 20억 행

 

이걸 일일히 작성하는가?

 

집을 만드는 과정으로 비유하자면

 

나무를 베어서 통나무를 만들고

찰흙을 파내서 벽돌을 만들고 하지 않는다.

 

문, 창문, 배관 설비 등 만들어진 부품을 산다. -> 만들어 놓은 것을 갔다가 쓴다.

 

이걸 프로그래밍으로 생각하면

만들어 놓은 여러 가지 구성요소를 활용

 

ex ) 윈도우 맥os용 프로그램 => 제작되어 있는 코드들을 구해서 활용

따라서 우리가 이미 있는 구성요소를 이해하고 자신만의 방식으로 이어 붙이는 것..!

 

모든 매커니즘은 유사하다

//구구단 함수
funtion gogodan(){
    for (ler i =2; i < 10; i++){
        for(let j = 1; j < 10; j++){
            console.log(i,'*',jm '=', i * j);
        }
     }
 }

함수의 이름을 쓰고 

작업을 수행하는 데 필요한 입력 데이터 값을 받는다.

또는 입력값 없이 바로 필요한 함수의 결과값을 받는다.

함수는 계산을 수행

프로그램 내에서 함수를 호출한 부분으로

계산 결과를 돌려줄 수도 있다.

이건 자바스크립트고 언어에 따라 작성 방식이 다를 뿐 기본 아이디어는 동일하다.

 

프로그램은 결국 이런 함수로 구성 요소를 필요에 따라 적절하게 조합한 것이다.

 

<개발을 복잡하게 만드는 요인>

버그

모든 프로그램에는 버그가 있다. 

버그의 어원으로 유명한 이야기: 그레이스 호퍼가 작업 주이던 기계식 컴퓨터에서 벌레를 발견했고, 호퍼는 동료들이 컴퓨터를 '디버깅' 하고 있다고 말했다고 한다. 그 벌레는 역사가 되어 박물관에 전시되어 있다.

 

버그 = 프로그램 오류 = 프로그래머 실수

즉 개발자의 실수

버그뜻 프로그래머 머릿속 최악의 버그 사례 (tistory.com)

 

버그뜻 프로그래머 머릿속 최악의 버그 사례

버그뜻 버그(Bug)는 "움직이는 벌레"란 의미입니다. 원래는 소프트웨어의 버그(오류)를 가리키는 용어였지만, 현재는 오류뿐만 아니라 프로그램이 작성자의 의도완 다르게 작동하는 원인을 총칭

codingcoding.tistory.com

 

 

급변하는 환경에 대한 대응

새로운 하드웨어 => 새로운 소프트웨어

법,요구 사항 등 이외에도 컴퓨터 기종, 툴, 프로그래밍 언어,

물리적 장치가 구식이 되면 데이터 형식이 구식이 되면

ex) 1990년대 초에 작성된 워드 파일은 최신 버전의 워드 프로그램에서 열 수 없다.

 

느낀 점: 우리는 뒤처지지 않고 따라가며 오류를 줄이며 소프트웨어 유지보수가 반드시 수행되어야 한다.