본문 바로가기

Programming152

[Docker] AWS S3에 이미지 올리기 이미지 생성과 태깅은 생략하고 AWS S3로 push 하는 방법만 설명해볼 예정이다. 이 내용은 가장 빨리 만나는 Docker 를 참고해서 진행 했다. AWS의 S3를 이용하려면 AWS에 가입이 되어 있어야 하고 접근 하기 위한 ACCESS KEY가 필요하다. (AWS 가입 절차는 생략한다.) Step 1 : AWS에서 Access Key 발급 먼저 AWS Managing 페이지에서 우측 상단에 자신의 계정명을 클릭 후 "Security Credentials" 메뉴를 선택한다. 출력된 페이지에서 Access Keys를 선택하면 Access Key를 발급 받을 수 있다. csv 파일이 다운로드 되는데 파일 안에 Key와 Secret Key가 들어있다. 이 내용은 잃어버리면 재 발급 받아야 하므로 잘 보관해.. 2015. 9. 21.
[C++] define은 작성된 순서대로 수행 될까? #define NUM 10#define FOO NUM#undef NUM#define NUM 20 1. NUM을 10으로 define 한다.2. 그리고 나서 FOO를 NUM으로 define 한다.3. NUM을 undefine 한다.4. 다시 NUM을 10으로 define 한다. 여기서 FOO는 10일까? 20일까? define 전처리기는 설정된 값을 컴파일 전에 전부 치환하는 작업을 수행하는데 순서대로 수행한다면 FOO에 대입된 NUM이 당시에는 10이었으니까 10으로 치환되서 FOO에는 10이 할당될 것으로 생각이 든다. 하지만 결과를 보면 FOO에는 20으로 할당되어 있다. Stack Overflow에 포스팅 된 글을 보면 프로그램은 절대 사용되지 않을 define에 대해서 효율적으로 변환하는 작업을 .. 2015. 9. 10.
[C++] make_pair를 이용하여 데이터 관리 key와 value를 이용하여 저장하는 것으로 일반적으로 map 만을 생각하고 있었는데,코드를 분석하던 중 make_pair 함수를 이용해서 vector에 데이터를 보관할 때 key, value로 저장 하는 것을 발견했다.여기서는 key에 해당하는 value 값을 확률 값으로 사용해서 확률 값이 큰 순서대로 배열을 정렬시키는 용도로 사용하고 있다.STL의 sort를 통해 최적화된 정렬 알고리즘을 사용하기 위해서 이런 방식을 사용한 것 같다. std::vector array; array.push_back(make_pair(1, 1.f)); std::sort( array.begin(), array.end(), sortFunc ); 2015. 7. 13.
[C++] TCP/IP 의 window size에 대비한 처리 소켓을 이용한 데이터 송수신시에 TCP/IP를 이용하는 경우 TCP/IP에는 내부적인 윈도우 크기를 가지고 있기 때문에 한번에 원하는 양의 데이터가 전송되지 않을 수 있다. 이 TCP/IP window size는 TCP/IP에서 데이터를 처리하기 위한 구간이라고 생각하면 된다. 예를들어 2048 byte 만큼의 데이터를 전송하려고 하는데 TCP/IP window size가 1024 byte라면 전송되지 않은 1024 byte 만큼의 데이터를 재전송해주어야 한다. char sendbuff[2048]; int nBytes = 2048; int nLeft, idx; // sendbuff에 2048 만큼 데이터를 채운다. // s는 연결된 스트림 소켓 nLeft = nBytes; idx = 0; while(nL.. 2015. 5. 25.