| 맥에서 스팀 게임, 어떻게 지워야 할까?


  보통, 맥 OS 환경에서는 게임을 하는 것이 쉽지 않죠. 그래서 많은 맥 게이머들이 '스팀'을 통해서 게임을 많이 하는 것으로 알려져 있는데요. 게임에만 너무 집중하다 보면, 생활 패턴을 잃을 수가 있겠죠? 결국 재밌게 하던 게임을 맥에서 지워버리겠다고 다짐을 하게 됩니다... 그런데, 맥에서 스팀 겡미 앱을 어떻게 지우지? 그냥 게임 앱을 지우기만 하면 맥의 남은 용량에 큰 영향을 끼치지 못합니다. 그리고, 제대로 지워진 것도 아니죠. 


  제.대.로. 맥에서 스팀 게임 앱을 지우려면 다음과 같이 해야 합니다.



1. '스팀' 앱을 킵니다.


2. '스팀' 앱 안에서, '라이브러리'에 들어가신 후, 지우고자 하는 게임에 마우스 '오른쪽 버튼' 클릭합니다.(Control + 클릭)


3. 오른쪽 클릭 팝업창에서 '로컬 컨텐츠 삭제'를 클릭합니다. (영어의 경우, "Delete Local Contents"이겠죠? :) )


4. 끝.



  간단하죠? 자, 여태까지 게임에 너무 몰두한 나머지 해야 할 일들을 잊고 있었다구요? 이제 게임 앱을 지우고, 원래 해야 할 일로 돌아갑시다! 



Programming world: Pointer in C++



| 보안 이슈와 포인터의 남용 개요


  모든 어플리케이션에서 보안과 신뢰성은 주요한 관심 요소이다. 잦은 비도로 나타나는 보안 사고와 어플리케이션의 비정상 동작 떄문에 보안과 신뢰성에 대한 관심이 더욱 강화되고 있다. 애플리케이션의 보안에 대한 책임은 대부분 그 개발자에게 있다. 


  C로 안전한 어플리케이션을 작성하는 것은 언어에 고유한 몇 가지 속성 떄문에 쉽지 않다. 예를 들어, C는 프로그래머가 배열의 영역을 넘어선 영역에 데이터를 기록하는 것을 막지 않는다. 이러한 접근은 메모리가 손상되어 보안에 잠재적인 취약점이 될 수 있다. 또한, 포인터의 부적절한 사용은 종종 많은 보안 문제의 근본적인 원인이 되기도 한다.


  어플리케이션이 예상하지 못한 방식으로 동작한다고 해도 최소한 인가되지 않은(unauthorized) 접근이 발생하지 않는다는 점에서 보면, 보안 문제로 보이지 않을 수도 있다. 하지만 이런 비정상적인 동작을 이용해서 애플리케이션의 서비스를 거부하여 침해를 당할 수도 있다. 


  CERT(http://www.cert.org/)에서는 C와 다른 언어에서의 보안 이슈를 포괄적으로 다루고 있다. 이 조직은 인터넷 보안 취약점에 대해 연구한다. 포인터의 사용에 관한 보안 이슈에 대해 집중해 살펴보도록 하자. CERT 조직의 보안 이슈 중 많은 부분이 포인터의 부적절한 사용에 기인한다. 포인터와 그 적절한 사용 방법에 대한 이해는 안전하고 신뢰할 수 있는 애플리케이션을 개발하는 데 매우 중요한 역할을 한다. 


  운영체제의 보안은 많이 개선됐다. 그런 개선 사항 중의 일부는 메모리의 사용 방법에 반영되었다. 일반적으로 운영체제의 개선 사항은 개발자의 통제 범위를 벗어나 있긴 하지만 애플리케이션에도 영향을 준다. 이런 이슈를 이해해야만 애플리케이션의 동작에 대해 설명할 수 있다. 주소 영역 배치 랜덤화(Address Space Layout Randomization)와 데이터 실행 방지(Data Execution Prevention)에 대해 집중적으로 살펴보고자 한다.


  주소 영역 배치 랜덤화(ASLR) 절차는 메모리 내 애플리케이션의 데이터 영역을 랜덤하게 배치한다. 데이터 영역은 코드, 스택, 힙을 포함한다. 이 영역의 배치를 랜덤화하면 공격자가 메모리가 어디에 위치할지 예측하기 어려우므로 데이터 영역에 접근하기 힘들다. return-to-libc같은 특정한 종류의 공격은 스택 일부를 덮어쓴 후, 제어를 이 영역으로 넘긴다. 이 영역은 보통 공유 C 라이브러리인 libc이다. 스택과 libc의 위치가 알려지지 않는다면, 이런 공격은 성공하기 어려울 것이다.


  데이터 실행 방지(DEP) 기법은 코드가 메모리의 실행 불가능한 영역에 있을 때 실행을 차단한다. 몇몇 종류의 공격은 메모리의 영역을 악성 코드로 덮어쓴 후, 제어를 이 영역으로 넘긴다. 이 코드 영역이 스택이나 힙처럼 실행 불가능한 영역일 경우 실행되지 않는다. 이 기법은 하드웨어나 소프트웨어로 구현할 수 있다.


앞으로 다음과 같은 몇 가지 측면에서 보안 이슈에 대해 알아보도록 하겠다. 


* 포인터의 선언과 초기화

* 부적절한 포인터 사용

* 메모리 해제 문제



※ 'Understanding and Using C Pointers' 책에서 일부 내용을 따온 것입니다.




리얼포스를 구매한 후 잘 쓰고 있긴 한데.. 일단 맥용 배열도 아니구..(알트랑 윈도우 바꾸면 그냥 쓰던대로 써도 되지만 말입니다..ㅎㅎ 간지가 잘 안나죠...) 왠지 제 손맛에 너무 심심해서..(확실히 좋은 거 같긴 한데... 뭔가 심심하네요 ㅠㅠ) 랩탑 프로 녀석이 맥을 쓰는 사람으로서 괜찮은 기계식 키보드이겠다... 싶어서 중고 구매를 계속 노리고 있던 중이었는데요..


키보드 매냐에서도 매물은 역대(??) 3개 정도 밖에 보이지 않고 ㅠ

중고나라에서도 몇몇 매물들이 있었으나 죄다 완전 옛날... 

옛날 중고 가격이 지금 신품 가격보다 더 비싼 때... 수준의 옛날 글밖에 보이지 않네요 ㅎㅎ


그냥 신품으로 사버렸습니다... 이번에 학업을 좀 열심히 한 탓에 장학금을 많이 받았는데, 

부모님께 졸라서 결국 구입하게 되었네요...


아무튼 좋은 선택이길 빕니다... :)



 








| 새로운 변화, iOS 8


  이번에 나오게 될 아이폰 (아이폰 6) 에 탑재될 운영체제인 iOS 8 컨셉에서 새로운 사용자 경험을 만끽할 수 있는 혁신적인 UI와 기능들이 추가되었다고 합니다. 이전 운영체제 버전인 iOS 7은 '멀티 태스킹'에서 능력이 떨어진다는 비판을 많이 받았지만, 더이상 이와 같은 이유로는 iOS를 비판할 수 없을 정도로 '멀티 태스킹' 기능에 중점을 두어 개발이 되었다고 합니다. 


  새로 공개된 차세대 운영체제 iOS 8은 새로운 컨트롤 센터(제어 센터)와 결합된 멀티 태스킹 보기를 더욱 더 직관적으로 만든 것 같습니다. 







| iOS 8의 Mission Control (미션 컨트롤)


  기존 맥 OS X에서 불리던 '미션 컨트롤'기능을 새롭게 추가하여 멀티 태스킹 보기를 더욱 더 수려하게 만들었습니다. 비록, 데스크탑과 완전 똑같은 모습을 구현할 수 없는게 사실이지만, 그럼에도 불구하고 iOS에 어울리도록 잘 만든 기능인 것 같습니다. 확실하게 멀티 태스킹 능력이 더 향상된 것이 보이네요.


 


※ 이 컨셉은 기정사실이 아닙니다... 아마 iOS 개발 및 디자인 건에 있어서 화두가 되고 있는 UI 컨셉인거 같습니다. 






| 맥북에 괜찮은 마우스 어디 없을까?


  맥북에 괜찮은 마우스 어디 없을까? 이런 생각으로 시작된 마우스 찾기... 저는 매직마우스는 예전에 몇 번 써봐서 이왕이면 새로운 것에 도전해보고자 매직마우스는 사지 않기로 했습니다. 그러면 애플 브랜드가 아닌 마우스를 사야 할텐데... 어떤 브랜드의 마우스를 사야 할까?? 이런 생각을 가지고 있었는데, 결국 저는 '로지텍' 회사를 선택하기로 했습니다. 물론 로지텍 회사가 몇몇 제품들에 대해서는 욕을 먹고 있는 경우도 많은데요. 대부분 맥에서 쓸 마우스로 애플의 매직 마우스가 아닌 다른 마우스를 써야 한다면 거의 무조건 '로지텍' 마우스를 선택하시더라구요~


  그래서 저도... 로지텍 마우스로 선택하였습니다!


  문제는... 로지텍 마우스에서도 Mac OS X을 지원하는 제품들이 정말 많더라는 것입니다... 저는 '무선 마우스'여야 한다는 점과 여러 가지 기능 키가 '커스터마이징' 될 수 있어야 한다는 점이 중요했습니다. (Mac OS X의 수려한 제스처를 마우스에서도 사용해야 했거든요 :) ) 엄청난 고민과 연구(?) 끝에 저는 두 가지 모델로 선택폭을 줄였습니다... m705 vs m557 둘 중에 선택하겠다고 다짐을 한 것이죠. 





| m705 vs m557, 둘 중에 누가 더 좋을까?



 


  m705무한 스크롤이 가능하다는 점과 사람 손에 특화된 디자인이 장점으로 있는 반면 단점은 USB 리시버를 사용해야 하고, 가격이 비교적 더 비싸다는 점이었습니다. 

● m557가격이 더 저렴하고 더 앙증맞은 디자인을 갖추고 있으며 블루투스 기능을 사용하여 리시버를 쓸 필요가 없다는 장점을 가지고 있으나, 성인 남자에게 너무 작지 않느냐하는 점이 단점으로 떠올랐습니다.


  저는 리시버의 유무는 크게 신경쓰지 않았지만, 결국 m557로 선택하게 되었습니다. 왜냐하면, Mac OS X에서 사용할 것이므로 무한 스크롤 기능이 오히려 역효과가 날 것(Mac OS X에서는 마우스 가속 기능이 있으므로 무한 스크롤을 쓰다보면 걷잡을 수 없는 무한 스크롤 속도가 나올 것이므로 더 안 좋을 것이다.)과 그리고 가격 차이가 맘에 걸렸고, 왠지 맥과 더 어울리는 앙증맞은 마우스를 써보고 싶다는 생각 때문이었습니다.







| m557, 맥북에서 활용 가능한가?


  m557은 맥북에서 활용이 쉽게 잘될까요? 솔직히 말해서 이게 저의 제일 큰 화두이겠죠. 맥에서 마우스를 잘 쓰기 위해서는 마우스 제조회사 자체의 소프트웨어가 맥을 지원해주고, 그로 인해 마우스 감도에 대한 불편함이나, Mac OS 의 수려한 제스처 기능을 손쉽게 접근할 수 있는지가 중요한 것인데, m557은 이 모든 것을 만족해줍니다. 


  아시다시피, 로지텍의 지원 소프트웨어를 설치하지 않으시면 마우스 감도도 엉망, 거기다가 마우스 특별한 버튼들(윈도우 버튼이라던지... 앞으로/뒤로 가기 제스처 라던지..)이 사용조차 안됩니다! 반드시 로지텍 지원 소프트웨어를 까세요! 아래에 로지텍 m557 지원 소프트웨어 다운로드 링크를 걸어드렸습니다. :)


► http://www.logitech.com/ko-kr/support/bluetooth-mouse-m557?section=downloads&bit=&osid=36


  그리고, 로지텍 지원 소프트웨어를 자세히 살펴보면 다음과 같이 손쉽게 커스터마이징이 가능함을 아실 수 있습니다.


Scroll direction > Standard(윈도우처럼), Natural(맥처럼)


Secondary click > Right/Left Mouse click


Tilt Wheel (스크롤 휠을 왼쪽 오른쪽으로 움직일 떄) > Move between pages(앞으로/뒤로 가기), Move between full-screen apps(데스크탑 전환하기), Horizontal Scrolling(수평 스크롤링)


Wheel Button (스크롤 휠 자체를 클릭할 때) > Smart Zoom, Mission Control, App Exposé, Launchpad, Look up, Middle Button


Center Button (윈도우 로고가 있는 버튼을 클릭할 때) >  Smart Zoom, Mission Control, App Exposé, Launchpad, Look up, Middle Button


위와 같이 커스터마이징이 가능합니다. 여러분이 원하시는데로 마음대로 커스터마이징하면 애플 매직마우스 뺨 치는... 제스처 접근이 가능하실거에요...! :)







| 너무 작지 않을까? m557?


  참고로 저는 성인 남자입니다만, 손이 되게 작습니다. 성인 여자보다 약간 큰 수준이거나 비슷한 정도입니다. 그렇게 생각하시고 손 착용(??) 샷 보여드리도록 하겠습니다. 혹시, 성인 남자분들 혹은 손 큰 성인 여자분들, 너무 작지 않을까? 하는 생각에 망설이기도 하실 거 같은데요. 그 고민 제가 어느 정도...? 덜어드릴 수 있으면 좋겠습니다.



   


       


※ 사진이 너무 작다고 생각하시면 클릭해주시면 기본 크기로 나옵니다.


※ 혹시 제 손에서 조차도 작다고 생각하신다면 일반적인 성인 남자들에게 확실히 작은 겁니다. 제가 손이 남자 치고 작은 편이에요!! 


※ 그래도 그립감은 꽤 발군입니다. 제 작은 손조차도 가득 채우지는 못하지만, 가득 채운다고 무조건 그립감이 좋은건 아니더라구요 :)

마우스의 엉덩이(?)가 손바닥에는 닿입니다. 그렇기 때문인지 그렇게 작아서 불편하다는 걸 느끼진 못했네요








| 결론... 전반적으로 괜찮은거 같다!


  솔직히 제가 맘에 들었으니까 포스팅한거 아니겠어요? ㅋㅋㅋ 여러분은 맘에 안드는 제품 이렇게 정성스레(?) 사진도 찍고 정리도 하고 하시겠습니까? 그렇습니다. 저한테는 너무나도 맘에 드네요. 다만, 블루투스 마우스 대부분이 그렇듯, 마우스 크기가 작게 나오니까, 반드시 손에 차는 마우스만 살 거야! 이러시는 분은 구매를 보류해주세요 ^^ 


  마우스 크기가 크게 문제가 안된다면, 정말 구매를 추천드립니다. 저 뭐 로지텍에서 부탁받은 거 아닌데.. 그냥 추천 막 하고 싶네요. 그만큼 제가 잘 쓰고 있고 너무나도 만족하는 제품입니다! 






| 애드센스 실적 보고서에는 6가지 요소가 있다.


  구글 애드센스 서비스를 사용하는 블로거들이면 애드센스 홈페이지에서 '실적 보고서'를 자주 확인하실 것입니다. 그런데 거기에 알 수 없는 어려운 말들이 적혀 있죠... 페이지뷰? 클릭수? 이런 건 알겠지만, 페이지 CTR이니 CPC? 그리고 페이지 RPM?? 이것은 무슨 의미일까요?? 


  구글 애드센스에서, 블로거의 실적을 확인하기 위한 '실적 보고서'에는 6가지 요소가 있습니다. 다음과 같습니다.


1) 페이지뷰

2) 클릭수

3) 페이지 CTR

4) CPC

5) 페이지 RPM

6) 예상 수입


  이제 각각 요소들이 무엇을 의미하는지 확인해봅시다.



| 페이지 뷰


  페이지 뷰(Page View)란 블로그 방문자 혹은 사용자가 Google 광고가 게시된 페이지를 조회할 때마다 올라가는 수치입니다. 페이지에 등록되어 있는 구글 광고의 개수와는 상관없이 그 페이지를 한 번 조회할 때마다 하나의 페이지 뷰가 상승하게 됩니다. 한 명의 방문자가 여러 번 페이지를 돌아볼 수 있으므로 페이지 뷰가 방문자의 수를 의미하는 것은 아닙니다.



| 클릭 수 

 

  광고를 클릭한 횟수입니다. 블로그 방문자가 Google 광고를 클릭할 때마다 하나의 클릭 수가 증가하게 됩니다. 보통,  Google 광고를 유심히 보는 경우가 많지 안흐므로, 광고 클릭은 매우 드문 동작입니다. 따라서, 그만큼 광고 클릭은 광고주에게 있어서 유의미한 것일 수 있으며, 광고 클릭을 쉽게 할 수 있는 방향으로 블로그 배치를 시도해야 합니다.


| 페이지 CTR


  CTR은 Click-Through Rate의 약자입니다. 쉽게 말해서 '광고 클릭률'입니다. 구글 광고를 보는 수많은 사람들 중에서 어느 정도의 사람들이 광고를 클릭하였는지를 알려주는 수치로, 다음과 같은 공식으로 광고 클릭률을 구할 수 있습니다.


CTR = 클릭 수 / 광고 노출 수(페이지 뷰)


  예를 들어, 100번의 광고 노출 중 단 한번의 광고 클릭이 있었다면, 페이지 CTR은 1%가 됩니다. 페이지 CTR이 높을 수록 블로그의 광고 효율 경쟁력은 더욱 세지는 것이므로, 페이지 뷰만큼 클릭을 유도하는 것이 중요한 관건이라고 생각할 수 있습니다.




| CPC


  CPC는 Cost Per Click의 약자입니다. 쉽게 말해서 '클릭당 광고 단가'입니다. CPC는 CTR보다도 더 큰 경쟁력의 요소가 될 수 있습니다. 일반적으로 CTR이 높을 수록 블로그 배치가 잘 되 있으며, 광고 효과가 뛰어나다고 말할 수는 있지만, CPC가 큰 경우에는 직접적으로 돈을 버는 수익 자체가 높다고 말할 수 있기 때문입니다. 


 예를 들어, CPC가 300원이고(즉, 한번 클릭당 광고주는 광고업체에게 300원을 광고비용으로 지불해야 합니다.) 100번의 클릭이 있는 경우, 30000원의 광고비용이 지불되는 것입니다. 


  CPC는 광고의 중단 및 광고 비용에 대한 처리가 깔끔하다는 점이 장점이며, 다른 말로 PPC(Pay Per Click)이라고 불리기도 합니다.




| 페이지 RPM


  RPM은 Revenue Per Mile의 약자입니다. 쉽게 말해서 '페이지 노출당 수익'입니다. 페이지 RPM은 일반적으로 1,000회의 페이지 노출 시 발생하는 수익을 일컫습니다. 페이지 RPM을 계산하는 공식은 다음과 같습니다.


페이지 RPM = (예상 수입/페이지 뷰) x 1,000 (정의식)

                 = (페이지 CTR x CPC) x 1000


  RPM은 결국 결과를 기준으로 하거나, 이미 구해진 CTR과 CPC를 통해 계산하는 것이므로 이 값 자체가 새로운 의미를 가지지는 않습니다. 다만, 어려운 계산을 모두 생략하고도 거의 최종적인 예상수입을 유추해내는 데 큰 도움이 되는 지표입니다. (이미 RPM을 알고 있다고 생각하면 클릭수라던지 CPC, CTR등의 개념을 전혀 모르더라도, 오로지 페이지 뷰만 알고 있다면 바로 예상 수입을 계산해낼 수 있습니다.)


  식이 두 개라서 당황하시고 왜 두값이 동일한지? 를 의문을 가지시는 분들이 많을 거 같은데요. 간단하게 생각해서, RPM 값 자체를 계산하려면 두 번째 식을 사용하여야 하고, RPM을 이용해서 예상 수입을 추측해낼 때 첫 번째 식을 사용하는 것입니다.




| 예상 수입


  페이지 RPM에서 이미 예상수입을 계산하는 방법에 대해서 알려드렸습니다. 예상 수입을 구하는 방법은 다음과 같습니다.


예상 수입 = (페이지 RTM x 페이지 뷰) / 1,000

             = (페이지 뷰 x 페이지 CTR x CPC)


  예를 들어, 1000번의 페이지 뷰가 있었고, CPC는 30원, CTR은 1퍼센트였다고 하면, 1000 x 30 x 1/100 = 300 원의 수익을 얻는 것입니다.




| 결론


  솔직히 말해서, 모든 수치가 높으면 높을 수록 좋습니다, 다만, CPC의 경우 여러분이 직접 계산할 수 없으며, 매 시간 변경될 것입니다. (애드센스에서 판단하는 블로그 및 광고 업체 사이트의 가치가 매번 변동하기 떄문이죠...) CPC가 낮은 상황일 떄는 최대한 CTR을 끌어 올리는 것이 중요합니다. CTR을 끌어올리는 것은 자연스러운 관점에서 보면 페이지 뷰를 늘려야만 하는 것이죠. 그리고 페이지 뷰를 늘리려면 꾸준한 블로그 관리와 태그 사용이 필수라는 것을 명심하시길 바랍니다.

  



+ Recent posts