WIP - DBUS

D-Bus Backgroud 컴퓨터 위에서 동작하는 소프트웨어 패키지, 웹 서비스와 같은 다양한 소프트웨어 컴포넌트들은 보통 하나의 서비스를 제공하며, 이들은 Client Application에 의하여 사용되거나, 다른 컴포턴트에 의하여 실행 되어진다. 이때 서비스와 클라이언트...

Macro overloading

Macro overloading 다양한 이유에서 macro로 함수를 정의할 필요가 생긴다. 이때 macro를 overloading 할 수 있는 기법에대해서 알아보자. level 1. 기본적인 macro overloading Gcc에서 지원하는 Variadic_macro를 사용하여 구현하면 아래와 같다. #define...

Digital Certificate

Public Key Certificate Public key의 owner를 증명하는 전자문서로 key, owner(subject), issuer 및 meta 정보를 포함한다. Digital certificate나 identity certificate라고도 불리며, email encryption, code siging, TLS에 사용 된다. 대표적인 국제 표준으로...

Remote Method Invocation

RMI, Remote Method Invocation Client에서 Server의 함수를 호출하는 기법. Server의 함수에 parameter를 넘겨주고 return 값을 받음. RMI 통신 방법으로 객체 직렬화 (Serialization) 이용함. // 주소공간에서 다른 주소공간으로 객체의 전달을 투명하게...

Shared library symbol visibility

Symbol table 함수나 변수를 참조, 호출할 때 함수명, 변수명(식별자, identifier)을 사용하고, 실제 함수, 변수는 메모리(함수: .text region, 변수: .data .stack)에 저장되어 있다. 이 때 함수명, 변수명을 Symbol이라 하며 컴파일러(or 인터프리터)는...