이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 11113|회답: 1

생각과 네이키드 프로그래밍 [연재]

[링크 복사]
게시됨 2014. 11. 25. 오후 10:03:01 | | |
먼저 개념을 말씀드리자면, 제가 만든 용어인 네이키드 프로그래밍(naked programming)입니다. 이 용어는 맨 금속 위에서 프로그램을 작성하는 것을 의미합니다.마이크로컨트롤러이 분야는 하드웨어가 있는 마이크로컨트롤러 제어 시스템을 의미하니 너무 신경 쓰지 마세요.
    맨 금속 프로그래밍은 황무지를 되찾는 것과 같고, 어떤 괭이라도 딱딱한 돌에 부딪힐 수 있습니다. 개척자들은 다가오는 해에 오아시스를 추구합니다. 그리고 이른바 '베어 메탈'을 회수하는 엔지니어들은 무엇을 추구하고 있는가? 물론, 우리는 임무를 찾고 있습니다.
    우리는 대체로 고위 지식인이라고 주장하는데, 개척 과정에서 무엇을 생각해야 할까요? 물론, 중요한 것은 과제를 어떻게 완수하느냐가 아니라, 무엇보다도 우리가 무엇을 생각하는지에 대해 생각하는 것입니다. 그 부분을 돌아다녔나요? 그 생각을 돌아서는 것이 옳고, 이 원은 그 생각을 중심으로 형성됩니다. 생각은 복잡한 환경에서 모든 것을 수행하는 단순한 사람의 지휘관이며, 이는 개척자의 삶의 모든 세부 사항, 물론 네이키드 프로그래밍 자체에도 영향을 미칩니다.
    누군가가 괭이를 들고 또 한 번 들고 땀이 발밑에 떨어질 때, 그들이 무슨 생각을 하는지 알 수 있을까? 물론 말하기 어렵지만, 직접 가보면 알 수 있을 거예요. 하지만 아마도 같은 거야, 몇 가지만 있을 뿐이야: 왜 이 태양은 이렇게 독이 되는 거지? 왜 이렇게 돌이 많아? 여기서 심기에 가장 좋은 곳은 어디일까요? 며칠 동안 진행되나요? 이건 너무 느려서 기계가 있으면 얼마나 좋을까. 물론, 이것은 전부에 불과하며, 누구나 많은 아이디어를 낼 수 있습니다.
    그렇다면 우리가 맨 금속 개척을 할 때 무엇을 생각해야 할까요? 아마도 우리의 일반적인 생각은 이렇습니다: 먼저 간단한 함수를 하고, 중요한 함수를 먼저 처리한 뒤, 오늘 이 함수를 디버깅한 뒤 내일 다음 함수를 하면, 왜 제가 상상했던 결과와 다르겠습니까? 정말 설명이 안 돼! 잠깐만 기다리세요.
    만약 당신이 어떤 작업을 받고, 테스트 플랫폼을 구축한 뒤 프로그램을 만들고, 한 함수씩 생각한 뒤 성공의 기쁨에 취한다면, 이 프로그램을 하는 것은 사실상 생각이 없는 상태라고 부릅니다. 신중한 프로그래밍은 소스 코드를 한꺼번에 쌓아서는 안 됩니다. 왜냐하면 그러면 중복 여부와 모순이 있든 없든 상관없이 무딘 숫자들이 조심스럽게 빽빽하게 쌓일 뿐이기 때문입니다. 그래서 소스 코드를 작성하기 전에 어떻게 작성할지 생각해야 합니다. 많은 사람들이 글을 쓰기 전에 작업을 모듈화하고 프로그램을 조직하는 등 비슷한 문제를 생각해본 적이 있을 것입니다. 하지만 이러한 생각은 작업 문제일 뿐, 네이키드 프로그래밍의 개념은 아니며, 네이키드 프로그래밍은 작업 모듈 조직 과정과 빈 프로그램 작성 시 소스 코드 조직의 지침 이념에 영향을 미쳐야 하며, 이는 소스 코드의 품질을 직접 결정합니다.
    데이터 구조, 모듈 형성, 마이크로컨트롤러 명령어, 하드 명령어 작동 메커니즘, 마우스 라인 구동 모드, 인터럽트 시퀀스, 점프 지연, 코드 위치, 논리적 조직, 모듈(런타임 상태) 및 디스(비런타임 상태) 관계 등이 모두 네이키드 프로그램 아이디어의 구성 요소입니다.
    이것은 사소해 보일 수 있지만, 베어 프로그램은 본질적으로 호스트 프로그램과 다르고 강력하고 완전한 운영체제 지원을 제공합니다. 마이크로컨트롤러에 운영체제를 심는 것은 불가능하므로 취향이 바뀌겠지만, 누군가가 갑자기 '누구누구 마이크로컨트롤러에 운영체제가 있다'고 말하게 두지 마세요. 네이키드 프로그램의 품질은 애플리케이션에서 느껴지지 않을 수 있지만, 당신이 할 수 있고 기능을 달성할 수도 있지만, 좋은 네이키드 프로그램은 확장성, 유지보수 가능성, 그리고 높은 안정성과 성능을 갖추고 있습니다.
    이 고급 기술 영역을 추구하는 과정에서 우리는 올바른 아이디어를 제시해야 합니다. 좀 혼란스러워 보이니? 일반적으로, 훌륭한 영혼을 소스 코드에 심어주고 소스 코드에 훌륭한 아이디어를 부여하는 것입니다.




이전의:원자재 가격 Tracker_Aibi 가격 추적기 1.0 다운로드
다음:pic16F877A는 온도 및 습도 센서 DHT11을 구동합니다.
게시됨 2018. 6. 12. 오후 4:20:49 |

부모를 알아가세요 멋지네요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com