정형 / 반정형 / 비정형 데이터 분류

1. 정형 데이터 Structured   보통  RDBMS 의 고정된 필드에 저장되며 데이터 스키마를 지원한다.   RDB와 스프레드 시트가 대표적이다. 2. 반정형 데이터 Semi-structured   데이터 속성인 메타데이터를 가지며 일반적으로 스토리지에 저장되는 데이터 파일이다.   XML 형태의 데이터로 값과 형식이 다소 일관성이 없다.   HTML, XML, JSON, 웹문서, 웹로그, 센서 데이터 등이 있다. 3. 비정형 데이터 UnStructured   언어 분석이 가능한 텍스트 데이터이다.   형태와 구조가 복잡한 이미지나 동영상 같은 멀티미디어 데이터이다.   소셜 데이터, 문서, 이미지, 오디오, 비디오 등이 있다. 이상 빅데이터에서 사용하는 데이터 유형 분류이다.

Scale Up 과 Scale Out 차이점

먼저 Scale Up 은 무엇인지 알아보자 CPU 나 메모리 그리고 하드디스크 등 서버자원을 추가하여 처리능력을 향상시키는 방식을 말한다. 쉽게 말해서 그냥 서버의 하드웨어 성능을 높이는 거다. 근데 이건 어디까지나 임시방편이 아닐까 생각이 든다. 왜냐하면 서버 한대의 성능은 끝이 보이지 않을까? 일단 비용면에서는 컨트롤러나 네트워크 인프라 비용이 발생하지 않아서 장점이라고 한다는데 글쎄올씨다. 스토리지의 컨트롤러가 지원하는 한계도 있으니 이 방식으로 확장할 수 있는건 한계가 아닐까 생각이 든다. 쉽게 말해 Scale UP 은 서버 사양 높이기 이제 Scale OUT 을 알아보자 서버의 수를 증가시켜서 처리능력을 향상시킨다는 방식이다. 추가된 서버들이 하나의 시스템으로 인식 시키기 위한 별도의 네트워크 장비가 필요하며 스토리지 용량 확장성이 매우 좋다. 쉽게 말해 여러 대의 서버를 하나의 시스템으로 인식시키는 방법이다.

SKScene 에서 SKNode 를 Touch 하여 Drag 하기

Drag 한 공간을 저장하기 위한 변수를 설정 CGPoint  deltaPoint; 전역변수로 설정하였습니다 -( void )touchesMoved:( NSSet *)touches withEvent:( UIEvent *)event {     CGPoint p = [[touches anyObject ] locationInNode : self ];     [ self enumerateChildNodesWithName : @"SKNode" usingBlock :^( SKNode *node, BOOL *stop) {         if ([node containsPoint :p]) {             CGPoint currentPoint = [[touches anyObject ] locationInNode : self ];             CGPoint previousPoint = [[touches anyObject ] previousLocationInNode : self ];             deltaPoint = CGPointMake (currentPoint. x - previousPoint. x , currentPoint. y - previousPoint. y );         }             }]; } -( void )touchesEnded:( NSSet *)touches withEvent:( UIEvent *)event {     deltaPoint = CGPointZero ; } -( void ...

익스플로러에서만 소리가 안나는 경우

이미지
인터넷 익스플로러에서만 소리가 안나는 경우가 있다. 크롬 브라우저로 구동했을 때는 소리가 잘 난다. 이것 때문에 ActiveX 를 재설치를 했고 또 익스플로러 초기화도 해보았다. 하지만 결과는 같았다. 혹시 바이러스인가 하며 백신으로 정밀검사도 했다. 난감한 상황이 계속 흘러갔다. 결론부터 말하자면 웃음밖에 나오지 않는다. 볼륨믹서에서 익스플로러 소리만  작게 설정된 것이었다. 오른쪽 하단에서 볼륨믹서 열기를 클릭한다. 단, 여기서 중요한 점은 익스플로러를 실행 한 다음에 해야 한다는 것이다. 그 다음에 표시된 익스플로러의 소리 설정부분을 올려주면 된다. 이렇게 해주면 소리가 난다. 이걸 해결하기 위해 레지스터리 등을 수정하는 등...., 업데이트를 해제 하는 등...., 이런 종류의 해결책은 이 방법을 해본 후 안될 경우에 하도록 하자

[iOS] SKShapeNode 에 SKEffectNode 를 사용하여 Blur 효과 주는 방법

SKShapeNode 에 SKEffectNode 를 사용하여 Blur 효과 주는 방법 // 먼저  SKSpapeNode 를 생성한다 SKShapeNode *shape = [SKShapeNode node]; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(-50, -50, 100, 100) cornerRadius:5]; shape.path = path.CGPath; shape.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); shape.fillColor = [UIColor WhiteColor]; // 이제 SKEffectNode 를 생성한다 SKEffectNode *effect = [SKEffectNode node]; effect.ShouldEnableEffects = YES; CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"]; [filter setDefaults]; [filter setValue:@(3.5) forKey:@"inputRadius"]; effect.filter = filter; [effect addChild:shape]; [self addChild:effect]; 위와 같이 하면 Blur 가 적용된 Shape 를 볼 수 있다. 이 소스로 나머지는 활용하면 되겠다.

[iOS] CGFloat 와 Float 차이

실수를 사용할 때 보통 CGFloat 를 사용한다. 습관적으로 이걸 사용하면서도 이게 그냥 Float 이겠지.... 하면서 사용했다. 갑자기 호기심이 발동해서 찾아보았다. 32비트와 64비트에서 실수의 처리가 차이가 난다. 왜냐, 비트수의 차이로 처리할 수 있는 크기가 차이가 날 수 밖에 없다. 이에 대해 개발자가 신경을 쓰지 말고 사용할 수 있도록 해주는게 CGFloat 이다. 이것은 32비트에서는 Float 로 처리하고 64비트에서는 Double 로 처리한다. 앞으로 CGFloat 를 사용해야 겠다.

인생의 즐거움에 관하여

논어 제 1편 학이에는 즐거움이 나온다. 첫번째 배우고 때때로 익히면 이 또한 즐겁지 아니한가? 여기서 즐겁다에 '기쁠 열'자를 사용했다. 찾아보니 '기쁠 열'자의 뜻은 내면에서 솟아 올라오는 기쁨이다. 즉 혼자 느끼는 기쁨으로 볼 수 있겠다. 두번째 먼 곳에서 벗이 찾아온다면 이 또한 즐겁지 아니한가? 이때 즐겁다는 '즐거울 락'을 사용했다. '즐거울 락'은 사람간에 상호작용으로 기쁨을 느낄 때 사용한다. 즉 둘 이상이 느끼는 기쁨으로 볼 수 있다. 공자는 혼자 느끼는 기쁨을 최고로 치고 그 다음으로 둘이 느끼는 기쁨을 쳤다. 먼 곳에서 찾아온 벗에는 '벗 봉'을 사용했다. 왜 '벗 우'를 사용하지 않았을까? '벗 봉'은 뜻을 같이 하는 사이에 사용한다. 또는 한 스승 밑에서 배웠을 때도 사용한다고 한다. 즉 나이에 상관없이 마음에 맞는 사람을 중요시 했다는 것이다. 인생을 살아보니 그 말이 맞는 거 같다. 마음에 맞는 사람과 같이 있는 시간이야 말로 '즐거울 락'자를 사용할만 하지 않는가?