파토 원종우씨의 ⟪태양기 연대기⟫ 내용 중에 '달의 미스터리' 부분이 흥미롭고, 지구와 가장 가까이 있는 천체임에도 이다지도 몰랐단 말인가... 하는 반성의 의미에서 이곳에 복사해 본다. 달의 미스터리 인류 역사의 한 획을 그은 1969년의 역사적인 달 착륙. 닐 암스트롱을 포함한 세 명의 우주비행사를 영웅으로 만든 20세기 최대의 이벤트이자 인류 문명의 발전과 도약을 증명한 감동과 충격의 대서사시. 그날 이후 수천 년간 인류의 호기심의 대상이었던 달의 실체가 알려졌고, 실은 그리 신비할 것 없는 차가운 돌덩어리라는 사실에 실망한 사람들도 적지 않았다. 하지만 그동안의 탐사를 통해 수집한 달에 대한 새로운 데이터들이 오히려 풀리지 않는 온갖 미스터리들을 던져주었다는 사실은 잘 알려져 있지 않다. 이제 이..
아이패드의 리디북스에서 기본 폰트로는 가독성 좋은 리디바탕체를 사용해왔습니다. 이 서체는 앱에 기본으로 설치되어 있죠. 하지만 계속 이 폰트만 사용하다 보니 지겹기 시작합니다. 그래서 다른 폰트를 설치해보기로 합니다. ridicorp.com/ridibatang/ 리디바탕 - 리디주식회사 RIDI Corporation 라이선스 안내 리디바탕 글꼴은 개인 및 기업 사용자를 포함한 모든 사용자에게 무료로 제공되며 자유롭게 수정하고 재배포하실 수 있습니다. 단, 글꼴 자체를 유료로 판매하는 것은 금지하며, ridicorp.com 목표 macOS 환경에서 아이패드의 리디북스 앱에 폰트를 설치하고 해당 글꼴로 보기 설정하기. 준비 macOS가 설치된 컴퓨터 아이패드 설치할 폰트 1. 설치할 폰트 다운로드 네이버에서..
5. 데이터형 규정 5. 2 고정 크기 정수 규정 정수형의 크기가 중요하다면 고정 길이 데이터형을 char, short, int, long, 또는 long long형 대신 사용해야 한다. 부호 없는 또는 부호 있는 고정 길이 정수형은 아래 표와 같다. Integer Width Signed Type Unsigned Type 8 bits int8_t uint8_t 16 bits int16_t uint16_t 32 bits int32_t uint32_t 64 bits int64_t uint64_t 키워드인 short, long은 사용할 수 없다. 키워드인 char의 사용은 문자열에 관한 선언 및 연산으로 제한되어야 한다. 이유 C90 표준에서는 의도적으로 char, short, int, long 그리고 lon..
5. 데이터형 규정 5. 1 명명 관례 규정 구조체(structure), 유니언(union) 및 열거(enumeration)를 포함한 모든 새로운 데이터형의 이름은 소문자와 단어 내부의 밑줄로만 구성되어야 하며 ‘_t‘로 끝나야 한다. 모든 새로운 구조체, 유니언형 및 열거형은 typedef 통해 명명되어야 한다. 모든 public 데이터형의 이름은 모듈 이름과 밑줄을 앞에 붙여야 한다. 예시 typedef struct { uint16_t count; uint16_t max_count; uint16_t _unused; uint16_t control; } timer_reg_t; 이유 데이터형 이름과 변수 이름은 종종 유사합니다. 예를 들어, 주변장치에서 타이머 제어 레지스터 세트가 'timer_reg' 이..
4. 모듈 규정 4. 3 소스 파일 규정 각 소스 파일에는 하나의 entity를 제어하는 적절한 동작만 포함해야 한다. entity의 예로는 캡슐화된 데이터 타입, 활성 객체, 주변장치 드라이버(예: UART), 통신 프로토콜 또는 계층(예: ARP) 등이 있다. 각 소스 파일에는 다음 섹션의 일부 또는 전부가 열거된 순서대로 구성되어야 한다. 주석 블록, #include문, 데이터 유형, 상수 및 매크로 정의, 정적 데이터 선언, private 함수 프로토타입, public 함수 몸체 그리고 private 함수 몸체. 각 소스 파일은 컴파일러가 public 함수와 해당 프로토타입이 일치하는지 확실히 할 수 있도록 동일한 이름의 헤더 파일을 포함해야 한다(예: 파일 adc.c에는 #include "adc..
4. 모듈 규정 4. 2 헤더 파일 규정 각 소스 파일에 대해 정확하게 하나의 헤더 파일이 있어야 하며, 항상 동일한 루트 이름을 가져야 한다. 각 헤더 파일은 아래의 예와 같이 다중 include에 대응하기 위한 전처리기를 포함해야 한다. 헤더 파일에는 (프로토타입 또는 매크로, #define 및 typdefs를 통해) 다른 모듈과 비교해 엄격하게 알릴 필요가 있는 프로시저, 상수 및 데이터 형식만 표시해야 한다. 헤더 파일에 (extern을 사용한) 어떤 변수도 선언하지 않는 것이 선호되는 관행이다. 어떤 변수에 대한 저장 공간도 헤더 파일에서 할당되어서는 안된다. public 헤더 파일은 private 헤더 파일을 #include 할 수 없다. 예시 #ifndef ADC_H #define ADC_H..