본문 바로가기

[블로그로 돈벌기] 애드센스(AdSense) 신청 및 승인 애드센스는 블로그나 모바일 앱 등에서 사용되는 구글의 광고 프로그램입니다.웹사이트나 블로그 등에서 애드센스를 설치한 모습을 자주 확인할 수 있습니다.저도 최근에 티스토리 블로그를 시작하면서 애드센스를 신청하고 승인을 받았습니다.애드센스를 가입하는 방법과 승인 절차에 대해서 알아보겠습니다.구글의 애드센스 주소는 다음과 같습니다.http://www.google.com/adsense/start/?hl=ko&sourceid=aso&subid=ap-ko-ha-bk&medium=ha&utm_medium=ha&utm_term=%EC%95%A0%EB%93%9C%20%EC%84%BC%EC%8A%A4&gclid=CKCr5MmSucICFQMGvAodOXoAFQ애드센스를 신청하기 위해서는 먼저 gmail 계정이 필요합니다.안.. 더보기
카카오톡 비밀채팅 지원 및 카톡 지옥 해결 카카오톡에 프라이버시 모드가 추가되었습니다.카카오톡 검열 문제로 시끌시끌했는데 아무래도 영향을 받은 것으로 보입니다.카카오톡에 종단간 암호화(End-to-end Encryption)가 도입되어 비밀채팅이 가능합니다.종단간 암호화는 단말기와 단말기가 직접 암호화 키를 보유하고 암호화된 메시지를 해독하는 방식입니다.이 암호화 키를 보유한 단말기만이 메시지를 해독해서 읽을 수 있기 때문에 다른 사람이 볼 수 없습니다.비밀채팅 기능은 안드로이드 카카오톡 4.7.0버전부터 지원이 되며 현재 다운로드가 가능합니다.iOS는 차후의 업데이트를 통해서 지원한다고 합니다.비밀채팅은 해당 단말기(스마트폰)에서만 확인이 가능하기 때문에 PC용 카카오톡에서는 확인이 불가능합니다.비밀 채팅이라는 메뉴가 추가되었습니다.만약 상대방.. 더보기
[정렬 알고리즘] 선택 정렬(Selection Sort) 선택 정렬은 정렬 알고리즘의 한 방법입니다.버블 정렬과 마찬가지로 간단한 정렬 알고리즘에 속합니다.가장 작은(혹은 큰) 값을 찾아서 맨 앞(혹은 맨 뒤)로 차곡차곡 이동시키는 방법입니다.기본적으로 생각할 수 있는 방법으로 정렬합니다.선택 정렬의 코드는 다음과 같습니다. #include using namespace std; template void MySwap(T& a, T &b) { T tmpVal = a; a = b; b = tmpVal; } template void SelectionSort(T* arVal, int nCount) { int maxidx; int i, j; for (i = nCount - 1 ; i >= 0 ; --i) { for (maxidx = i, j = i - 1 ; j >= 0.. 더보기
삼성 SSD 850 EVO 출시 발표 삼성 SSD 850 EVO의 추가 정보에 대한 글을 작성하였으나850 EVO 출시가 발표되었습니다. 850 PRO SSD의 경우 이미 출시가 되었습니다.850 EVO는 840 EVO와 동일하게 TLC를 사용합니다.850 EVO는 120, 250, 500, 750, 1000 GB의 크기로 각각 출시가 됩니다. SSD의 빠른 용량 증가로 이제는 1 TB의 SSD를 보는 것도 어렵지 않게 되었습니다.또한 차세대 3-bit 3D V-NAND 기술을 적용했습니다.벤치마크 정보는 아래 링크에서 확인이 가능합니다.http://tweakers.net/reviews/3825/de-nieuwste-ssds-samsungs-850-evo-en-de-concurrentie.html4K 랜덤 속도가 높은 점수를 기록하는 것으로.. 더보기
스마트하지 못한 스마트한 포인터 auto_ptr C/C++은 메모리 관리가 까다로운 언어입니다.개발자가 직접 메모리를 할당하고 해제해야 할 책임이 있습니다.C++의 STL에는 auto_ptr이라는 스마트 포인터가 존재합니다.다만 auto_ptr은 C++11 이후에는 사라졌기 때문에 사용이 불가능합니다.auto_ptr은 헤더에 구현되어 있습니다.auto_ptr이 스마트하지 못한 이유를 확인해 보겠습니다.auto_ptr은 템플릿 기반이기 때문에 어떤 타입의 포인터든지 받을 수 있습니다.클래스의 큰 특징은 객체가 지정된 범위(Scope)를 벗어나면 소멸자가 호출된다는 점입니다.이러한 특징을 통해서 클래스는 객체가 사라지기 전에 정리하거나 해제해야 할 것을 소멸자에서 호출합니다.메모리를 할당하고 해제하지 않으면 메모리 누수(Memory Leak)가 발생합니다.. 더보기
C++ 변환 연산자(Conversion operator) C++ 클래스에는 변환 연산자라는 특수한 형태의 함수(메소드)를 정의할 수 있습니다.이전에 포스팅한 변환 생성자와 반대되는 개념입니다.변환 생성자에 대한 설명은 아래 링크에서 확인 가능합니다.2014/12/08 - [Programming/C&C++] - C++ 변환 생성자(Conversion Constructor)변환 생성자는 일반 타입에서 클래스의 객체를 생성하는 역할을 하지만변환 연산자는 반대로 객체에서 일반 타입 값을 받을 수 있습니다.변환 연산자는 operator 타입명(); 과 같은 형태로 선언이 가능합니다. #include using namespace std; class Distance { private: int kilometer, meter; public: Distance() : kilome.. 더보기
C++ 변환 생성자(Conversion Constructor) 변환 생성자는 기본 타입을 이용해서 객체를 생성하는 생성자입니다.다음 소스 코드를 보도록 하겠습니다. #include using namespace std; class Distance { private: int kilometer, meter; public: Distance() : kilometer(0), meter(0){} Distance(int newDist) { kilometer = newDist / 1000; meter = newDist % 1000; } void PrintDistance() { cout 더보기
[정렬 알고리즘] 버블 소트(거품정렬) 버블 소트는 정렬 알고리즘의 한 종류입니다. 정렬 알고리즘은 무작위로 있는 정보를 순차적으로 재배치 시키는 것이 목적입니다. 버블 소트는 각종 정렬 알고리즘 중에서도 기본으로 여겨지는 알고리즘입니다. 정렬 알고리즘은 퀵 정렬, 삽입 정렬, 힙 정렬, 선택 정렬 등 여러가지 방법이 존재합니다. 보통은 속도가 빠른 퀵소트를 많이 사용합니다. 퀵소트를 구현하는데는 재귀 함수 방식이 많이 활용됩니다. 재귀 함수에 대한 설명은 아래 링크에서 확인 가능합니다.2014/12/04 - [Programming/C&C++] - 재귀 함수 & 재귀적 함수호출(recursive function call)그럼 본격적으로 버블 소트에 대해서 알아보도록 하겠습니다. 만약 버블 소트의 코드만 필요하다만 가장 하단의 코드를 참조하시면.. 더보기