IPC(Inter-Process Communication)와 RPC(Remote Procedure Call)
IPC와 RPC 차이 IPC(Inter-Process Communication)와 RPC(Remote Procedure Call)는 둘 다 다른 프로세스 간 통신을 위한 기술이다. 그러나 이 두 개념은 큰 차이가 있다. IPC는 동일한 컴퓨터 내에서 실행 중인 프로세스 간에 통신을 수행한다. 예를 들어, 파이프, 메시지 큐, 공유 메모리 및 세마포어 등을 이용하여 동일한 시스템에서 실행 중인 프로세스 간에 데이터를 전송하고 동기화하는 데 사용된다. 반면에 RPC는 네트워크를 통해 서로 다른 컴퓨터나 시스템에서 실행 중인 프로세스 간에 통신을 수행한다. RPC는 프로그래머가 마치 로컬 함수를 호출하는 것처럼 원격 시스템에서 실행 중인 함수를 호출할 수 있게 해준다. RPC를 사용하면 원격 시스템에서 실행 ..
2023.07.20
.NET Wrapper란?
.NET Wrapper는 .NET Framework로 작성된 코드를 다른 프로그래밍 언어나 플랫폼에서 사용할 수 있도록 해주는 래퍼(Wrapper)다. 일반적으로 C# 또는 VB.NET으로 작성된 .NET 어셈블리는 C++이나 Java 같은 다른 언어나 플랫폼에서 직접 사용할 수 없다. 이런 경우 .NET Wrapper를 사용하여 .NET 어셈블리의 기능을 래핑(wrapping)하고 다른 언어나 플랫폼에서 사용할 수 있는 API(Application Programming Interface)를 제공한다. 예를 들어, C++ 개발자가 .NET Framework로 작성된 C# 어셈블리의 기능을 사용하려면 .NET Wrapper를 사용하여 C# 어셈블리를 C++에서 호출할 수 있는 API로 래핑해야 한다. 이렇..
2023.07.11
.d파일이란?
요약 C/C++ 프로그래밍에서 .d 파일은 의존성 파일(dependency file)을 의미한다. 의존성 파일은 소스 코드 파일과 해당 파일이 참조하는 다른 파일 또는 헤더 파일 간의 의존 관계를 기록한 파일이다. 컴파일러는 의존성 파일을 사용하여 소스 코드 파일이 변경될 때마다 해당 파일을 다시 컴파일해야 하는지 여부를 결정한다. 이를 통해 개발자는 프로그램의 일부만 수정했을 때 전체 프로그램을 다시 컴파일하지 않고도 수정 사항을 반영할 수 있다. Makefile과의 관계 주로 Makefile에서 사용되는 의존성 파일은 효율적인 빌드 프로세스를 수행하기 위해 필요하다. Makefile은 소스 코드 파일 간의 의존 관계와 컴파일 및 링크 방법을 정의하는 텍스트 파일이다. 의존성 파일을 사용하여 변경된 파..
2023.07.11
AES(Advanced Encryption Standard, 고급 암호화 표준) 요약
개요 AES는 ISO/IEC 18033-3 표준에 포함되어 있다. 암호화 키로 128 bit, 192 bit, 256 bit를 가질 수 있는데 이를 AES-128, AES-192, AES-256 라고 한다. 128bit / 16Byte / 10 라운드 192bit / 24Byte / 12 라운드 256bit / 32Byte / 14 라운드 AES는 대입치환(Substitution-Permutation Network)을 사용한다. 말 그대로 대입(Substitution)과 치환(Permutation)을 이용하는 방식으로, bit 전체를 암호화한다. 패딩 암복화 알고리즘 경우 input 데이터의 길이는 block size의 배수가 되어야 한다. 하지만, 데이터의 길이가 block size의 배수가 아닌 경우..
2023.04.16