한국산업인력공단 기출문제

(16시 26분 31초) [규림]: 정확히 말하자면 산업인력공단 홈페이지로 가야 하지요 -_-;;
(16시 26분 47초) [규림]: 거기서 일반자료 – 공개문제/출제기준 게시판에 보면
(16시 26분 56초) [규림]: 최근 회차별로 기출문제가 나와 있어요
(16시 27분 34초) [규림]: 출제기준도 읽어보면 은근히 도움되는문서 -.-
(16시 27분 50초) http://dasomoli.org 놀러오세요! – 다솜돌이(政錫): 아~ 그러네~
(16시 27분 51초) http://dasomoli.org 놀러오세요! – 다솜돌이(政錫): ㅋㅋㅋ
(16시 27분 53초) http://dasomoli.org 놀러오세요! – 다솜돌이(政錫): 고마워~

이러는 겁니다!

Feisty fawn으로 업그레이드!

우분투 Feisty fawn(7.04)이 정식 릴리즈된지 며칠 지났는데도 시험기간이라 업그레이드를 미루고 있었습니다만, 오늘 드디어 업그레이드를 했습니다! 공대 열람실에서 Nespot으로요.;;(덕분에 시험은..OTL)

6.10을 사용하다가 7.04로 업그레이드하고 나니 기존 환경에서 몇가지 바뀐 것들이 있네요.

일단 처음 눈에 띈 것은 ttf-alee를 글꼴이 예쁘지 않게 나온다는 겁니다. 이에 관해서는 KLDP글들도 있고 하니 설정 후에 다시 포스팅하죠~

두번째는 “시스템”/”관리” 에 “제한된 드라이버 관리자” 라는게 생긴 겁니다. 멤버십에 있는 geforce를 사용하는 PC에는 이미 feisty를 깔았는데 여기서 “활성화” 던가 하는 걸 체크하니 알아서 드라이버를 다운받아 설치해주더군요!

세번째는 NTFS-3G가 기본 저장소에 추가된 듯 보인다는 겁니다. ntfs-3g를 저장소 추가없이 그냥 설치할 수 있는 듯 보이네요. 게다가 ntfs-config 라는 도구를 설치하면 “프로그램”/”시스템 도구”에 “NTFS 쓰기 지원 설정 도구”라는 게 생기는데 이 도구를 실행해서 장치에 맞게 체크만 해주고 확인 버튼을 누르면 알아서 fstab 내용을 바꿔주고 마운트해줍니다. ㅎㅎ

ntfs-config
NTFS를 ntfs-3g로 자동으로 마운트해주고 fstab 내용도 알아서 수정해준다!

이 것 말고도 여러가지 많을 듯 한데 쓰다가 생각나는데로 틈틈히 또 포스팅하겠습니다.

결론은! 저어어어엉말! 더 편해졌다는 거예요!

졸음 버그

글에 앞서 프로그래머를 졸린 상태에서 일하도록 하면 안된다고 강력히 주장합니다.

제가 요즘 좀 많이 바쁩니다.

Todo list로 적어봤더니 노트가 꽉차더군요-_-

어제 밤에는(정확히는 오늘 6시까지) 과제기획서를 위한 자료 준비를 하고 6시부터 아르바이트로 하고 있는 프로그램을 코딩했습니다. 코딩 중에는 정말 난리도 아니었죠. 졸린 눈 비비고 깜빡 졸았다가 다시 타이핑하고, 커피를 냅다 위에다 붓고.. 이게 수요일까지 완성되어야 하기 때문에 정말 바쁩니다. 게다가 전 다음주 일요일부터 시험이라구요! 이번주 일요일까지는 과제 기획서, 기말 프로젝트 보고서를 제출해야 하고, 화요일까지 프로그래밍 과제도 있고, 수요일까지 프로그래밍 및 UML 보고서를 제출해야 하고, 같은 날에 Vigenere 암호 해독 프로그램을 작성해야 하며 시험기간이 끝나자마자 알고리즘 22개에 대한 설명과 최선, 최악, 평균에 대한 예제를 만들어서 손으로 풀어서 제출해야 하고, 프로그래밍 언어론에서 프로젝트를 진행할 언어를 선정하는 게시글을 올려야 하며, 토론글을 작성해야만 합니다.(그렇지만 더 나쁜 건 이게 다가 아니라는 겁니다. 더 많이 있어요-_-) 잠을 줄이지 않고는 할 수가 없겠더군요.

그래서 잠을 줄였습니다.

그 결과로 아침에 다음과 같은 코드를 작성했답니다.

   for(i = 0; 1 < 10; i++)    {
       ar >> sData.inclineStart    [i];
       ar >> sData.inclineEnd        [i];
       ar >> sData.inclinePercent    [i];
   }

뭐가 잘못됐는지 보이시나요? 저는 제가 평생 이런 코드를 짜지 않을 거라고 생각했습니다. 저런 코드를 짜는 프로그래머는 “죽어야 된다”고 생각했죠-_-;;; “어떤 바보멍청이가 저런 코드를 짜?” 라고 생각했죠. 그 바보 멍청이가 오늘 제가 될 줄은 꿈에도 몰랐답니다.

이 것 말고도 몇가지 사고(!)들을 일으키는 코드를 아침에 수없이 양산해냈죠; 저장을 두 번 한다던지.. 배열의 index를 다른 변수의 index와 헷갈린다던지.. 이게 저 혼자 짜는 프로그램이니 다행이지 협업되서 돌아가는 프로그램이었다면 어땠을지 정말…

음주 코딩, 졸음 코딩.. 정말 없어야 합니다. 음주 코딩이나 졸음 코딩을 해야 할 정도로 프로그래머를 괴롭히지(!) 마세요. 두배, 세배, 열배, 백배가 되어 다시 돌아옵니다.(대부분 프로그래머에게 다시 돌아오게 되어 프로그래머를 더 힘들게 하긴 합니다만)

근데 지금도 정말 졸립고 힘드네요.

프로그래밍 언어 – Lisp

프로그래밍 언어 강의 시간에 들었던 Lisp 강의를 들으면서 요약했던 부분이다.
지금 보니 뭘 요약, 정리해놓은 건지도 잘 모르겠다..;;

quote(abc) == ‘abc 수정 X

* Interpretation & dynamic typed 언어

* 모든 표현에 대해 평가(evaluate)하고 결과값(retrun value)를 생성함.

* Lexical scoping(scope를 안에만 보는 것:Look inside, never outside, local 우선) indefinite scoping(scoping에 제한 없음)을 사용함.

* Atom(자르면 안됨)과 List 중심의 표현되는 s-expression의 언어

* Atom : refer to just about any s-expression that connot be taken apart

* q는 얼음, 아닌건 땡(…)

* (+ 2 (setq x (* 3 4))) 는 스택 사용, *는 binary operation이므로 parameter가 두 개, x는 중간에 binding 됨.

* ‘( )’ 는 리스트 ‘(‘를 열면 리스트 만듦.

* setq은 pointer와 비슷한 개념

* (set x ‘z)는 (setq y z)와 같다.

* s-expressions은 괄호가 열리면 꼭 닫혀야 한다.

* (a (b c) d) 같은 건 binary tree등을 나타내는데 쓸 수 있음.

* (car (cdr ‘(a b c))) == (cadr ‘(a b c))

* nil은 type이 없다


* function define
(defun fname (v1, …, vn)
       (body1) … (bodym))

* predicate: T/nil 을 리턴함

(atom a) -> T: A가 atom 이냐

(atom ‘(a b))

* mapping functions : mutilple operation

* property list : DB, global(또, get,  set)

프로그래밍을 하면서 생긴 몇 가지 버릇들..

어렸을 때 부터 프로그래밍을 하다보니 저도 모르게 나오는 버릇들이 몇 가지 있습니다.

첫번째는 종이에 연필로 곱셈을 할 때나 수식 계산을 할 때 2 X 2 식으로 쓰는 것이 아니라 2 * 2 로 쓰게 되는 거죠. X 기호보단 * 기호가 더 익숙하게 되버렸거든요.
두번째는 수를 1부터 세지 않고 0부터 센다는 것인데 세어나가는 모든 수를 인덱스 개념으로 생각해버리게 된 겁니다.
(추가1) 세번째는 K(킬로)와 같은 단위를 1000 단위로 생각하는 것이 아니라 1024단위로 생각하게 되버린 겁니다.;;

이 것 참…

이  것 말고도 굉장히 많이 있는데 어째 적어보려니 생각이 나질 않네요. 생각나는데로 추가해야지 흐흐..

MIPS 시뮬레이터의 버그

학교에서 컴퓨터구조 수업을 듣는 중입니다.
IA-32(교수님 표현을 빌리자면 걸레-_-) 구조가 아닌 간단한 MIPS 아키텍처에 대해 배우고 있는데 MIPS Instruction set 을 이용해서 간단한 ASM 프로그래밍을 과제로 내주셨기에 어제 열심히 했더랍니다. 시뮬레이터로는 PCSpim 이라고 하는 윈도우즈 기반(이 것부터 잘못일지도 몰라요-_-) 시뮬레이터를 썼습니다. SPIM 은 Unix/Linux 기반의 콘솔 환경에서 사용할 수 있는 도구입니다. PCSpim은 그를 윈도우즈의 GUI 환경으로 만든거구요.

그런데! 아무리해도 원하는대로 답이 안나오는 겁니다!

답이 안나오면 가장 먼저 의심하는건 접니다-_-;; PC는 거짓말을 하지 않잖아요?
이거 뭔가 이상하다고! 컴파일러가 잘못되었다고! 외쳐봐야 나중에 보면 결국 자기 탓이기 마련입니다.

그런데 어제는 아니더군요.(컴파일러는 아니니 그럴 수 있는 건지도 모르겠지만요~ 😉 )
코드를 열심히 들여다보고, 내 능력이 이 거 밖에 안되나~ 한숨도 쉬어보고, 다시 아무리 코드를 들여다보면서 돌려봐도 안되는 겁니다. 난감하더군요.
결국 차례차례 나눠서 한 스텝씩 진행해보았습니다. 자세히 한스텝씩 진행하며 살펴보니 이 PCSpim 이란 놈이 자기 멋대로 Stack Pointer Register 값을 바꿔버리고 있더군요. 그래서 $SP 의 값을 가지고 리턴하는 부분에서 엉뚱한 곳으로 리턴하면서 Exception을 툭툭 뱉어내고 있는 것이었습니다.

사용자 삽입 이미지
jump전의 $SP값

사용자 삽입 이미지
$SP값이 제멋대로 바뀌었다!

그래서 바로 리눅스로 재부팅하고! 우분투의 소스리스트에 있는 SPIM 을 설치하려고 했으나 제대로 동작하지 않길래 소스를 받아다가 소스 컴파일하고 설치를 했죠.

바로 결과가 나오더군요-_-… 아까운 제 3시간은 그렇게 흘러갔습니다. 버젼이 7.3이나 되는 놈이 이럴 줄은 몰랐답니다ㅠㅠ

추가 : 다른 컴퓨터에서는 제대로 돌아가길래 PCSpim을 재설치하고 다시 해보았는데도 안됩니다. 그래서 뭔가 이상하다 생각하고는 Simulator 메뉴의 Settings… 에 있는 옵션들을 건드려보았는데 Delayed Branches 와 Delayed Load를 체크상태로 두면 (제 노트북에서만) 제대로 동작하지 않습니다. 이게 어떤 역할을 하길래 $SP 값을 마구 바꾸는 건지 모르겠네요. 게시판에 질문을 올렸는데 답변이 오면 또 추가하도록 하겠습니다.

저는 정부 문서의 ODF 채용을 지지합니다!

위에 걸린 두개의 배너가 보이시나요?
“정부 문서의 ODF 채용을 지지합니다” 란 문구가 보이시나요? ㅎㅎ(클릭하시면 KLDP의 서명운동 페이지로 이동하실 수 있습니다. 부탁드려요!)

배너를 보시고 ODF 가 무엇인지 궁금하신 분들도 있으실 겁니다. ODF가 무엇인고 하니 “Open Document Format”의 약자입니다. 자세한 것은 여기를 참고해보세요~

간략히 설명드리자면 MS Office나 한글2005와 같은 프로그램에 종속적인 파일 형식이 아닌 모두에게 규격, 구현 방법 등이 공개된 파일 형식을 말합니다. 한글 시리즈의 HWP나 MS Word의 DOC, MS Excel의 XLS 등의 파일 형식은 각각 회사가 비공개하고 있기 때문에 각 파일 형식을 지원하려면 회사와 계약을 한다던지 하는 것을 해야겠죠.(이는 당연히 비용 문제로 이어집니다.)

그러나 파일 형식의 모든 것이 공개되어 있다면 그 파일을 이용하기 위해서 꼭 특정 회사의 프로그램을 사용하지 않고도 그 파일 형식을 지원하는 다른 어떠한 프로그램으로도 이용할 수 있게 되는 것입니다. 자, 그래서! 여기서 말하는 모두에게 공개된 파일 형식이 바로 ODF입니다.

정부문서와 같은 공공 문서는 국민 누구나가 어떠한 제약없이도 사용할 수 있어야 합니다. 그러나 정부 문서가 특정 회사의 프로그램을 이용한다면 정부의 문서를 이용하기 위해서 그 특정 회사의 프로그램(예를 들면 마이크로소프트 오피스나 한글)을 구매하여야 합니다.(지금 한번 오피스나 한글의 가격을 검색해보세요!) 정부문서는 구매할 능력이 없는 사람에게 “못사면 안쓰면 그만 아니오?”라고 할만한 성격의 것이 아닙니다.

그러므로 당연히 정부의 문서들은 공개된 파일 형식인 ODF가 되어야 함이 마땅합니다.

ODF가 되면 기존의 수많은 문서들은 어떻게 할 것인가에 대한 걱정이 앞서신다면, 미래의 일을 다시 한번 곰곰히 생각해보세요. 현재까지의 문서들에 대해서 그런 걱정이 된다면 앞으로 계속 쌓여나갈 문서들 역시 특정 회사에 목매게 되지 않을까요? 이제라도! 더 늦기전에 ODF로 전환하여야 합니다.

ODF는 공개되어 있으므로 어떤 프로그램에서도(MS Office나 한글에서도!) 구현될 수 있습니다. 이는 나중에 어떠한 프로그램으로도 전환할 수 있다는 것을 뜻하며 무료 프로그램이 있다면(!) 비용 부담 없이도 무료로 이용할 수 있음을 뜻합니다. 능력이 된다면 직접 만드셔도 되요! 🙂

여기 제가 말한 것 말고도 정부 문서를 공개 파일 형식인 ODF로 하였을 때 얻을 수 있는(언급한 특정 회사에는 타격이 될 수도 있겠지만) 이익은 수도 없이 많습니다. 국민 모두의 이익이죠!

더 망설일 필요가 무엇입니까? 어서 ODF로 전환하자구요!

서명운동에 동참하시고 싶으시다면 여기를 누르시거나 상단의 배너를 꾸욱 눌러주세요!