728x90

원문 : http://coolengineer.com/135 (재밌는 내용이 알차게 있는 곳인 듯)

원문내용 보기

혹시나 경로가 사라질까봐 내용만 복사해왔다.

궁금증이 생겼을 때 어떠한 방식으로 접근해서 풀어가는지 자세히 나와있다. 답만 있는 것보다 풀이과정을 보는 재미가 있다.

그리고 하나 더


728x90
728x90




이사람아.. 당신은 대체... 너무 멋진거 아냐?
다른 모든 것들도 다 대단하지만 처음 시도했던 사이버 글로브가 인상적이다.
5000$이상하던 장비를 2$의 투자로 접근할 생각을 하다니..
뜯어보고 분석하는 습관이 이 사람을 이렇게까지 발전시킨 것 같다.
다만 한가지 아쉬우면서도 감사한 점은 금전적인 욕심이 너무 없다는 것이다.
좀더 사업화해서 이용하면 세계인의 기억에 길이길이 각인될 인재임에도 불구하고
자신의 노력들을 Open source로 공개하고 자신은 연구에 매진하겠다고 하니
과학기술의 발전을 위해서는 무진장 감사한 일이고 개인으로 봐서는 안타까운 일이다.
그의 기술을 이용해서 장사를 잘하는 사람이 훨씬 더 유명해질테니 말이다.

728x90
728x90

http://www.youtube.com/watch?v=rKnDgT73v8s



구글이 공개한 program language : =go
문법이 JAVA와 아주 약간 비슷한 듯 보이지만 Python을 많이 참고하여 배꼈다.
구글이 웹과 임베디드 세계를 넘보는 만큼 이 언어는 임베디드 환경에 알맞도록 설정되어 있는 것 같다.
가장 자랑하는 것은 compile시간을 줄였다는 것이다. 큰 시스템에서는 컴파일 시간이 꽤 길기 때문에 한번에 코드를 제대로 짜지 못하는 나같은 우매한 인간은 컴파일 시간이 코딩 시간의 상당한 부분을 잡아먹게 된다.

go는 make할 때 dependency한 object(.o)파일을 참고하는 object파일에 포함시킴으로써 compile시간을 획기적으로 줄였다.
다시말해 기존 make방식은 각각의 .c코드를 .o의 어셈으로 바꾼 후 참조하는 파일이 있을 때마다 링크해나가면서 컴파일하기 때문에 시간이 오래걸린다. 한번 .o파일을 만든 후 다시 그것들을 참조하면서 다시 컴파일하는 것이다.
go는 object파일을 만들 때 참조하는 코드를 .o파일에 넣어버린다. 당연히 파일의 크기는 커지겠지만 compile시간을 줄일 수 있다. 일반적으로 개발환경에서는 메모리가 많이 있고 현대에는 메모리의 가격이 아주 싸기 때문에 메모리를 좀더 사용해서 개발시간을 단축하는 것이 훨씬 좋아보인다.

언어적 특징은 Python과 같다. 언어의 type이 없다는 것(형 변환이 자유롭다).
라이브러리에 많이 의존한다는 것.
그리고 재미있는 것은 함수포인터를 사용하기 편리하도록 만들어놨다.

함수포인터를 그냥 변수 type처럼 사용하는 언어..이것은 go가 class를 지원하지 않는 단점을 보완하기 위한 것으로 보인다. (이왕이면 class를 지원하는 ruby를 모델로 삼지 왜 OOP가 대세인 요즘 세상에 struct를 줄기차게 써가며 Python을 그대로 배꼈는지 의문이다. 아무튼) 함수(func)와 구조체(struct)를 가지고 class처럼 사용하고자 할 때 많이 쓰는 것이 함수 포인터다. class처럼 접근권한을 설정할 수 는 없지만 구조체 않에 함수를 집어넣을 수 있다는 것만으로 상당한 매력이 있으니까.

go 언어는 linux와 maxOS는 지원하지만 windows는 아직 지원하지 않는다. 이는 windows가 경쟁업체이기도 하지만 linux에서 사용하는 make명령을 그대로 사용하고 싶어서 그러는 것 같다. (여담이지만 회사에서 사용하는 개발 tool도 windows에서 돌아가지만 내부적으로는 make를 사용하고 gcc cross compiler를 이용한다.)

google이란 회사는 기술적으로 상당히 대단한 것들을 대수롭지 않게 저지르고 본다. 다른 회사들과 차별화되는 검색엔진부터, 문서도구, 웹 브라우저, 운영체제, 프로그래밍 언어까지 정말이지 무섭다.

프로그래밍 언어에 있어서 구글은 안드로이드 만으로는 허전했나 보다. 기대도 되지만 소프트웨어 엔지니어가 도대체 얼마나 많은 것을 배워야 하는건지 암담해진다.

발표당시 사용된 문서 : http://golang.org/doc/go_talk-20091030.pdf
대표 사이트 : http://golang.org/
728x90
728x90
지난 7월 7일은 아주 특별한 날이었다.

 한날한시에 내로라하는 국내외 소프트웨어 업체들이 각각 새로운 PC용 운영체제(OS)를 선보였다. 그 중 하나는 국산 미들웨어 업체로 유명한 티맥스에서 발표한 '티맥스 윈도 9'이다. 그리고 다른 하나는 세계 최고의 검색 업체인 구글이 발표한 '크롬 OS'이다. 
 

두 회사 모두 OS 상용화 경험이 없는 상태에서 새로운 제품 개발에 도전하고 있다. 그리고 MS 윈도가 장악한 PC용 OS 시장을 공략하겠다는 가시적인 목표를 가지고 있다. 그러나 이러한 공통점을 제외하면, 두 제품이 추구하는 전략은 완전히 달라 보인다. 길은 비슷하되 가는 방향이 각기 다르다.

PC vs. 네트워크(인터넷)

제품 발표 행사와 그간 공개된 정보를 간추려 보면, 티맥스 윈도 9이 추구하는 기술 목표는 명확해 보인다. 현재 전 세계적에서 가장 널리 쓰이는 PC용 OS인 MS 윈도XP를 대체하는 것이다. 티맥스 윈도 9이 MS 윈도의 UI와 Win32 기반 애플리케이션 호환성을 최대한 확보하고 오피스 소프트웨어와 웹 브라우저를 기본 제공하는 것이 바로 이를 증명한다. 
 

여기에 새로운 개념이나 기능이 더해진다는 정보는 별로 없다. 다시 말해, 티맥스 윈도 9의 목표는 데스크톱 PC 상에서 윈도XP와 MS 오피스, IE로 할 수 있는 일은 티맥스 윈도 9에서도 할 수 있게 만든다는 것이다.

그렇다면, 구글 크롬 OS는 어떨까? 아직 실체는 공개되지 않았지만, 리눅스 커널 기반으로 동작하는 새로운 윈도우 시스템 위에 크롬 브라우저를 돌리는 형태로 인터넷 지향적인 OS라는 점을 구글은 밝히고 있다. 오는 2010년 하반기 출시 예정이며, 오픈 소스 기반으로 소스 코드 역시 공개할 것임을 분명히 하고 있다. 
 

중요한 것은 크롬 OS가 PC에 얽매인 OS가 아니라는 점이다. MS 윈도와의 호환성을 제공하지 않으며 리눅스 기반이지만, 독자적인 사용자 환경을 구축할 것으로 예상된다. 즉, 기존 OS와의 호환성보다는 인터넷 활용이라는 변화하는 사용자 환경에 맞춘 새로운 OS의 개발이 바로 크롬 OS의 실체라 할 수 있다.

기존 시장 vs. 신규 시장 

MS 윈도가 지닌 UI와 애플리케이션 호환성을 그대로 이어받겠다는 목표를 가진 티맥스 윈도 9은 필연적으로 MS와의 경쟁을 피할 수 없다. 20여 년간 OS 시장에서 선두를 지켜온 MS와 직접 경쟁하는 것은 분명 힘겨운 일이다.

따라서 티맥스 윈도 9은 박대연 회장의 언급대로 개인용 시장보다는 공공시장을 노리는 방향으로 초기 마케팅이 진행될 것으로 보인다. 즉, 이미 형성되어 있는 기존 시장의 한 부분을 차지한다는 전략이다. '국산 OS'라는 명분을 내세운다면 국내 공공시장만큼은 일정한 시장 점유율 확보가 가능할 것이다. 
 

구글의 행보는 이보다 도전적이다. 기존 시장을 잠식하기보다는 신규 시장을 개척하는 방향을 선택했다. '넷북'이나 '타블렛' 같은 인터넷 기반 디바이스에서 발생하는 새로운 OS 수요에 대응하는 것이 구글 크롬 OS의 역할이다.

이미 마련되어 있는 기존 시장을 노리는 것이 아닌 만큼 매출 등 당장의 성과는 크지 않겠지만, 새로운 인터넷 기반 디바이스 시장의 성장세를 고려할 때, 보다 큰 시장을 장악할 수 있다는 잠재력을 지닌다. 게다가 구글은 인터넷 시장에서만큼은 강력한 영향력을 행사할 힘이 있다. 
 

■2등의 전략과 1등을 위한 전략

티맥스의 시장 전략은 티맥스 윈도 9이 MS 윈도XP를 대체하는 것, 즉, '대체제'를 마련하는 것이다.

대체제 확보 전략은 지금까지 우리나라 기업들이 즐겨 쓰던 전략이다. 휴대폰과 LCD TV, 자동차, 철강, 조선업이 바로 그랬다. 1등 기업과 제품을 따라잡기 위해 가격과 성능 면에서 경쟁력을 갖춘 대체제를 마련하고, 이를 시장에 공격적으로 투입해 점유율을 끌어올리는 전략이다. 전형적인 2등의 전략이지만, 안정적이고 목표가 뚜렷하다는 장점이 있다. 

 반면, 구글은 새로운 수요에 대응하는 제품을 만드는 것. 즉, '필수제'를 갖추는 전략을 구사한다. 

기존 시장에 얽매이기보다 새로운 시장에서 새로운 수요를 창출하고, 없어서는 안될 필수적인 제품으로 입지를 다진다. 이른바 1등을 위한 전략이다. 인터넷의 발달 이후 PC가 애플리케이션을 구동하고 연산 작업 결과를 토해내는 'Compute' 기능보다, 네트워크에 연결되어 정보와 자원을 교류하는 'Communication' 기능이 더 중요시된다는 점을 고려할 때 구글의 이같은 전략은 타당성이 있어 보인다.

출처 : [지디넷코리아] 2009.07.12 / PM 01:22
=====================================================================================
GNU Linux를 기반으로 한 신개념 Open Source OS. 구글이 예전부터 인터넷OS를 만든다고 하더니 곧 모습을 볼 날이 오겠구나. 요즘들어 구글이 기술력이 무섭게 크고있다.

728x90

+ Recent posts