전체 글

건국대학교 컴퓨터공학부 학생으로, iOS/인프라에 관심이 있습니다.
약 2-3주간의 공부를 통해 합격을 받을 수 있었다.공부 방법패스코드 3-4회독준비물패스코드 책 2권회사에서 지원하는 인강을 결제해 초반부 들었지만, 결국 안듣고 미루다보니 3주 정도 남았다.이때부터는 패스코드 회독만 해야겠다 싶어 해당 책으로만 준비했다.공부 방법패스코드 1,2회차는 쌩으로 풀어봤다.20/100점 정도 나왔고, 해당 문제 오답을 진행이후에는 O/X 문제를 풀었다.마지막으로 3,4회차를 풀었고 이때는 4-50점 나오기 시작함.이렇게 1회독을 마치고서 오답노트를 정리. 이때 노션+AI를 이용해 학습했다오답노트를 2회독정도하고 마지막으로 새로산 패스코드에서 처음부터 1-4회차를 풀었다.이때는 점수가 높게 나오고, 여기서 틀린 것들만 더 보고 시험을 쳤음 (총 4회독한듯)4-50시간정도 공부했..
1] Examples of IPC SystemsShared Memory: POSIX Shared MemoryMessage Passing: PipesOne of the earliest IPC mechanisms on UNIX systems 2] POSIX shared memoryis organized using memory-mapped fileswhich associate the region of shared memory with a fileFirst, create a shared-memory objectshm_open(name, O_CREAT | O_RDWR, 0666);Configure the size of the object in bytesftruncate(fd, 4096); → how many by..
1] Interprocess Communication Processes executing concurrently may be either independent processes or cooperating processesA process is independentif it doesn’t share data with any other processesA process is cooperatingif it can affect or be affected by the other processesClearly, any processes that shared data with other process is a cooperating process2] IPC: Inter-Process Communication Coope..
1] Operations on Processes In Unix-like O/S,,A new process is created by fork() system callThe child process consist of a copy of the address space of the parent processBoth processes continue execution at the instruction after the fork() system callparent’ pid = child process idchild’ pid = 0 (if fork call success)With one differencethe return code for the fork() is zero for the child process, ..
1] Process ConceptText sectionexecutable codeData sectionglobal varialesHeap sectionmemory that is dynamically allocated during program run timeStack sectiontemporary data storage when invoking functionssuch as function parameters, return addresses, and local variablesprocess = execution program 2] Process Life CycleNewRunningInstructions are being executedready → (dispatch) → runningWaitingthe..
회사에서 MDB 그 중에서 Altibase를 쓰는데 간단하게만 내용정리를 한다. 결국 메모리 DB는 코드 경로의 차이 때문에 빠른 것.원본이 메모리에 있으니 디스크 DB를 조회하는 여러 경로가 생략됨.다만, 로그 / 체크포인트는 디스크에 저장함 Altibase의 인덱스로 B-tree를 사용한다.PK대신 Index로 조회한다.아마 여러 조건 속에서도 Unique를 가려내기 위함이 아닐까 싶다. 통신 채널로 TCP를 사용한다. Procedure를 통해 로직을 실행한다.애플리케이션이 로직을 저장하는 것이 아닌, 로직을 DB 안에 미리 저장함으로써 분리한다.
템플릿C++ 템플릿은 generic 프로그래밍 수단이다. ACE에서도 이 기능을 상당히 많이 적용하였다.클래스 또는 함수를 일반적(generic)으로 정의하며, 컴파일 시점에서 주어진 데이터 타입으로 지정된 템플릿을 적용할 수 있도록 한다.template class max_tracker {public: void track_this (const T val);private: T max_val_;};template void max_tracker::track_this (const T val) // ← max_tracker 뒤에 필요{ if (val > this->max_val_) this->max_val_ = val; return;}클래스 밖에서 템플릿 멤버 함수를 정의..
ACE_DEBUG는 thread-safe printf 스타일 로깅 매크로다. ACE_Log_Msg 싱글턴 클래스를 감싸는 매크로로, 이중 괄호로 사용한다.#include "ace/Log_Msg.h"ACE_DEBUG((LM_DEBUG, "connecting to $s:%d\n", host, port));매크로 용도ACE_DEBUG(X)일반 로그 출력ACE_ERROR(X)에러 로그 (내부적으로 errno 캡처)ACE_ERROR_RETURN(X, Y)에러 로그 후 return YACE_ERROR_BREAK(X)에러 로그 후 break 가이드 문서에선, printf / stream 중 printf 방식을 채택한다고 나와있다. 이 둘의 차이가 뭐였는지 간단히 정리해본다.C++에서 “출력한다”는 방식이 두 갈래로 ..
ParkSeongGeun
Foden's Blog