어셈러브 운영자들이 모여서 Great Code 스터디를 진행하게 되었습니다. 제가 읽은 부분에 대해서 독후감을 쓰면서 여러 선배님들의 의견도 듣고 싶어서 이렇게 블로그에 올립니다. 부디 어설픈 글이라도 눈감아 주시길 부탁드립니다. ;-)
1장
- 컴파일러 최적화 기능에 대한 오해
컴파일러는 최적화 기능을 이용하면 고급 언어를 가지고도 어셈블리로 만든 프로그램에 비해 90% 정도의 성능을 낼 수도 있다.
하지만 이렇게 최적화를 하기 위해서 조건이 있다!!
그정도의 성능을 내기 위해서는 그에 합당한 방법으로 고급언어 코드를 만들어야 한다.
고급 언어 문법을 충분히 이해하고, 내가 작성한 코드가 어떤 어셈블리 코드로 변환될지 예측하고 통찰할 수 있어야 컴파일러가 최적의 코드를 만들 수 있도록 고급언어 코드를 만들 수 있다.
- 어셈블리 언어의 필요성
고급 언어가 어떻게 어셈블리로 변환되는지
어떻게 기계가 동작하고 어떻게해야 빠르고 효율적인 코드를 만들 수 있는지를
다루고 있는 책이 몇권 있지만 저는 great code, binary hacks 라는 책을 가지고 있습니다.
great code는 올해 안으로 읽으려고 계획한 책이구요.
어셈블리를 누가 왜 어떻게 사용하고 개발하고 있는지 알아보기 위해 다음과 구글에서 검색해보았습니다. 정량적으로 수치를 파악하지는 않았지만 전체적으로 눈에 띄는 내용들을 살펴본 결과입니다.
=================================================================
[ 국내 인터넷 컨텐츠 분석 결과 ]
주제 사마라구의 눈뜬 자들의 도시를 읽었습니다.
작년에 눈먼 자들의 도시를 읽고 인간이 육체적으로 극한 상황이 되면 어떻게 변해가는지 인간의 본성이 무엇인지 생각을 많이 했었습니다. 군대에 있을 때 비겁하고 나약했던 제 모습도 생각나서
아래처럼 find 기능을 하는 2개의 함수를 만들었습니다. 그런데 시작 반복자와 종료 반복자를 비교하는 부분을 != 로 하느냐, <= 로 하느냐에 따라 결과가 조금 다릅니다.
저는 C외에 다른 언어는 자바와 C++ 수업을 4~5년전 한학기 들어본것밖에 없습니다.
사실은 블로그를 신청하면서
"좋은 프로그래머가 되려면 어떤 사람이 되야 할까"라는 주제를 가지고 틈틈히 쓴 글들을 올리고 싶었습니다.
틈틈히 써놓은 글도 있어서 블로그만 생기면 글을 쓰려고 마음억었습니다.
그러던 중에 제가 온라인에서 소통이 잘 안되는 것을 느꼈습니다.
http//wiki.kldp.org/wiki.php/gurugio/LinuxClass
다른 일들이 겹쳐서 잠시 연기됬었습니다.
수업 내용을 좀더 다듬어봤습니다.
특히 수업 시간 배분이 적당할지 모르겠습니다.
한번의 수업이 1시간 15분 입니다.
각 내용별 수업 시간 배분이 적당한지 봐주시면 합니다.
수업 시간이 안적혀있는 것은 바로 위에 수업 시간이 적힌
그 내용과 같이 다뤄지는 것입니다.
많은 분들께서 도와주셔서 점점 진척되가고 있습니다.
FOSS의 힘을 느끼고 있습니다. D
자유게시판에도 올렸지만 답변이 적어서 여기도 글을 올립니다. 제가 u-boot라는 부트로더를 PXA270 보드에 포팅하는 과정을 적은 문서를 만들고 있는데요
제가 참고했던 다른 문서나 웹 페이지등등의 글들을 어떻게 인용해야 하는지 그리고 GPL을 따른다고 할때 어떤 문구를 추가시켜야 하는지등등
공개 문서를 만들 때 지켜야 할 사항들에 대해서 가르쳐주시면 정말 감사하겠습니다.
모두 바쁘신 분들이라서 이런 부탁 드리기가 어렵지만 최소
KLDP 블로그는 그다지 화려하지도, 많은 기능을 제공하지도 않지만 F/OSS, IT에 관련된 충실한 내용을 담고자 노력하는 분들이 함께 만들어 나가고 있습니다. 혹시라도 이곳에서 블로그를 운영하시고자 하는 분은 이곳으로 어떤 내용으로 운영하실지를 알려 주십시오. 확인 후 개설 여부를 결정하여 알려 드리도록 하겠습니다.