Pharo5 :: system reporter

 

Pharo 나 squeak 은 전통적으로 시스템에 대한 부분을 workspace 에서 확인하게 되어있습니다만… 최근의 Pharo5 를 보니 기존의 방법을 그대로 사용할 수 없는 대신 새로은 도구가 들어갔습니다.

 

바로 System Reporter 인데요.. 현재 사용하고 있는 vm 의 구동시 여러가지 옵션등을 알 수 있는 툴입니다. plugin 및 vm 자체에 대한 사용 옵션등이 바로 그것인데요.. 내가 현재 사용하고 있는 VM 에 대해서 여러가지를 알 수 있어서 보다 유용하다고 생각합니다. 그렇다고 예전과 비슷한 방법이 없는건 아닙니다. 그건 다른 글에서 소개하도록 하겠습니다.

opensmalltalkvm

예전에는 분명 다른 방법으로 소스가 제공되었던 기억이 납니다만…. 이제 Pharo 와 CogVM 진영도 트렌드에 발 맞추어 github 을 이용하기 시작했습니다.

https://github.com/OpenSmalltalk/opensmalltalk-vm

우리가 익히 알고 있는 방식으로 git clone 을 사용해서 소스를 내려 받으면 됩니다만.. 사실 얼마전부터 노리고 있던 이유는 따로 있습니다. 소스트리 내에 제가 주목할만한 부분이 새로 생겼기 때문이죠.

build.linux64x64

 

….마………..만쉐????

어차피 pharo 를 사용하려면 VM 만 있으면 안되죠. 그래서 http://pharo.org 사이트에서 이미지를 받으러 갔더니.. 어머??

 

완.전.좋.은.데.이.거?

 

일단 Pharo 5.0 에서는 해당되는 이미지를 받아놓고 소스도 받아서 vm을 빌드하려 하는데..

build.linux64x64 디렉토리 안쪽에 makeall 이라는 스크립트가 보이네요?……… 어머? 뭔가 날로 먹을 수 있을거같은 느낌적인 느낌?

 

일단 컴파일은 잘 되는 중입니다. 사실 64bit vm 이 중요한 이유는 여러가지 이유가 있을 수 있겠습니다만.. 직관적으로만 본다면야.. lib32 시리즈를 필요로 하지 않는 부분이 가장 크지 않나 싶습니다. 그리고 sdl 부터 시작해서 각종 primitive 객체들이 보다 원활하게 동작한다는 의미겠죠. 일단 pharo 사이트의 내용으로만 본다면야.. 조금 experimental 한 부분이 있을수도 있겠습니다만… 폴더 자체에서 3개 플랫폼의 x64 를 지원하는걸 보면 나름대로 안정적이지 않겠나 생각합니다.

 

아마도 build.linux32ARMv7 정도만 있는걸 보면 아직 라즈베리상의 64bit linux 까지는 개발을 못하고 있는듯 합니다만…. linux64x64 개발이 어느정도 마무리되면 의외로 쉽게 빌드할 수 있지 않을까.. 라는 생각도 드는군요.

 

사실 사용하는것만이 아니라 제대로 공부를 해보고 싶기는 한데.. 그래야 ImmX11Plugin 도 다시 손보고 할텐데.. 아직은 시간이 요원하니.. 일단 64bit VM 을 즐겨보는걸로 만족해야 겠습니다 😀

pharo 의 update 는 이렇게 하면 되네요.

이전에.. 그러니까.. 흠 CogVM 삽질작업이 끝나기 한참전에 smalltalk-kr google groups 에 질문을 올린적이 있습니다.

이질문이죠.

개인적으로 하던것도 있어서 시도는 해보지 못했었습니다만.. 이번에 XIM patch 작업을 끝내고 나서 슬슬 update 를 쳐야하는데.. 싶었습니다. 급한것도 끝났겠다..(뭐 이제야 좀 쓸 마음이 들었다는쪽에 가깝겠습니다만..) 이제 좀 해볼까 했는데 beta 버전의 image 로는 좀 찝찝하기도 하니깐요(그리고 저는 새버전 덕후거든요) 그래서 살펴보던중에…

20131217_pharo_update_01

응? 야? …. 이미 pharo 에는 software update 기능이 있더라구요…하하하하. 역시 흘려보는걸 게을리 하지 말아야 합니다…(풀썩) 사실은…. 저 기능 이용해서 update 실패했어요…(하하하하) 너무 오랜만에 update 를 친 후유증인듯 합니다…..T.T

 

이 글을 쓰게된건 실패한것을 집고자 했던게 아닙니다. update 진행 중간에 흥미로운 화면을 봤기 때문이죠.

20131217_pharo_update_02

 

흠… code 또는 class level 에서의 diff tool 인거같습니다. 내부에서 이런식으로 표현되는 도구가 smalltalk 에 있을줄은 생각도 못했거든요. 사실 저정도 수준이라면 gnome 의 meld 수준의 인터페이스도 나오는듯 합니다. 내부가 어떤식으로 구현되어있는지는 꽤나 흥미롭습니다만…. 저 화면의 class 를 조사하는걸 잊어먹고 귀찮아서 이미지를 이미 overwrite 해버렸…(쿨럭)

 

시간이 날때 한번 찾아볼만한 필요는 있을거같습니다. 생각보다 유용한 도구일거같거든요. 혹시 정확하게 아시는분 있으면 알려주심 땡큐욤~