스터디자료/Python 스터디

python study 시작과 최종 계획

바위맨 2017. 12. 29. 21:36
반응형

현업에서 나름 3년 동안 '개발자'라는 이름을 달고서 개발을 해보았다. 

프로그램 개발해 왔다. 라는 말에서 일반적으로 떠오르는 생각은?

 1. 윈도우에서 실행되는 프로그램

 2. 아이폰 or 안드로이드용 프로그램

이 두 가지라고 생각한다. 그러나 내가 배워왔고 해온 프로그램은 그 보다 훨 씬 밑단에서 시작되는 코딩이다. 


매우 작은 OS를 개발하고, 포팅해서, 최적화를 하고, 해당 환경에서 성능을 뽑아낼 수 있는지, 그리고 규격을 준수하는지를 테스트한다. 이 경우는 어떻게 저의해야 할까. 

  임베디드 + OS + Java virtual machine


정도로 적을 수 있을것 같다.


그런데, 개발 과정에서 불합리 하다는 생각이 드는 부분이 있어서 새로운 무언가(things)를 스스로 만들어서 써야한다는 생각을 하게 되었다. 

안드로이드나, Ios같이 많은 사람이 사용하는 플랫폼의 경우에는 많은 정보가 공유되고 유용한 자료들 또한 다 수 생성된다. 그러난 현업에서 사용되는 프로그램들은 오픈되어 있지 못하고 공유가 불가능 하기 때문에 너무나 큰 제약을 가지고 개발하게 된다. 

 시뮬레이터 없는 개발환경, 에뮬레이터만을 통한 디버깅, 매번 달라지는 디버깅 환경은 개발 과정에서 큰 허들로 작용했다. 


최종 적으로는 

 임베디드 OS의 개발을 편리하게 할 수 있는 IDE를 개발한다. 

그 중간 과정1에서는 

 virtual machine 시뮬레이터를 통해서 코드 중간 테스트를 가능하게 한다. 

그 중간 과정2 에서는 

 IDE를 통해서 이전 과정의 결과물과 Compiler가 유기적으로 연동되어 사용할 수 있도록 한다. 

그 중간 과정 3 에서는 

 에뮬레이터를 사용하는 것과 동일하게 시뮬레이터를 사용할 수 있도록 한다. 


과정 1 에서는 QEMU 를 기반으로 모듈을 개발해서 사용하는 방향으로 생각 중이고, 

과정 2 에서는 IDE를 구성하는데 적절한 어떤 언어를 사용할 계획이다. 

과정 1~3에서는 Python을 사용함으로써 생산성을 향상할 수 있도록 해준다. 


전체 그림은 패드를 통해서 작성해서 추가하는 것으로 하자. (컴퓨터로 그리면 너무 오래 걸리니까. )

가상머신의 동작과 image의 로딩/디버깅부터 차근 공부하고, 각 모듈의 개발에 python의 사용 가능 여부를 확인하면서 가능하면 활용할 수 있도록 해보자. 



반응형