netsh interface teredo set state disabled
netsh in 6to4 set state disable
이통사 기술팀의 내부 자료에 따르면 카카오톡 서버는 10분 주기로 280byte의 신호를 송신한다. 가입자 상태 확인 등 4개 신호가 시간당 6차례, 하루 24시간 전송된다. 카카오톡 가입자 1인당 자신도 모르게 매달 1만 7280건(4X6X24X30)의 트래픽이 발생한다. 가입자 1000만명으로 계산하면 매달 1728억건. 한달 추산 데이터 트래픽은 4만 5061기가바이트(GB·44TB)에 이른다.
1초 : 10 Gb
하루 : 10 Gb * 86400 = 864000 Gb (하루는 86400초)
한달 : 864000 Gb * 30 = 25920000 Gb ( 한달은 30일)
25920000 Gb = 3240000 GB = 약 3614 TB
#include <iostream> template <class T> // (1) class B { public: void foo(T* t); // (2) }; class T // (3) { public: int i; }; void B<T>::foo(T* t) // (4) { std::cout << t->i << std::endl; } int main() { B<T> b; // (5) T t; t.i = 3; b.foo(&t); }
void* __cdecl operator new(size_t size) { return malloc(size); } void __cdecl operator delete(void* p) { free(p); }
[source code] #include <new> // for size_t #include <stdio.h> class A { public: A() {} virtual ~A() {} static void* operator new (size_t size) { void* res = ::operator new(size); printf("new return %p\n", res); return res; } static void operator delete (void *p) { printf("delete %p\n", p); ::operator delete(p); } static void* operator new[](size_t size) { void* res = ::operator new(size); printf("new[] return %p\n", res); return res; } static void operator delete[](void *p) { printf("delete[] %p\n", p); ::operator delete[](p); } }; void foo() { A* a = new A; printf("a= %p\n", a); delete a; } void bar() { A* a = new A[5]; printf("a= %p\n", a); delete []a; } int main() { foo(); printf("\n"); bar(); } [result] new return 00633B88 // same a= 00633B88 // same delete 00633B88 // same new[] return 00631A90 a= 00631A94 // 4 byte skipped !!! delete[] 00631A90
#include <boost/scoped_ptr.hpp> #include <boost/shared_ptr.hpp> #include <memory> #include <stdio.h> #include "Int.h" // include 4 bytes int class typedef std::auto_ptr<Int> auto_ptr; typedef boost::scoped_ptr<Int> scoped_ptr; typedef boost::shared_ptr<Int> shared_ptr; void size() { printf("sizeof(auto_ptr) is %d\n", sizeof(auto_ptr)); // 4 printf("sizeof(scoped_ptr) is %d\n", sizeof(scoped_ptr)); // 4 printf("sizeof(shared_ptr) is %d\n", sizeof(shared_ptr)); // 8 } void foo_ptr(auto_ptr ap) { ap->foo(); } void foo_ptr(scoped_ptr scp) { scp->foo(); } void foo_ptr(shared_ptr shp) { shp->foo(); } void foo() { { // // auto_ptr // Int* pi = new Int(5); auto_ptr ap(pi); foo_ptr(ap); // compile ok ap->foo(); // runtime error } { // // scoped_ptr // Int* pi = new Int(5); scoped_ptr scp(pi); // foo_ptr(scp); // compile error scp->foo(); // runtime ok } { // // scoped_ptr // Int* pi = new Int(5); shared_ptr shp(pi);
foo_ptr(shp); // compile ok shp->foo(); // runtime ok } } int main() { size(); foo(); }