리디에서 전자책을 구입해 읽는다. 리디앱에 익숙해져 있어, 때론 인터넷에 떠도는 epub 파일을 다운받아 읽기도 하는데 문제가 발생한다. macOS 리디앱에서 읽어 들일 땐 문제 없는 epub 파일이 아이폰 리디앱에서는 등록 안되는 것. Sigil앱에서 epub 파일을 이리저리 수정을 해봐도 등록이 안된다. 한참을 헤매다 포기할 즈음... 파일 이름이 너무 긴가? 짧게 변경했더니 왠걸... 정상적으로 등록되는게 아닌가... 허탈. 리디앱에서 epub 파일 못 읽어 들일 땐 닥치고 파일 이름 변경을 해보시라.
카카오라는 회사가 있다. 대표적인 서비스는 카카오톡. 카카오톡은 2006년 설립한 '아이위랩'이란 회사에서 iOS 기반 위에 - 초창기에는 아이폰에서만 사용할 수 있었다 - 2010년 서비스를 시작했다. 카카오톡 서비스가 급성장하자 회사이름을 카카오로 변경한다. 카카오톡을 매일 이용하는 사람으로서, 또한 내가 애용하는 포털인 다음을 인수한 회사로서 관심을 갖다 보니 왜 이름에 '카카오'란 단어를 넣었는지 궁금해졌다. 검색을 해보면 회사의 공식 입장과 더불어 여러 썰들이 존재하지만 아래에 내가 추론하는 이유가 분명할 거라 확신한다. macOS의 프레임워크 이름은 Cocoa Framework, iOS에서는 이 Cocoa Framework의 서브셋 개념으로 Cocoa Touch Framework이라 부른다. ..
새로운 MCU 보드를 받고서는 가장 먼저 해 볼 수 있는 테스트는 GPIO 컨트롤일 것입니다. 펌웨어를 배우던 시기 LED 점멸에 성공했을 때의 기쁨이 생각나네요. 목적 NUCLEO-F767ZI 보드의 MCU(STM32F767ZI) GPIO를 설정하여 LED를 점멸할 수 있다. 준비물 NUCLEO-F767ZI 보드 및 회로도 STM32CubeMX IAR WB for ARM 1. 회로도 확인 ST 사이트에서 NUCLEO-F767ZI 보드의 회로도를 확인한다. 테스트에 사용할 LED인 LD2는 GPIO 포트 B의 7번 핀에 연결되어 있음을 확인했다. 2. CubeMX 설정 STM32CubeMX에서 PB7에 대해 아래와 같이 설정해준다. 이후 전체 코드를 생성한다. 3. 코딩 100ms 간격으로 high와 l..
목적 STM32CubeMX를 이용하여 NUCLEO-F767ZI 보드에서 원하는 주파수로 타이머(TIMER3) 설정을 하고, ISR에서 GPIO 토글을 구현하여 이를 확인할 수 있다. 준비물 NUCLEO-F767ZI STM32CubeMX IAR WB for ARM Digilent Analog Discovery 2 1. 주파수 설정 타이머의 업데이트 주기를 설정해 준다. 여기서는 임의로 100ms로 정하고 설정을 해본다. 먼저 데이터쉬트에서 블록다이어 그램을 찾아 Timer3가 어떤 버스에 연결되어 있는지 확인한다. 위 블록다이어그램의 일부에서 확인 가능하듯이 Timer3는 APB1 버스에 연결되어 있다. 다음엔, STM32Cube-MX Clock Configuration에서 APB1 버스의 클럭이 얼마로 ..
아이패드의 리디북스에서 기본 폰트로는 가독성 좋은 리디바탕체를 사용해왔습니다. 이 서체는 앱에 기본으로 설치되어 있죠. 하지만 계속 이 폰트만 사용하다 보니 지겹기 시작합니다. 그래서 다른 폰트를 설치해보기로 합니다. 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..