안녕하세요
오늘은 개발자가 프로그래밍보다 잘해야 하는 엑셀에 대해 알아보겠습니다.
초보 개발자분들은
왜 엑셀을 잘해야 하지?
라고 생각할 수 있습니다.
엑셀이 보통 연락망, 그래프 그리기, 민원 보고서 등 참고 자료 등으로 만 사용되기 때문이죠
그리고 프로그래밍에 직접적인 코딩을 도와주거나 하는 일은 없습니다.
그런데 제가 강조하는 것은 엑셀이 생각보다 개발을 편하게 해주는 도구이기 때문입니다.
예를 들면 아래와 같은 테이블을 헥사 배열로 바꾸는 경우 머리가 아픕니다.
아래 표대를 보면 ADDRCONFIG_MATCH_TABLE_DOUBLE_FIELD가 (0x1041040) 일 때의 표를 보여주고 있습니다.
처음에는 이해가 가서 저 값을 코드에 넣어 사용하면 문제가 없지만 추후 값을 바꾸려 할 때 기억이 안 나면
생각보다 귀찮아집니다. (주석을 달아도 1주일 뒤에 보면 내 소스가 아닌 남의 소스죠..)
그런데 아래와 같이 엑셀로 만든다면 이야기는 달라집니다.
위 그림은 테이블을 체크하면 그 값에 맞게 헥사 값을 만들어 내는 엑셀 표입니다.
addr0, adddr 0 좌표만 1인 경우의 값을 헥사로 바꾸고 있고,
함수는 어렵지 않은 DEC2HEX와 IF 문, & 연산만 썼을 뿐입니다.
또 다른 예를 알려드리겠습니다.
도트 데이터를 C언어 배열로 바꿔야 하는 경우
BMP 그림을 전환하거나 직접 도트를 찍어서 출력하곤 합니다.
위 캐릭터 도트를 C 배열로 바꾸려면 직접 하나씩 도트를 세어서 C 배열 값을 만들 겁니다.
한 번만 쓰고 이미지가 적으면요.. 하지만 개수가 늘면 어떻게 할까요?
네! 엑셀을 써야죠!
조금 귀찮지만 IF 문으로 1도트씩 2진수 값을 만들어 내고 &연산과 BIN2HEX 함수를 쓰면
오른쪽과 같이 C언어 배열로 전환이 가능해집니다. 그냥 쭉 복사해서 사용하면 끝입니다.
개발자분들은 문서를 많이 만들어야 합니다. 남을 위해서도 있지만
특히 본인을 위해서라도요.
'개발이야기' 카테고리의 다른 글
EFR32 USART / LEUAR 시리얼 통신비교 (0) | 2021.03.22 |
---|---|
펌웨어를 위한 C언어 1분코딩강좌 #01 memset과 sizeof (0) | 2021.03.22 |
파일디스크립터 주의사항 | 리눅스 개발자들이 자주 하는 실수 (0) | 2020.12.30 |
프레임버퍼 덤프 방법과 이미지 변환 사이트 (0) | 2020.12.30 |
펌웨어 강좌#03 UART 통신 | 시리얼통신 | 주기 계산하기 (0) | 2020.12.24 |