Google Lively
구글의 브라우저 기반 3D 아바타 SNS. 또 사고 쳤구나 이놈들. 하지만, 아무리 날고 기는 구글이라도 플러그인은 깔아줘야 하는 모양이다. 헤헷.
이건 내가 만들어본 방인데, 뭐 그다지 봐줄 건 없다. 디즈니 스타일의 과장된 페이셜 애니메이션이 되는 게 마음에 든다.
구글의 브라우저 기반 3D 아바타 SNS. 또 사고 쳤구나 이놈들. 하지만, 아무리 날고 기는 구글이라도 플러그인은 깔아줘야 하는 모양이다. 헤헷.
이건 내가 만들어본 방인데, 뭐 그다지 봐줄 건 없다. 디즈니 스타일의 과장된 페이셜 애니메이션이 되는 게 마음에 든다.
이번주부터 구글 스프레드시트에다가 CBT 일정 계획을 작성중인데, 혁신적인 기능이 있어서 한번 공유해본다. (이미 다들 아실지도..)
우선 스프레드 시트를 하나 만들고 아래와 같이 헤더를 구성한다.
그다음 Form - Create Form 메뉴를 이용해서 폼을 구성해보자. HTML 표준 폼 구성요소를 모두 지원하며, 정말 손쉽게 폼을 만들어낼 수 있다.
이렇게 만든 폼은 메일로 보내거나, iframe 을 이용해서 위키나 인트라넷 등 다양한 웹페이지에 게시할 수 있다. 그러면 어떻게 될까? 사람들이 폼에 값을 입력하면, 그 값들이 자동적으로 스프레드시트에 쌓이게 된다!! 당연히 그 결과물인 스프레드 시트 역시 웹에 게시할 수 있으며, pdf 나 xls 로 내보내기를 해서 메일로 쏴 줄 수도 있다.
아쉬운 점이라면 폼에서 캘린더 스타일의 날짜 입력이 지원되지 않는다는 건데, 그래서 간트 차트 가젯을 만들기가 좀 난감해서 일단은 더미 날짜를 넣어서 만들어봤다. 어쨌든 이 정도만 되어도, 위키에서 표를 다루느라 고생하는 기획자나 디자이너들에게는 큰 선물이 아닐까. 간단한 설문 조사를 해도 되겠고, 나아가서는 표 형식의 어떤 게임 데이터도 관리할 수 있을테니 말이다.
ps. viewpath 에서는 무료 온라인 간트 차트를 지원하는 모양이다.
구글에서 나온 C++ Unit Test Framework.
대체적으로 다른 프레임워크와 유사한데 몇몇 특징적인 기능들이 눈에 띄어서 요약해본다.
Custom Failure Message : 테스트 실패시 에러 메시지를 보다 친절하게 쓸 수 있다. 아래 예제처럼 i 값을 출력할 수 있다는 점이 멋지다.
for (int i = 0; i < x.size(); ++i) {
EXPECT_EQ(x[i], y[i]) << "Vectors x and y differ at index " << i;
}
Predicate Assertions : 테스트 코드에서 함수를 호출했다가 실패하면, 파라미터로 뭘 넘겼는지를 출력해준다.
bool MutuallyPrime(int m, int n) { ... }
const int a = 3;
const int b = 4;
const int c = 10;
EXPECT_PRED2(MutuallyPrime, b, c);
.....
MutuallyPrime(b, c) is false,
where
b is 4
c is 10
Scoped Assert : 다른 함수에 테스트 코드가 들어있고, 이걸 여러 테스트에서 사용할 경우 도대체 어느 테스트에서 실패했는지를 알려주는 기능이다.
10: void Sub1(int n) {
11: EXPECT_EQ(1, Bar(n));
12: EXPECT_EQ(2, Bar(n + 1));
13: }
14:
15: TEST(FooTest, Bar) {
16: {
17: SCOPED_TRACE("A"); // This trace point will be included in
18: // every failure in this scope.
19: Sub1(1);
20: }
21: // Now it won't.
22: Sub1(9);
23: }
...
path/to/foo_test.cc:11: Failure
Value of: Bar(n)
Expected: 1
Actual: 2
Trace:
path/to/foo_test.cc:17: A
path/to/foo_test.cc:12: Failure
Value of: Bar(n + 1)
Expected: 2
Actual: 3
--gtest_break_on_failure : 테스트를 디버거로 실행할 경우, 주요 에러 발생시 바로 해당 라인에서 브레이크가 걸리게해주는 커맨드라인 명령. 이 기능이면 테스트 실행 -> 실패 발견 -> 해당 라인에 브레이크 걸기 -> 디버거 붙여서 재시작 이라는 귀찮은 작업에서 해방된다.
--gtest_filter : 특정 테스트만 실행하고 싶을 때, 기존 코드를 건드리지 않고 커맨드라인에서 필터링을 할 수 있다. 이거야말로 대박 기능인 듯!
--gtest_filter=FooTest. : FooTest 하위 테스트를 모두 실행
--gtest_filter=Null:Constructor : 이름에 "Null" 또는 "Constructor"를 포함한 모든 테스트를 실행
--gtest_filter=-DeathTest. : DeathTest 가 아닌 모든 테스트를 실행
--gtest_filter=FooTest.-FooTest.Bar : FooTest 중에서 FooTest.Bar를 제외한 나머지 테스트를 실행
--gtest_repeat : 테스트를 N번 실행할 수 있다. --gtest_filter 와 함께 쓰면 특정 테스트만 반복해서 수행할 수 있다.
DISABLED_ : 임시로 테스트를 실행하지 않으려면 코멘트로 막는 대신 이름 앞에다가 DISABLED_ 를 붙이면 된다.
대충 기능만 훑어봤는데도 이 넘들이 진짜 테스트에서 귀찮은 게 무엇인지를 잘 알고 만들었다는 느낌이 든다. 멋진 놈들이란 말이야
구글 트렌드는 구글 검색의 패턴 및 통계를 보여주는 서비스다. 이번에 뭔가 리뉴얼되었다길래 한번 구경해봤다.
가장 먼저 요즘 사내 이슈가 되고 있는 오픈 베타 서비스 시기는 언제로 하면 좋을까? 를 알아보기 위해 baseball 을 검색해봤다.
사실 정답은 MLB 일정과 맞춰야 한다는 뻔한 놈인데, 이건 baseball + MLB로 검색해보면 알 수 있다. 여기서 연관어의 중요성을 알 수 있다. :)
baseball | 1.00 |
mlb | 0.30 |
즉 무조건 내년 3월에는 오픈을 해야 한다는 소리가 된다. ㅠㅠ 뭐 이미 각오하고 있는 바이므로 이번엔 다른 걸 검색해보자. 미국에 야구 팬은 많은데 그 중에서 얼마나 많은 사람들이 야구 게임을 즐길까? 라는 고전적인 의문의 답을 찾아보고 싶었지만, 특별히 떠오르는 검색어가 없으므로 online baseball 과 fantasy baseball 을 찾아봤다.
online baseball | 1.00 |
online baseball game | 0.10 |
fantasy baseball | 3.50 |
역시나 아직까지 미국 온라인 야구 시장은 실제 데이터를 기본으로 하는 환타지 야구에 비하면 10-20% 밖에 안되는 모양이다. (그리고 환타지 야구 역시 MLB 일정을 따라가고 있는 걸 확인할 수 있다.)
이번엔 우리의 적(이라고 쓰고 큰형님이라고 읽는다)인 MLB 시리즈들을 살펴보자.
mlb 08 | 1.00 |
mlb 07 | 1.20 |
mlb the show | 2.80 |
웬지 매년 출시할 때마다 인기가 높아진다는 느낌이 든다. 아마도 판매량이 가장 높은 시기는 1사분기이리라. 웬지 씁쓸하니 이번엔 우리 게임에 대해서 한번 알아볼까 한다.
real baseball | 1.00 |
cal ripken | 3.15 |
online baseball game | 0.95 |
우리 게임이 Ultimate baseball Online 에서 Cal Ripken's Real Baseball로 이름을 바꾼게 올초였는데, 검색 패턴은 립켄 횽아랑 비슷한 것 같다. 더이상 자세한 설명은 구차하므로 생략한다.
다른 게임들은 어떨까? 팡야를 살펴보면 아마도 태국 > 인도네시아 > 필리핀 순으로 동남아에서 인기를 끄는 모양이다. 그런데 올초 Wii용 팡야가 출시되었음에도 검색 빈도가 점점 시들해지고 있다. ^^;;;
헬게이트 런던, 헉슬리, 길드워를 검색해보면 웬지 안타깝다.
hellgate london | 1.00 |
guild war | 0.15 |
huxley | 0.35 |
이 외에도 Wii, 엑박, PS3 등 3대 콘솔들을 검색해보면 웬지 크리스마스때 장사가 잘 되는 모양이다.
wii | 1.00 |
xbox 360 | 0.52 |
ps3 | 0.70 |
회사 법인 카드를 빌려서 냉큼 google apps를 신청했다. 비용은 고작 도메인값 $10/year.
예전에 이 서비스가 처음 나왔을 때 .com 이름으로 하려다가 whois.co.kr에서 CName 레코드 편집을 지원해주지 않아서 포기했다가, N모사에서 google apps로 거의 마이그레이션했다는 이야기를 듣고 용기를 내서, 오늘자로 .net 이름을 구글에서 바로 등록해버렸다.
우리 회사의 경우 미국 본사랑 한국 지사 2군데에서 동시 접근 가능한 솔루션이 필요한데, 본사에다 설치하면 우리는 방화벽 + VPN 을 통해서 접근해야 해서 속도도 느리고, 또 주기적으로 시스템 보안 체크도 해줘야 하는 부담이 있다. (패스워드 1234로 쓰는 사람 정말 싫다..) 반대로 우리 인트라넷을 본사의 누군가가 접근하도록 포트를 열어주는 일도 생각보다 피곤한 일이다. 이걸 구글로 옮기면 속도도 빠르고 보안 관리도 신경쓰지 않아도 되니, 쿠웨이트에서 발생한 ISP 캐시 문제 같은 일만 안생기면 진짜 편할텐데... 회사 자산을 외부에 둔다는 걸 설득하는 일이 만만치 않아서 포기하고 있는 상태다.
게다가, 일전에 37signals 의 basecamp 서비스를 전사적으로 도입했다가 특유의 느린 반응 속도 때문에, 서서히 용도폐기되어 가는 걸 직접 겪었기 때문에, 이번에는 큰 욕심 없이 우리 회사 DBA랑 단둘이서 google docs랑 캘린더 위주로 테스트 삼아 써볼 계획이다. 쓰다가 효용성을 깨닫게 되면 어떻게든 누군가에게 전파되려니 하고 '긍정적'으로 생각중이다. 흘흘.