2019년 2월 19일 화요일

[20190219] 잡설 - 시작은 좋았어

오늘 작업은 느낌이 좋았다.

시간을 충분히 들여 Code 의 완성도를 하나 하나 살피며 작업했고 충실감과 만족감이 나를 끌어 안았다.

작업은 2시간 반 동안 이어졌고, 이후 휴식을 가졌다.

1시간을 꽉 채워 휴식을 취하고 작업을 다시 시작했다.

오늘은 몇 일간 끌어온 작업에 진전을 보는 날이었기에 준비해온 기능들을 차곡 차곡 쌓아서 완성시켜 나갔고 기능상에 문제는 없어 보였다.

고통없이 원만하게 작업이 끝나는가 했지만... 그럴리가 있나.
세부적인 동작들을 다듬기 직전에 Json Parsing 과정에서 문제가 발생하기 시작했다.

Online Json Parser 를 돌려봐도 형식에 문제가 없고, Table 을 열어봐도 문제가 없었다.
오만 삽질을 1시간 가까이 한 이후에야 이 문제가 이전 프로젝트에서 겪은 적이 있는 서식 문제라는 것을 알게 되었다.

Table에서 Json 파일을 Export 하는 과정에서 Json에 서식이 포함되는데 - "\n" 이나 공백문자등 - 이 녀석들이 미묘한 차이로 - 공백이 몇개나 이어지는가등 - 문제를 일으키는 경우가 있는 것이다.

이번 경우에는 특정 구간에서 공백문자를 3개쯤 줄였더니 문제가 사라졌다.

동일한 Data 형식이 사용되는 곳을 모두 찾아서 공백을 줄여놓고, 홀가분 하게 다듬기 작업을 시작했지만 흩어진 집중력은 돌아오지 않았다.

평소 같으면 한 번에 끝낼 작업을 3 - 4번씩 손보면서 간신히 작업을 이어나갔고
예정된 작업시간을 1시간 넘겨서야 오늘치 작업을 끝냈다.

하아...

( '_')y-~


---------------------------------------------------------------


내 macbook 이 주인을 잘못만나서 고생을 시작한지 6년째.
슬슬 ssd를 교체해줘야 할 시기다.

돈이 들겠구나.

( '_')y-~

> 16만원쯤 깨질 것으로 예상.


---------------------------------------------------------------


20190220

가끔...

여유 있었을 때 고전 게임 제작 기법들이나 연구해둘걸

...이라고 후회한다.

( '_')y-~

> 매일 매일 고전게임 Speed Run 영상 보면서
> 저 기능은 어떻게 만든거지?
> 저 Animation은 몇 frame 이지?
> ...같은 걸 고민해서 그런건 아냐. @_@

> 더 늦기 전에 하고 있는건 다행인가...


---------------------------------------------------------------


20190221

엉겁결에 이동불가 기능 구현을 위한 준비가 되어버렸네.
개이득.
( '_')y-~


---------------------------------------------------------------


20190221

Code를 개선하지마.
방치해.
상하기 직전까지 묵혀.
( '_')y-~


---------------------------------------------------------------


20190222

혹여 cocos 에서 오래전에 제공했던 cocos studio를 사용하는 사람중에 비정상적인 json export 문제로 때문에 고생하고 있을 사람들을 위해 Tip 을 남겨 놓는다.

방금 이 문제를 겪었던 기억이 분명하게 떠올랐다.

절박한 사람이라면 여기에 도착할 지도 모르니까.
( 내가 마지막으로 절박했을때는 문제 해결에 반년이 넘게 걸렸었어... 그때 문제는 android 한정으로 bluetooth controller가 mobile device에 접속하면 java 의 view가 재할당 되고 덤으로 shader 가 와장창 깨지는 문제였어... 어이 cocos.. 그거 지금은 고쳐놨나??? )

cocos studio 에는 여러 툴이 들어 있고 그중에 data manager 라는 것이있다.
이 녀석은 excel 파일을 json 으로 export 하는 녀석이다.
이 녀석은 종종 json export 과정에서 문제를 발생시키는데 데이터가 잘려서 나오는 것이다.

가장 쉬운 해결책은...
첫 Row를 충분히 크게 만들어 놓는 것이다.

너무 너무 귀찮기 때문에 Code 를 열어 보지는 않았지만 이것은 분명한 해결책이다.
해결되지 않았다면 내가 아직도 쓰고 있을리가 없으니까 믿어도 좋다.

이 문제가 발생했을때 Json 파일을 열어보면 문자열이 원본 Data 에 있는것과는 다르게 잘려 있다는 것이 확인된다.

그래서 가설을 세워봤다.

1. 특정 Row의 Data량이 크게 늘어나면 원본 Json 문자열이 잘려 있다.
2. exporter 내부에 char buffer 가 있을 것이다.
3. 어떤 Data는 크기가 충분히 큼에도 잘리지 않는다.
4. buffer의 크기가 동적 할당된 이후에 변경되지 않는 것이 아닐까?

그래서 첫 Row의 크기를 Dummy Data를 가득 넣어서 아주 크게 만들어봤고.
문제는 발생하지 않았다.

그랬었어..

한 3년전에 말이야.

( '_')y-~

댓글 없음:

댓글 쓰기