2022/03 6

MacOS 개발 첫 발: 환경 설정부터 코드 호출까지

서론: 드디어 MacOS 첫 발을 떼게 된 이유Swift로 C 기반의 모듈을 호출하는 iOS 앱을 무려 일주일 만에 완성했다. 환경설정으로 고생 좀 했지만, 드디어 해냈다.오랫동안 애증의 대상이었던 나의 가계부 iOS 애플리케이션이 있다. 2017년 초부터 사용해온 이 앱은 대부분 수작업으로 이루어지지만, 오히려 이 자유도 덕분에 시중의 자산 관리 앱과는 비교할 수 없는 매력을 가진다. 다만, 더 이상 업데이트가 없어서 iPhone SE부터 iPhone 12 Pro Max까지의 화면 차이에 적응하기가 쉽지 않다.그러던 중, 회사에서 다양한 OS에서 암호화 모듈을 테스트해야 하는 과제가 주어졌다. 그중 iOS도 포함되어 있어, 드디어 MacOS에 발을 들이게 되었다. 기대 반 두려움 반으로 시작한 MacO..

기술 노트 2022.03.18

Unix와 Linux: 다양한 OS 환경에서의 빌드와 자동화 경험

PKI 응용 소프트웨어를 다룬 지도 어느덧 4년 차다. 리눅스 환경은 익숙해졌고, 유닉스 환경에도 점차 적응했는데, 그 과정에서 절대 해서는 안 될 것들과 해두면 좋은 팁들이 자연스레 자리잡게 되었다. 이번 글에서는 그 경험을 공유해 보려 한다.1. Unix 환경에서 피해야 할 실수와 팁유닉스 환경에서는 OS마다 패키지나 명령어 지원이 제각기 다르고, 예상치 못한 작동을 하는 경우도 많다. 작은 실수 하나가 시스템 전반에 영향을 미칠 수 있기 때문에, 기본 시스템 설정이나 권한 설정은 특히 신중히 다뤄야 한다.2. 다양한 환경에서의 빌드 자동화 경험한창 CMake로 빌드 자동화를 시도하며 동일한 코드를 리눅스뿐 아니라 AIX, SunOS, HP-UX에서 테스트할 때가 있었다. 환경마다 명령어와 라이브러리..

기술 노트 2022.03.17

Solaris 10 이하에서 .tar.gz 파일을 여는 방법

1. 문제 상황: 낮은 버전 Solaris에서 압축 해제 오류Solaris 8, 9, 10 버전에서는 .tar.gz 파일을 풀려고 할 때 오류가 발생할 수 있다. 예를 들어, 다음과 같이 tar 명령어를 사용하려 할 때 디렉토리 체크섬 오류가 발생할 수 있다$ tar -xvf pressedFile.tar.gz tar: directory checksum error (디렉토리 체크섬 오류)2. 문제 원인: z 옵션 미지원Solaris 2.5부터 10까지의 버전에서는 tar 명령어의 z 옵션을 지원하지 않기 때문에 직접 .tar.gz 파일을 압축 해제할 수 없다. z 옵션은 gzip 압축을 다룰 수 있게 해주는 옵션이지만, 오래된 버전의 Solaris tar에는 이 옵션이 없다.3. 해결 방법: 낮은 버전 S..

기술 노트 2022.03.16

AIX에서의 XL gcc 컴파일러: 설치/삭제 가이드

1. AIX와 XL C/C++ 컴파일러의 필요성AIX에서 개발을 시작할 때 필수적으로 XL C/C++ 컴파일러를 사용해야 한다고 생각했었다. 과거 회사와 이전 AIX 버전들에서도 XL C/C++이 기본 컴파일러로 사용되었기 때문이다. 그러나 실제로는 AIX의 버전에 따라 지원하는 컴파일러 버전이 다르고 유료라는 점을 알게 되었다. 이러한 제약 때문에 AIX 버전에 따라 맞는 버전의 XL C/C++를 사용하는 것이 필요했다.2. AIX 버전별 XL C/C++ 호환성AIX의 버전별로 지원되는 XL C/C++ 컴파일러가 다르기 때문에, 각 버전에 맞는 컴파일러 버전 확인이 필수적이다. 예를 들어, AIX 7.2의 경우에는 13.1 버전을 지원한다고 명시되어 있었지만, 실제로는 해당 업데이트가 적용된 버전만 정..

기술 노트 2022.03.15

AIX에서 오픈소스 패키지 설치하기: 리눅스와의 차이점과 필수 도구

1. 리눅스와 AIX의 차이점: yum, apt가 없다리눅스에서는 CentOS의 yum이나 Ubuntu의 apt를 통해 쉽게 패키지를 설치할 수 있지만, AIX에는 이러한 패키지 관리 도구가 기본적으로 없다. AIX에서 필요한 소프트웨어는 직접 다운로드 후 설치해야 한다. 이 과정에서 적절한 패키지를 찾는 데 시간이 많이 소요될 수 있다.2. AIX Toolbox for Open Source SoftwareAIX에서 오픈소스 패키지를 쉽게 찾기 위해 AIX Toolbox for Open Source Software 사이트를 활용할 수 있다. IBM이 제공하는 이 사이트는 GNU 및 오픈소스 툴을 AIX용으로 제공하며, 패키지 이름 뒤에 지원하는 AIX 버전이 명시되어 있어 필요한 버전을 쉽게 선택할 수 ..

기술 노트 2022.03.14

AIX에서 이상적인 PS1 프롬프트 설정하기: 효율적인 작업 환경 만들기

1. 이상적인 PS1 설정의 필요성AIX에서 작업할 때 효율적이고 익숙한 프롬프트는 가독성과 작업 속도에 큰 도움을 준다. 사용자 이름, 호스트 이름, 현재 디렉토리 정보가 포함된 PS1 설정을 통해 빠르게 환경을 파악할 수 있다.2. PS1 설정 방법이상적인 PS1 프롬프트 설정을 위해 다음 단계를 수행한다.시작 파일 수정시스템 시작 파일 중 하나인 ~/.profile 파일을 연다.$ vi ~/.profilePS1 변수 추가사용자 이름, 호스트 이름, 현재 디렉토리 정보를 포함한 프롬프트를 설정하기 위해 다음 내용을 추가한다.export PS1="[$USER@$HOSTNAME "'${PWD##*/}'"]\$ "파일 저장 및 실행설정이 완료되면 esc를 누른 후 다음 명령어로 저장하고 종료한다.:wq설정..

기술 노트 2022.03.13