클라우드의 충격

저자: 시로타 마코토, 제이펍, 2009.

책 느낌: 전문적인 용어 없이 편안하게 읽으면서, 어느 어느 정도 IT 관련 지식만 있으면 클라우드에 관한 대략적인 정보를 얻을 수 있다. 또한 2009년에 나온 책이기 때문에 현재 이 분야의 모습을 보면 얼마나 사람들이 예측하고 있었으며, 그 예측이 맞았는지 살펴 볼 수 기회를 제공하고 있다.

36 쪽, 그렇다면 실제로 클라우드 컴퓨팅 환경에서 이용되고 있는 서버는 어느 정도의 빈도로 고장 나고 있을까? 이점에 관해서 구글의 팰로우인 제프딘(Jelf Dean)이 2008년 5월에 샌프란 시스코에서 있었던 구글 주최의 컨퍼런스에서 대단히 흥미로운 강연을 한 적이 있다. 다음은 제프 딘의 발언 중 일부다.
“ 구글에서는 1,800대의 서버로 구성된 클러스터 컴퓨터를 하나의 단위로 해서 시스템을 유지하고 있다. 이 클러스터에서 1년간 약 1,000대의 머신에서 장애가 발생하고, 수 천건의 하드드라이브 고장이 일어난다. 한 대의 전력배분 장치가 고장나면 500~1,000대의 머신이 6시간에 걸쳐 정지한다. 20대의 랙이 고장 나면 그때마다 40~80대의 머신이 네트워크에서 사라진다. 5대의 랙이 불안정해지면 네트워크 패킷의 절반이 누락된다. 일단 클러스터의 배선을 변경하면 2일간에 걸쳐 머신의 5%에 영향을 준다. 클러스터가 오버히트할 확률은 50%, 서버의 대부분은 5분 미만으로 정지하고 복구까지는 1,2일이 걸린다.”
이 발언 첫 부분에 있듯이, 1,800대의 서버 중에 1년에 1,000대가 고장난다는 것은 1일에 평균 2.7대는 고장난다는 것이다.

Posted in Books i read | Tagged | Leave a comment

Mac OS X Terminal에 IR Black 테마로 예쁜 컬러로 바꿔보자.

요즘 한참 vi를 익히고 있습니다. 그렇다 보니 Terminal을 많이 사용하게 됩니다. 그러다가 문득 클리앙에서 부드러운직선님이 쓰신 다음과 같은 글을 보았습니다.

[Tip] 터미널 텍스트 예쁜 컬러 입히기 IR Black

원 출처를 조금 찾아보니 다음과 같았습니다.

IR_Black for OS X Lion

설치는 쉽습니다. 위의 링크에서 IR_Black.terminal 파일을 다운 받으신 다음,  그 파일을 더블 클릭하시면 다음과 같이 멋진 색을 가진 터미널을 사용할 수 있게 됩니다.

http://a3.sphotos.ak.fbcdn.net/hphotos-ak-snc7/308354_172070229546206_100002296907296_363889_1210141717_n.jpg

조금 조심할 부분이 두 가지 있습니다.

  1. 부드러운직선님이 쓰신 앞의 글처럼 ~/.bash_profile 파일을 에디터로 열거나 없으면 새로 만들어 다음과 같은 값을 넣어줘야 합니다. 첫번째 줄은 주석이기 때문에 실제로 필요한 것은 2, 3 줄입니다. 원본 링크에서는 다르게 하지만, 부드러운직선님이 하신 이 방법이 더 쉽습니다.
    		# Enabling directory and file color highlighting
    		export CLICOLOR=1
    		export LSCOLORS=ExFxCxDxBxegedabagacad
  2. vi 에서 한글이 깨지는 경우가 있습니다. 그럴 경우에는 우선 설정에서 텍스트 탭에서 서체를 한글 폰트로 설정하시고, 고급 탭에서 “비 ASCII 입력 취소”를 해체해보세요.

그러면 멋지게 터미널를 사용해보세요!

Posted in Mac | Tagged , | Leave a comment

BOOL 값을 NSDictionary 에 넣어보자.

BOOL 값과 같은 비 객체는 NSDictionary 에 넣을 수 없습니다. 그래서 다음과 같이 값을 숫자로 변신 시켜서 저장해야 합니다.  

BOOL isInReply;

NSNumber *isInReplyToNumberValue = [NSNumber numberWithBool:isInReply];

reply = [NSDictionary dictionaryWithObjectsAndKeys: reply_time, @"time", reply_id, @"iD", isInReplyToNumberValue, @"isInReply", reply_content, @"content", nil];
Posted in iOS, Mac | Tagged , | Leave a comment

Epistemology: An Anthology, 2nd Edition

드디어 2nd Edition이 나왔네요. 이제는 완벽한 논문 백화점이 되어있군요.. 상세한 내용은 다음 링크로 가보세요.

http://as.wiley.com/WileyCDA/WileyTitle/productCd-1405169664,descCd-tableOfContents.html

Part I: Skepticism:.

Introduction.

1. The Problem of the External World: Barry Stroud.

2. Proof of an External World: G. E. Moore.

3. Four Forms of Scepticism: G. E. Moore.

4. Certainty: G. E. Moore.

5. How a Pyrrhonian Skeptic Might Respond to Academic Skepticism: Peter Klein.

6. Epistemological Realism: Michael Williams.

Part II: The Structure of Knowledge and Justification:.

Introduction.

7. The Myth of the Given: Roderick M. Chisholm.

8. Does Empirical Knowledge Have a Foundation?: Wilfrid Sellars.

9. Epistemic Principles: Wilfrid Sellars.

10. Can Empirical Knowledge Have a Foundation?: Laurence BonJour.

11. A Coherence Theory of Truth and Knowledge: Donald Davidson.

12. A Foundherentist Theory of Empirical Justification: Susan Haack.

13. The Raft and the Pyramid: Ernest Sosa.

14. Human Knowledge and the Infinite Regress of Reasons: Peter Klein.

Part III: Defining Knowledge:.

Introduction.

15. Is Justified True Belief Knowledge?: Edmund Gettier.

16. Thought, Selections: Gilbert Harman.

17. The Inescapability of Gettier Problems: Linda Zagzebski.

18. A State of Mind: Timothy Williamson.

Part IV: Epistemic Closure:.

Introduction.

19. Epistemic Operators: Fred Dretske.

20. Relevant Alternatives and Deductive Closure: Gail Stine.

21. Knowledge and Skepticism: Robert Nozick.

22. How to Defeat Opposition to Moore: Ernest Sosa.

23. Are There Counterexamples to the Closure Principle?: Jonathan Vogel.

Part V: Theories of Epistemic Justification:.

Introduction.

24. Evidentialism: Richard Feldman and Earl Conee.

25. Skepticism and Rationality: Richard Foley.

26. What is Justified Belief?: Alvin I. Goldman.

27. Reliabilism Leveled: Jonathan Vogel.

28. Externalist Theories of Justification: Laurence BonJour.

29. Internalism Exposed: Alvin Goldman.

30. Externalism and Skepticism: Richard Fumerton.

31. Internalism Defended: Richard Feldman and Earl Conee.

Part VI: Virtue Epistemology and the Value of Knowledge:.

Introduction.

32. Warrant: A First Approximation: Alvin Plantinga.

33. Virtues of the Mind, Selections: Linda Zagzebski.

34. Virtues and Vices of Virtue Epistemology: John Greco.

35. Cognitive Responsibility and the Epistemic Virtues: Duncan Pritchard.

36. The Place of Truth in Epistemology: Ernest Sosa.

37. Why Should Enquiring Minds Want to Know? Meno Problems and Epistemological Axiology: Jonathan L. Kvanvig.

38. True Enough: Catherine Z. Elgin.

Part VII: Naturalized Epistemology and the A Priori:.

Introduction.

39. Epistemology Naturalized: W. V. Quine.

40. What is “Naturalized Epistemology”?: Jaegwon Kim.

41. Quine as Feminist: the Radical Import of Naturalized Epistemology: Louise M. Antony.

42. There is at Least One A Priori Truth: Hilary Putnam.

43. Revisability, Reliabilism, and A Priori Knowledge: Albert Casullo.

44. A Priori Knowledge and the Scope of Philosophy: George Bealer.

45. Normativity and Epistemic Intuitions: Jonathan M. Weinberg, Shaun Nichols, and Stephen Stich.

46. Normativity and Natural Knowledge: Hilary Kornblith.

Part VIII: Knowledge and the Pragmatic:.

Introduction.

47. Solving the Skeptical Problem: Keith DeRose.

48. Elusive Knowledge: David Lewis.

49. Contextualist Solutions to Epistemological Problems: Scepticism, Gettier, and the Lottery: Stewart Cohen.

50. Knowledge and Practical Interest, Selections: Jason Stanley.

51. Evidence, Pragmatics, and Justification: Jeremy Fantl and Matthew McGrath.

52. Sensitive Moderate Invariantism: John Hawthorne.

53. The Assessment-Sensitivity of Knowledge Attributions: John MacFarlane.

Part IX: Testimony, Memory, and Perception:.

Introduction.

54. Trust and Rationality: Judith Baker.

55. Against Gullibility: Elizabeth Fricker.

56. Content Preservation: Tyler Burge.

57. Testimonial Knowledge and Transmission: Jennifer Lackey.

58. The Problem of Memory Knowledge: Michael Huemer.

59. Criteria, Defeasibility, and Knowledge: John McDowell.

60. Knowing How to Believe With Justification” Steven L. Reynolds.

Index

Posted in 인식론, 철학 | Tagged | Leave a comment

아이폰 앱을 만들 때, 객체를 알파 값을 바꿔 투명하게 만드는 것이 좋지 않군요.

인스펙터의 다음 항목은 알파 Alpha 값인데 이 항목을 다룰 때에는 매우 신중을 기해야 한다. 알파값으로 이미지 투명도를 조정하는데 알파값 설정에 따라 이미지를 투명하게 만들어서 뒤에 있는 컨트롤이 보이는 정도를 조절할 수 있다. 1.0 보다 작은 값이면, 뷰는 투명해서 밑의 객체를 투과시키기 때문에, 애플리케이션은 투명도 계산을 위해 프로세서 사이클을 소비한다. 그러니 확실한 이유가 있지 않으면, 1.0외의 값으로 설정하지 않는 것이 좋다.

“시작하세요 아이폰 프로그래밍: iPhone SDK를 이용한 아이폰 개발”, 66쪽

Posted in iOS | Leave a comment

Strategy pattern을 Objective-C 로 만들어봤습니다.

Head First Design Patterns : 스토리가 있는 패턴 학습법을 읽고, 한번 만들어 봤습니다. 다음 글을 보고, 책에 있는 자바로 만들어진 오리로 만들어 봤습니다. 책을 더 참고하시면 더 확장하실 수 있습니다. 참고로 저는 아직까지 50, 52, 64 번째 줄이 정확히 이해가 안 됩니다. ^^;
How to create a strategy pattern in Objective-C?

//
//  main.m
//  testing
//
//  Created by Jaehwan on 11. 2. 9..
//  Copyright 2011 Wireless Air. All rights reserved.
//

#import

@protocol FlyBehavior

@required
- (void) fly;

@end

@interface FlyWithWings : NSObject
{
// ivars for A
}
@end

@implementation FlyWithWings

- (void) fly
{
NSLog(@"Fly With Wings!");
}

@end

@interface FlyNoWay : NSObject
{
// ivars for A
}
@end

@implementation FlyNoWay

- (void) fly
{
NSLog(@"Fly No Way!");
}

@end

@interface Duck : NSObject
{
 id flyBehavior;
}
@property (assign) id flyBehavior;

- (void) fly;

@end

@implementation Duck

@synthesize flyBehavior;

- (void) fly
{
[flyBehavior fly];
}

@end

int main (int argc, const char * argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello, World!");

FlyWithWings * flyWithWings = [[[FlyWithWings alloc] init] autorelease];
FlyNoWay * flyNoWay = [[[FlyNoWay alloc] init] autorelease];
Duck * context = [[[Duck alloc] init] autorelease];

[context setFlyBehavior:flyWithWings];
[context fly];
[context setFlyBehavior:flyNoWay];
[context fly];

[pool drain];
return 0;
}
Posted in iOS | Leave a comment

Gmail 계정을 OpenID로 사용해 보자!

많은 홈페이지를 쓰고 사용하는 경우 많은 아이디와 비밀번호에 때문에 고생하는 경우가 많습니다. 저같은 경우에도 제가 사용하는 블로그가 이것을 포함해서 2개이고, 관리하는 홈페이지가 1개 있습니다. 여기에 관리하는 홈페이지에 게시판을 달려고 하니 또 하나가 늘어서 4개의 아이디를 쓰면서 홈페이지들을 관리합니다. 물론 이것말고 또 여러 유명한 Site 아이디, 메일 계정 등등 한 10개 정도의 아이디를 가지고 있는 것 같습니다. 그렇다 보니 아이디와 비번을 잃어버리는 것은 다반사죠.

물론 저만 이런 문제를 가지고 있는 것을 아니었습니다. 그래서 만들어 낸 것이 바로 OpenID입니다. 우리나라에서도 이 아디디를 만들 수 있는 곳이 http://www.myid.net/입니다. 저도 여기서 아이디를 만들어서 스프링노트( springnote )라는 것을 사용할 수 있습니다. 그러나 가장 많이 사용하는 것이 google 계정인데 여기서는 OpenID를 지원하지 않고 있었죠. 그러다가 다음 링크에서 ‘Windows Live, Gmail 계정을 OpenID로 사용”이라는 글을 일고 제가 쓰는 아이디를 줄여보자하고 한참을 찾아봤습니다. 그러나 제가 생각하는 것처럼 단순한 문제가 아니었죠.

http://www.appleforum.com/mac-column/55970-애플-소식-2008-10-4주차.html

그러다가 Zkel님의 “구글 OpenID 만들기“이라는 글을 발견하고 쉽게 만들게 되었습니다. ZKel님의 글을 보시면 단번에 아실 수 있지만 정리를 한번 해보겠습니다.

  1. 우선 http://openid-provider.appspot.com/에 가서 접속하시고 로그인하면 아이디가 만들어 집니다.
  2. http://openid-provider.appspot.com/자신의 구글 계정
  3. 2번이 바로 자신의 OpenID가 됩니다. 예를 들어 자신의 아이디가 aaa 이면 OpenID는 http://openid-provider.appspot.com/aaa 가 되는 것이죠. 좀 복잡하기는 하지만, 그래도 비번은 동일하게 되니 편리하죠.
  4. 이것이 복잡하다면 깡 하나 http://myid.net/에 가서 오픈 아이디 하나 만드세요. 여기는 http://aaa.myid.net/ 이렇게 만들어 줍니다.

참고 1 : 이 글은 “Windows Live, Gmail 계정을 OpenID로 사용할 수 있다고 합니다.”라는 제목으로 썼던 토막글을 재작성한 글입니다.

참고 1 : 다음에서도 이것을 지원하는 것 같네요. http://openid.daum.net/
Posted in Misc. | Leave a comment

인터넷을 살펴보는데 유용한 프로그램들

다음은 인터넷이 뭔가 드려다 볼 때 필요한 프로그램들입니다.

  • 패킷의 흐름을 분석하는 tcpdump
  • 패킷을 분석하는 ethereal
  • 현재 시스템에서 지나가는 패킷을 종류별로 분석: iptraf

PS: http://dialektike.textcube.com/ 가 없어지는 바람에 이전한 글입니다.

Posted in Misc. | Leave a comment

Mac OS X 에서는 어떻게 MD5 체크(MD5 Check)를 할까?

여기에 가끔 오시는 분들은 이 제목을 보고 무슨 뜻인지 전혀 모를 것 같네요. 그래도 자료 정리겸 끄적거려봅니다. 단순하게 설명하자면 “MD5 Check”란 다운로드 하거나 복사한 파일이 손상없이 원본과 같은 상태인지 확인하고자 할 때 필요한 것입니다. 참고로 ‘Check’란 뜻을 사전에서 찾아보면, “사물의 상태를 검사하거나 대조함. 또는 그런 표적으로 찍는 ‘V’ 자 모양의 표.”라고 하네요. 우리가 가끔 인터넷상에서 어떤 파일을 받으려고 할 때, 그 옆에 Md5: c3ad0b16898865a5b57ae4ebb5f1c3d6 라는 복잡한 것이 적혀 있는 경우가 있습니다. 이것이 바로 그 힌트죠. 우리가 받은 프로그램이나 파일을 “MD5 Check”해서 이것과 같지 않으면 그 파일은 손상된 것이죠.

윈도우에서 사용하는 법은 eunhwak님의 “MD5 체크(MD5Check) – 설치와 사용” 이라는 글을 보시면 됩니다. 그런데 Mac OS X 에서는 어떻게 할지 궁금하더군요. 물론 구글에게 물어봤지만, 무슨 프로그램을 설치하라고 하는데, 벌로 탐탁지 않아서 좀더 찾아보니 터미널에서 처리할 수 있네요. 다음과 같이 터미널에서 작업하시면 됩니다.

md5 test.iso


이렇게 하시면, test.iso 라는 파일을 검사해서 대조할 수 있는 다음처럼 복잡한 값을 줍니다.

MD5 test.iso c3ad0b16898865a5b57ae4ebb5f1c3d6


이 값과 앞의 값을 비교하여 같은 값이면, 같은 파일이라는 것을 알 수 있게 되는 것이죠. 뭐 프로그램을 다운받아 쓸 수도 있지만, 이렇게 쉽게 해결하는데 그럴 필요가 없을 것 같네요. 만약 우리가 파일을 만들어 배포하는 경우에도 파일이 크거나 복잡한 것이면 이런 식으로 값을 만들어 확인하라고 하면 쉽게 같은 파일인지 알 수 있게 됩니다.

PS: http://dialektike.textcube.com/ 가 없어지는 바람에 이전한 글입니다.

Posted in Mac, Misc. | Tagged | Leave a comment

Is justified true belief knowledge?

Edmund L. Gettier, Is justified true belief knowledge?
From Analysis 23 (1963): p.121-p.123, Translated by 정재환 Jeahwan Chung, 곽기영 Keeyoung Koak, 2001, Updated: 2010-Jan-08

Posted in 인식론, 철학 | Leave a comment