728x90
오랜 시간이 걸리는 새로운 일과 마주치면?
1. 맨손으로 힘들여 노가다를 한다.
2. 스크립트 언어를 이용해서 그 일을 자동으로 수행하는 툴을 작성한다.
3. 이미 작성되어 있는 툴을 찾기위해 여러 시간을 보낸다.
=== 잠깐동안 툴을 찾아보고 없으면 더이상 미련을 가지지 말고 간단히 스크립트 언어로 자동 수행 환경을 만들도록 하자.

새로운 툴을 발견하면?
원하는 만큼 알게될 때까지 만지작 거리지 말고 관련 문서를 정확하게 읽어보자.
읽으라고 친절히 설명서까지 만들어놨는데 쳐다보지도 않고 혼자 만지작 거리면서 모르겠다고 투정부리는 일은 하지말자.

툴에 구애받지 않는 실력을 가지는 것도 중요하지만 세상에는 툴이 엄청 많다. 똑똑한 툴을 잘 다루는 프로그래머는 더 똑똑한 프로그래머가 된다. C코드를 툴을 사용하지 않고 어셈블리어로 변환하는 사람이 있다면 정신과 상담이 필요하다.

* 어떠한 툴 들이 있는지 알아보고 어디서 구할 수 있는지 확인해보자. 지금 사용하지 않더라도 충분한 보험이 될 수 있다.

툴의 사용법
* 툴로 무엇을 할 수 있는지 알아둬라.
* 어떻게 조종하는지 배워라.
* 어떤 일에 좋은지 알아둬라. (어떤 일을 할 때 사용하면 유용한지)
* 어떤 문제점을 가지고 있는 확인하라.
* 더 많은 툴을 찾을 분명한 루트를 확보하라.
    메뉴얼, 릴리즈 노트, 온라인 지원, 툴 내부의 도움말 파일, man 페이지 등
* 새로운 버젼이 언제 나오는지 알아내라. (최신 버젼이 무조건 좋은 것은 아니다)
===== 하지만 지금 당장 할 일은 툴들의 정보를 공유하는 커뮤니티를 찾는 것일지도

소스코드 편집용 에디터를 선택할 때의 팁
* 포괄적인 문법 컬러링(여러 언어를 지원)
* 간단한 문법 체킹(강력하면 더 좋겠지만)
* 우수한 검색 / 변환 (찾기, 바꾸기 등이 앞뒤로 가능하도록)
* 키보드 매크로 기능(꽤 유용하다)
* 원하는 플랫폼에서 작동하는지(유닉스, 윈도우계열 등 작업환경에서 돌아가야 한다)

TIP 유닉스 계열에서 사용하는 소스 조작 툴
diff : 두 파일을 비교, 서로 다른 부분을 하이라이트 표시
sed : stream editor; 한줄씩 읽어서 변환하는 것을 원칙으로 하는 툴, 항목의 재정렬이나 global 검색이나 치환, 혹은 행 안에 패턴을 삽입할 때도 사용
awk : sed와 비슷한데 이건 text file을 대상으로 작업한다.
grep : 파일 내의 문자패턴을 검색
find/locate : 파일을 찾는다. 이름, 날짜, 그 밖의 기준을 가지고 검색
wc : 단어와 문자를 세는 일을 한다
sort : 원하는 정렬 기준에 맞추어 재정렬한다
paste, join, cut 등 유용한 것들 꽤 많다. 유닉스의 기본 철칙은 작은 툴들이 모여서 큰 작업을 한다는 것이다.

좋은 프로그래머
* 지루한 일을 반복하기 보다는 적절한 툴의 사용 방법을 배우려고 한다.
* 여러가지 toolchain의 모델을 알아두고, 각각을 힘들지 않게 사용할 수 있도록 한다.
* 편의를 위해 툴을 사용하지만 툴의 노예가 되진 않는다.
* 사용하는 모든 것을 교체 가능한 유용한 도구(툴)로 본다

나쁜 프로그래머
* 몇가지 툴의 사용법을 알고있지만, 모든 문제를 툴에 맞추어 생각하려고 한다.
* 새로운 툴을 배우기 위해 시간내는 것을 꺼려한다.(익숙한 것만 하려고 든다.)
* 어떤 개발환경을 사용하기 시작하면, 그것을 종교처럼 받들고 절대 다른 것의 사용을 시도하려고 들지 않는다.
* 가치있는 새로운 툴을 발견해도 자신의 툴박스에 추가하지 않는다.
728x90
728x90

에러나 예외를 일으킬 때 주의
* 청소는 했는가? - 리소스 누출(동적할당 등), 자료들의 모순상태 등을 확인. 어쩔 수 없이 제대로 청소되지 않는 상황이라면 반드시 기록을 남겨둬야 한다.
* 에러정보에 부적절한 내용을 담지 마라
* 올바른 exception을 사용 - 에러나 예외가 아닌 특이한 값을 return하지 마라. 즉 올바른 자료랑 예외상황을 섞어서 사용하지 말란 말이다.
* 정상적인 실행과정 중 절대 일어나지 말아야 할 진짜 프로그래밍 에러를 잡으려고 한다면 assertion의 사용을 고려해보라. 하지만 assertion은 완성본에 남아있으면 안된다. exception을 활용하는 것이 더 나을수도 있다.
* 사람들이 무시하지 않도록 만들어라.

일반적인 에러 체크 목록
* 함수의 모든 파라미터를 체크
* 관심 있는 실행 지점에서 불변조건(invariant)이 만족하는지 검사
* 외부에서 들어온 값은 사용하기 전에 모두 유효성 검사를 해라. 특히 파일로부터 얻어오는 자료와 사용자가 입력하는 자료는 유효성검사가 꽤 중요하다.
* 시스템 호출과 함수 호출에 있어서는 가능한 모든 호출에 대해서 리턴 상태를 체크

에러 관리하기
* 에러의 원인이 될만한 일은 피해라 - 리소스 할당 에러는 충분한 리소스를 미리 예약(pool)하면 피할 수 있다.
* 프로그램이나 루틴이 비정상적인 상황에서 어떤 동작을 할 것이 예상되는지 정하라(GIGO: Garbage In Garbage Out)
* 자신의 프로그래밍 습관을 체크 : 에러 처리 코드를 나중으로 미루지 마라.

실패 가능성이 있는 코드를 작성할 때는 에러 감지 코드와 에러 치리 코드도 함께 작성하라.

728x90
728x90
Microsoft사가 일년 전 Xbox 360에 대한 대규모 글로벌 리콜을 발표했을 당시 이 소프트웨어 업계의 거물은 이렇듯 커다란 실패를 초래하게 된 게임기 발열 문제의 정확한 원인에 대해서 철저히 함구했었다.

뜻밖에도, 최근 캘리포니아 애너하임에서 열린 ‘설계 자동화 컨퍼런스(Design Automation Conference: DAC)’에서는 그러한 사태가 그래픽 칩에서 시작되었다는 Gartner사의 리서치 부사장 겸 수석 애널리스트 Bryan Lewis 씨의 발언이 나왔다. Lewis 씨는 변화하는 ASIC 및 ASSP 환경에 대해 DAC 청중들과 토론하는 과정에서 이 같은 즉석 발언을 했다.

일년 전 Xbox 360의 리콜은 “MS측이 ASIC 벤더를 배제하려는 의도”에서 비롯된 일이라고 Lewis 씨는 말했다. “당시 MS사는 내부적으로 그래픽 칩을 설계했으며 그 과정에서 기존의 ASIC 벤더와의 관계를 끊고 TSMC사로 바로 달려갔다”고 그는 말했다.

수천 만 달러에 이르는 ASIC 설계 비용의 절감을 노리던 MS사는 그러나 결국 Xbox 360의 대대적 리콜 사태로 인해 10억 달러 이상의 대가를 지불해야 했다.

MS사는 문제 해결을 위해 이름이 밝혀지지 않은 미국의 한 ASIC 벤더를 다시 찾아가, 칩을 재설계했다고 Lewis 씨는 덧붙였다. (이전의 보고서 내용에 따르면, 이 ASIC 벤더는 현재는 AMD사로 흡수된 ATI Technologies사일 가능성이 높다)

이번 사태의 의미를 묻는 질문에 Lewis 씨는 “MS사가 애초에 그래픽 프로세서의 설계를 ASIC 벤더에게 맡겼더라면 이러한 문제를 피할 수 있었겠는가?” “아마도 그랬을 것이다. ASIC 벤더는 훨씬 낮은 전력 소비 수준의 그래픽 프로세서를 설계할 수 있었을 것”이라고 말했다.

지난 2007년 7월 애널리스트들과 가진 MS 컨퍼런스 콜 당시, MS사의 엔터테인먼트 및 디바이스 부문을 맡고 있는 Robbie Bach 씨는 Xbox 360 문제와 관련된 자세한 언급을 자제한 채 단지 “설계상의 문제”라고만 말했다. Xbox의 생산이나 조립상의 문제였는가라는 질문이 재차 쏟아지자 Bach 씨는 당시 “아니다”라고 답했다.

Bach 씨는 “파트너사들은 훌륭한 역할을 해주고 있다”면서 오히려 “이러한 도전과제는 MS가 추진하는 설계로 인해 불거진 것”이라고 덧붙였다.

몇몇 시스템 기업들이 ASIC 설계 하우스를 배제한 채 파운드리와의 직접적인 연결을 실험하고 있는 것은 사실이지만, 그렇다고 ASIC이 몰락했다는 의견은 너무 과장된 것일 수 있다. 좀 더 정확히 말하자면, “상당수의 ASSP 기업들이 대량 생산 고객사를 위한 ASIC을 설계하고 있다”고 Gartner사의 Lewis 씨는 말했다. “ASIC 시장이 사장되고 있다는 말은 어불성설이지만, ASSP 시장에는 뒤지고 있다”고 그는 말했다.

Lewis 씨는 자체의 ASIC 설계를 멈춘 세계 최대 규모의 단말기 벤더인 Nokia사에 대해서도 언급했다. Nokia사는 최근 TI사나 ST사 이외의 다양한 칩 벤더들로 IC 소싱을 열어두기 시작했다.

“시스템 OEM들은 더이상 ASIC 설계 사업을 하지 않는다”고 Lewis 씨는 말했다. 시스템 기업들은 내부의 인하우스 설계팀을 꾸려나가기에 충분한 ASIC 설계가 어려운 실정이다.

MS사가 여전히 다양한 칩을 설계하는 내부의 반도체 기술 그룹을 보유하고 있다는 지적에 대해서 Lewis 씨는 “MS가 연간 얼마나 많은 ASIC을 설계 하고 있는가? 숙련된 ASIC/ASSP 벤더들과 비교할 때 절대 많다고 할 수 없다”고 말했다.

한편, MS사는 Lewis 씨의 발언과 관련해 어떠한 논평도 하지 않았다.

===============================================================

Junko Yoshida
EE Times

ANAHEIM, Calif. - When Microsoft Corp. announced a mammoth global recall of its Xbox 360 a year ago, the software giant never disclosed the exact source of the game console's heat problem that led to the fiasco.

Now, in an unlikely venue at Design Automation Conference here, Bryan Lewis, research vice president and chief analyst at Gartner, disclosed that the problem started in a graphic chip. Lewis offered this offhand revelation while discussing the changing ASIC and ASSP landscape for his DAC audience.

The Xbox 360 recall a year ago happened because "Microsoft wanted to avoid an ASIC vendor," said Lewis. Microsoft designed the graphic chip on its own, cut a traditional ASIC vendor out of the process and went straight to Taiwan Semiconductor Manufacturing Co. Ltd., he explained.

But in the end, by going cheap─hoping to save tens of millions of dollars in ASIC design costs, Microsoft ended up paying more than $1 billion for its Xbox 360 recall.

To fix the problem, Microsoft went back to an unnamed ASIC vendor based in the United States and redesigned the chip, Lewis added. (Based on a previous report, the ASIC vendor is most likely the former ATI Technologies, now part of AMD.)

Asked the moral of the story, Lewis said: "Had Microsoft left the graphics processor design to an ASIC vendor in the first place, would they have been able to avoid this problem?

"Probably. The ASIC vendor could have been able to design a graphics processor that dissipates much less power."

During Microsoft's conference call with analysts in July 2007, Robbie Bach, head of Microsoft's Entertainment and Devices division, withheld details of the Xbox 360 problem, other than calling it a "design issue." When pressed by an analyst if it was caused by Xbox production or assembly, Microsoft's Bach said at that time, "No."

He added: "Our partners are doing good work." Rather, "the challenge" was created by "Microsoft-initiated design,"Bach said.

Although some system companies have been experimenting with direct links to foundries by cutting out the ASIC design houses, the death of ASICs may have been greatly exaggerated. More accurately, "many ASSP companies are designing ASICs for high volume customers," Gartner's Lewis said. The "ASIC market is far from dead, but it trails the ASSP market," he said.

Lewis cited Nokia, the world's largest handset vendor, which has stopped designing its own ASICs. It recently opened up its IC sourcing to various chip vendors beyond usual suspects such as Texas Instruments and STMicroelectronics.

"System OEMs have no business designing ASICs any longer," said Lewis. The reality is that system companies are finding it hard to do enough ASIC designs to keep in-house design teams employed.

When it was pointed out that Microsoft still has its own semiconductor technology group that is still designing various chips, Lewis responded, "How many ASICs per year does Microsoft design? Not many" compared to experienced ASIC/ASSIP vendors.

Microsoft did not respond to requests to comment on this story.

< Originally from 06/09/2008 >

728x90
728x90
공룡이 배수진을 쳤다.

세계 1위 휴대폰 업체 노키아가 수년 간 공들여 키워 온 모바일 운용체계(OS) ‘심비안’을 2010년 무료로 개방한다. 이 회사는 심비안의 지분을 48%에서 100%까지 늘려 아예 흡수할 계획이다. 소니에릭슨·모토로라·NTT도코모를 비롯해 삼성전자·LG전자·AT&T·보다폰·ST마이크로·텍사스인스트루먼츠 등과 공동으로 심비안 재단도 만든다. 공룡에 또다른 공룡이 뭉치고 ‘개방’이라는 카드까지 들고 나온 노키아의 전략에 세계 이동통신 시장은 경악하고 있다.

노키아의 전략은 한마디로 ‘다 주고 새로 얻겠다’는 것이다.

새 시장이란 바로 스마트폰 시장이다. 가트너에 따르면, 북미 스마트폰 시장은 730만대로 지난해 1분기보다 배 이상 증가했다. 전세계적으로는 올해 1억5000만대의 스마트폰이 풀릴 것으로 점쳐진다. 스마트폰 시장은 단순히 하드웨어 시장만은 아니다. 위치기반 서비스, 음악 및 사진 서비스 등 각종 모바일 웹 서비스들의 부가가치까지 고려해 볼때 시장은 무궁무진하다.

프로세서 성능 향상, 응용 소프트웨어 발달, 무선 네트워크 고속화 등에 힘입어 스마트폰은 컴퓨터(PC)를 대체하는 ‘넥스트 시장’으로 꼽힐 정도다. 노키아는 무궁무진한 성장 가능성을 지닌 스마트폰 시장을 얻기 위해 옥동자와 같은 심비안을 제물로 바치기로 결심한 것이다. UIQ(모토로라, 소니)’ ‘MOAP(NTT도코모)’ 등 서로 다른 심비안 인터페이스도 하나로 통합해 시너지를 모색한다는 것이다.

스마트폰 OS 시장은 그야말로 춘추전국을 방불케 한다. 구글의 안드로이드 플랫폼, 리모(LiMo)재단의 리눅스 플랫폼, 마이크로소프트(MS)의 윈도모바일에 RIM의 블랙베리와 애플의 자체 OS, 팜 OS까지 각축전을 벌인다.

모바일 플랫폼 표준화 단체인 개방형휴대전화연맹(OHA)을 출범시켜 노키아를 긴장시켰던 구글은 다시 비상이다. OHA에 가입했던 많은 업체들이 노키아의 심비안 재단에도 가입했다. 때마침 구글의 안드로이드폰 출시가 늦어질 것이라는 소식이 터져 나왔다. 안드로이드 플랫폼에 기대어 휴대폰 시장에 제대로 진출해 보고자 했던 대만업체들도 머리를 다시 굴려야 할 판이다.

MS도 고민이 깊어지기는 마찬가지다. 고품질 무료 모바일 OS 탄생으로 ‘윈도모바일’의 유료화 모델을 다시 고민해야 한다. 외신들은 스마트폰 OS 전쟁에서 심비안, 리모, 애플 등이 승리자로, 구글과 MS가 상대적인 패자가 될 가능성이 높다는 전문가의 의견을 전했다.

그렇다고 노키아의 심비안이 모바일 OS를 장악한다고 장담할 수는 없다. 삼성전자, LG전자, NTT도코모 등이 2∼3개 단체에 복수 가입한 것도 이 때문이다. 이동통신서비스 사업자들도 휴대폰 단말기업체들의 발빠른 대응에 넋놓고 있다가는 향후 먹거리를 내줄 수 있다는 위기감에 휩싸이고 있다. 스마트폰을 둘러싼 공룡들의 초특급 두뇌 작전은 이제 시작이다.

류현정기자 dreamshot@etnews.co.kr

=========================================================
안드로이드.. 꽤 기대했었는데 출시도 하기전에 강적을 만나버렸네..
그나저나 웹 브라우저만 있으면 뭐든 가능한 OS를 만들거라던 google..어째 OS시장에선 조용하다. 만약 그런 OS가 가능하다면 엄청날텐데.. ms주식을 단번에 뒤엎을지도..
728x90

+ Recent posts