지금은 누구나 이야기하면 알 듯한 스타트업들에 관하여 알려주는 책. 그들이 어떻게 전략을 짰고 어떤 노력을 해왔는지 알수 있다.
마이리얼트립의 초기 전략과 정책으로 가이드들을 선별하는 과정, 헬로네이처의 농업 사업 시작하게된 계기가 가장 기억에 남는다.
- 안드로이드 운영체제는 자바라는 오픈소스 크로스플랫폼 언어로 만들어졌다. 다시 말해 자바로 만들어진 소프트웨어의 정보는 누구나 쉽게 볼수 있으며, 이 소프트웨어는 다른 프로그래밍 언어로 작성된 소프트웨어와 달리 어느 플랫폼에서나 동일하게 실행된다(Write once, run anywhere). 자바 언어의 이러한 특성상 안드로이드는 태생적으로 보안에 취약하다.
자바를 이용해서 소프트웨어를 만들려면 먼저 자바 언어로 소스코드를 작성해야 한다. 소스코드는 프로그래밍 언어로 사람이 작성한 테스트인데, 자바 언어를 이용하는 경우에는 프로그래머가 자바만의 법칙으로 소스코드를 작성한다. 이렇게 작성된 소스코드는 컴퓨터만 읽을수 있는 기계어와 소스코드의 중간단계인 바이트코드로 변환된다. 이 바이트코드는 자바 가상 머신, 즉 JVM을 통해 실행되는데, JVM은 바이트 코드를 운영체제나 CPU의 종류에 맞는 기계어로 번역한다. 즉, 자바로 작성된 프로그램은 자바가 설치되어 있는 컴퓨터라면 별도의 변환 과정없이 윈도우, 맥, 리눅스 등 운영체제에 상관없이 실행된다. 이렇듯 기기와 운영체제를 가리지 않기 때문에 다른 어떤 언어들보다 사용자가 많아서 해커들의 표적이 되기 쉽다. 또 바이트코드는 JVM이 해독하기 때문에 다른 프로그래밍 언어로 쓰인 기계어보다 덜 난해하고, 때문에 상대적으로 바이트코드를 소스코드로 복구 하느넋이 쉽다.
프로그래밍 언어 | 소스코드 단계 | 바이너리 단계 |
자바 | 자바 소스파일 -> 바이트 코드 -> JVM -> OS에 맞는 기계어 | |
일반 프로그래밍 언어 | OS에 맞는 소스파일 -> OS에 맞는 기계어 |
내가 소프트웨어에 관한 개념을 설명할때 위와 같이 쉽고 간결하게 설명할수 있을 정도로 공부해야 한다고 생각한다.
'책' 카테고리의 다른 글
커리어 스킬 (0) | 2020.06.24 |
---|---|
창작자들 (0) | 2020.06.23 |
나는 LINE 개발자입니다 (0) | 2020.06.22 |
Connect Everything (0) | 2020.06.22 |
쿠팡, 우리가 혁신하는 이유 coupang (0) | 2020.05.06 |