Ruby Marshal 바이너리 파일을 읽는 C++ 프로그램을 개발 중

이미지
Ruby의 Marshal(직렬화)된 포맷 바이너리를 읽어서 출력하는 C++ 프로그램 을 만들고 있다. 몇몇 루비 토큰(Ruby 자료형을 구분하는 1개의 문자)들은 아직 처리하지 못했다. 대표적으로 USER_DEF 토큰이 그렇다. 토큰 정보는 아래 링크에서 많은 도움을 얻었다. https://docs.ruby-lang.org/en/2.1.0/marshal_rdoc.html 아래는 C++ 출력 결과이다. Start reading "marshals/marshal/game_system_instance.rxdata" object of class Game_System   :@encounter_disabled   false   :@magic_number   66   :@timer   99   :@save_count   77   :@map_interpreter   object of class Interpreter     :@wait_count     0     :@depth     0     :@branch     {     }     :@message_waiting     false     :@child_interpreter     nil     :@event_id     0     :@button_input_variable_id     0     :@main     true     :@move_route_waiting     false     :@map_id     0   :@menu_disabled ...

[mkxp-z] A graphics card that supports OpenGL 2.0 or later is required.

이미지
윈도우에서 빌드한 mkxp-z Executable 파일 실행 시, 이런 에러가 발생했다. 그래픽 카드 드라이버를 설치하면 해결될 수 있다. GTX 970를 사용중이었는데 드라이버를 설치해서 해결됐다.

산티아고 순례길 634km을 완주했다

이미지
지난 1달간 유럽에 다녀왔다. 포르투갈 리스본에서 출발하여 스페인 산티아고 콤포스텔라에 도착하는, 634km 거리의 포르투갈 길( Portuguese Way )을 걸었고 23일만에 완주했다. <최종 목적지: 산티아고 콤포스텔라 대성당> 내가 순례길을 갔던 이유는 단순하다. 그냥 걷는 게 좋아서, 그리고 오래 걷고 싶어서였다. 걸으면 생각을 정리하는 데도 아주 조금 도움이 됐다. 거기서는 매일같이 8~12시간씩 순례길을 걷는 게 일상이었다. 산, 들, 밭, 고속도로, 주택가, 바닷가, 사람이 붐비는 도시, 성당, 성소 등 다양한 환경들을 음미하면서 걷는다. 걷다가 중간에 Snack Bar나 식당에 들러 빵, 커피, 맥주로 허기를 채운다. 충전된 에너지를 다시 걷는 데 사용한다. 순례자 전용 숙소인 알베르게(Albergue)에 도착한다. 내 몸에 있는 땀과 노폐물들을 샤워기로 쓸어내리고, 이어서 손빨래를 한다. 하루 일과를 마칠 쯤엔 몸이 노곤노곤하여 맛있는 잠을 잔다.  다음 날 아침 5~6시에 일어나 아침을 먹고 다음 도시로 이동한다. 내가 메고 갔었던 배낭의 무게는 내용물 포함해서 약 6kg 정도였다. 여행이 끝날 때까지 배낭과 한 몸이 돼야 하기 때문에, 최대한 배낭의 무게를 줄이려고 고민을 많이 했다. 특히 랩톱을 챙기지 않았던 걸 정말 다행이라고 느꼈다. 포르투갈 리스본에서 출발하는 순례객들은 극소수이다. 그리고 순례길이 초행인 사람들은 대부분 프랑스 파리 생장에서 출발하는, 프랑스 길( French Way )을 선택한다. 나도 처음엔 프랑스 길을 갈까 고민했었다. 그러나 순례길 완주 후 시간에 여유를 두고 싶었고, 조용한 분위기를 원했다. 그래서 리스본을 선택했던 것인데, 상상 이상으로 이렇게 사람이 없을 줄은 몰랐다. 그러나 지금은 오히려 잘한 선택이라고 생각한다. 적적한 곳을 좋아하는 내 성향과 잘 맞았다. 머리를 비우고 자연의 소리를 들으며 걷기만 해도 기분이 좋았다. <밀밭> 그렇게 초반에는 다른 순례객들을 마주친 ...

고프로와 달리기

이미지
오랜만에 고프로를 꺼내서 장거리 달리기 영상을 찍어보았다. 확실히 BGM을 넣어야 영상이 재밌는 듯 하다.

LeetHub/BaekjoonHub 소스코드 수정해서 사용하기

이미지
친구한테 릿코드 문제를 풀면 자동으로 Repo에 올려주는 크롬 확장 프로그램 LeetHub 가 있다고 들어서 호기심에 사용해봤다. 나중에 BaekjoonHub 라는 것도 알았는데, 이것도 백준이랑 프로그래머스 문제들을 자동으로 업로드 해준다. 신기했다. 크롬 확장 프로그램의 소스코드를 들고 있으면 커스터마이즈해서 사용할 수 있다는 것도 처음 깨달았다. 방법은 간단한데, 크롬 확장 프로그램의 개발자 모드  옵션을 킨다. 그 다음  Load Unpacked 버튼을 누르고, 소스코드 폴더를 선택하면 끝이다. 저장되는 소스코드의 파일명을, 내가 선호하는 방식으로 변경해보았다. 가령 1000 번 문제 번호를 01000 처럼 항상 5자리로 leading zero padding 한다거나, 원하는 폴더명을 바꾼다던가, 특수문자를 지우는 것 등이다. 파일명을 문제 번호 순으로 [1000, 2000, 11000] 정렬하고 싶은데, 실제로는 lexicographic 정렬의 특성 때문에 [1000, 11000, 2000] 로 정렬된다. 그래서 이름을 [01000, 02000, 11000] 등으로 지정해야 원하는 정렬이 된다. 소스코드는 아래에서 확인할 수 있다. https://github.com/jubin-park/LeetHub-3.0/commit/384220c1fb323c87d3ef0b8e22d01197bc220c07 https://github.com/jubin-park/BaekjoonHub/commit/155a06ec098b963ea3fd0ea0068d7c01c2338404 결과물 https://github.com/jubin-park/problem-solving

2024년 2월 5일 일기

세상에 영원한 것은 없는 것 같다. 생명. 인간관계. 관심. 보금자리. 무엇을 갖다 붙여도 과연 영원한 것들이 있을까 하는 생각이 드는 요즘이다. 밤을 지새우고 싶지만 꾹 참고 잠들면 다음 날 후회하지 않는다. 하루 7시간 이상 수면시간을 확보하는 것을 실천 중이다. 아침 스트레칭과 운동은 개운함을 준다. 점심 식후 식곤증을 줄이려면 평소보다 덜 먹어야 하는 걸까? 아무튼 맛있는 건 못 참는다. 과식 진행중. 퇴근 후 쌓인 스트레스는 러닝으로 날려버리기 좋다. 오늘의 일기 끝.

2023 다녀온 곳

이미지
연말에 쓰려고 했는데, 미루고 미뤘다. 시간이 지나다 보니 그 때의 기억이나 감정이 많이 휘발된 것 같다. 그리고 한 번 글을 쓰면 시간이 굉장히 오래 걸리기 때문에, 짧게나마 남긴다. 번지점프: 4월 어느 날 친구가 같이 번지점프 하자길래 따라갔다. 장소는 강원도 인제 엑스게임 리조트 국내에서 제일 높은 63m 번지점프라고 한다. 어릴 때부터 고소공포증이 있어서 극복해보려고 도전했는데.. 역시 생각보다 무서웠다. 뛰어내리기 직전부터 괴성을 질렀다. 한 번쯤은 해 볼만한 경험이지만, 두 번은 글쎄다. 여전히 내 안의 고소공포증이 남아있는 게 아닐까. 순천만습지: 6월 힐링하기 좋은 장소. 가을에 가면 더 좋았을걸 하는 아쉬움이 남았다. 데이터야 놀자 2023: 10월 https://event-us.kr/datayanolja2020/event/71715 강남 AWS Korea 건물에서 진행됐던 데이터야 놀자. 친구가 가자고 해서 따라갔다. 기억나는 내용이 없다.. GAMES ON AWS 2023: 10월 https://aws.amazon.com/ko/events/industry-week/games-on-aws/ 회사에서 보내준 AWS 컨퍼런스에 갔다. 사실 AWS를 써본 적이 없어 대부분의 내용을 이해하기 어려웠다. G-Star: 11월 지스타 컨퍼런스에 가느라 게임 부스는 많이 구경가지 못했다. 사실 나는 게임에 관심이 있는 편이 아니었고, 연사님들 발표하는 걸 더 보고 싶었다. 규모 있는 부스 위주로 돌았다. 끝나고 낙곱새집에서 저녁을 거하게 먹었다. 광안리 산책도 하고, 앉아서 바다 물멍도 했다. 마음이 차분해졌따. AGF: 12월 예전에 유튜브에서 유명했었던 물품보관소 광기 영상을 보고, 킨텍스로 놀러갔다. 사람이 너무 많이 와서 아침부터 대기줄을 3시간 정도 기다려야 겨우 입장이 가능한 터였다. DJ Kazu 라는 분께서 매년 디제잉을 진행해왔던 것으로 보인다. 분위기가 되게 신나고 좋았다. 특히 오타게 하는 사람들 보고 충격도 받았지만, 진심으로 이런...