2013년 10월 2일 수요일

산티아고 - 체험학습 증빙자료 제출????


아들녀석하고 여행을 가려니 이래저래 걱정들이 많내요...

1. 아들 학교는?

1년 수업에서 2/3 이상 출석해야 유급이 안됩니다.

대략 60~63일 정도이상 결석을 하면 유급(졸업불가 -.-;;) 됩니다.

수업일수계산은 공식휴일, 토, 일, 방학을 제외한 날짜로 결석일을 계산합니다.

그 중에서 최대 7일은 "체험학습 계획서" 및 다녀와서 보고서를 제출하면 출석으로 인정됩니다.

2. 800km를 13살이 어떻게 걸어???

가다가 피곤하면 버스도 타고, 

가방이 무거우면 택시로 보내고 걸어가고 

숙소가 나쁘면 호텔에서 자면되고 

배고프면 정식코스 한번씩 사먹고

추우면 스페인 아웃도어매장에서 옷 사입고  

그래 가면 됩니다.

사람 사는곳입니다.   아프리카 오지탐험이 아니라구요.... ^^;;


3. 머 먹고 살라고 회사도 안다니고 놀러가냐?

알아서 먹고 삽니다. 걱정스러우면 다녀오면 취직이나 좀 시켜 주셈



자꾸 못가는 이유를 하나씩 끌어내려고 노력하지 말았으면 하는데...

그냥  "잘 다녀와라~"  하면 안되나?

나의 병신스러움을 들어야 당신의 마음이 편해지는것은 이해 하는데....좀....


학교에 계획서라고 해서 양식이 있어서 제출했는데 증빙이 강화 되었다고...양식도 없이 뭔가 더 해야 한다고 해서 어찌해야 하나 고민했는데 인터넷에도 없고...

걍 마구 써서 제출했습니다.

프린트 하고나니 양이... -.-;;

선화가 옆에서 키득거리면서 "대박이다~" 하는데...

이거 제출하면 나 또라이 아빠되는거????

모르겠내요 ...  학교입장에서도 나름 관리는 해야겠지만 ...쉽지 않은것 같습니다.

체험학습으로 7일이 인정 안되서 결석 처리되도 46일정도 빠지는거니....

졸업에 지장은 없을것 같내요

===============================================================================

체험학습 계획

(인문학적 소양 함양과 부자관계 개선을 위한 아들과 아버지의 배낭여행)

1.     참석자
A.     본인 : 박달초등학교 6학년 7반 권구겸
B.      보호자 : 권용찬 (관계 : 아버지)

2.        : 2013 10 8일 화요일~ 2013 11 22일 금요일
A.     일정 : 46
B.      미참석 수업 일수(휴일,,일 제외) :  33

3.     방문장소
A.     프랑스 :  10 8 ~ 11 (34, 이동시간 제외 2일 여행)
                         i.         학습
1.      르부르박물관
2.      오르세박물관
                        ii.         관광
1.      에펠타워
2.      몽파르나스타워
3.      노틀담
4.      판테온

B.      스페인 : 10 12 ~ 11 20( 40)
                         i.         프랑스 생장 피드 데 포트에서 산티아고 데 콤 포스텔라대성당 까지 산티아고 순례길 프랑스코스를 순례합니다. (이동경로 방문지는 지도 첨부)
                        ii.         도보속도에 따라 기간이 가능 하면 산티아고에서 스페인의 땅끝마을인 피스테레” ( 3일 소요) 까지 가볼 계획입니다.
                       iii.         돌아오는 길은 11 20일 뷰엘링항공(전자 티켓 첨부)

4.     내용
A.     여행의 목적 과 개요
초등학교 6년을 큰 사고 없이 잘 자라준 아들에게 고마운 마음을 가지고 있습니다.부모의 입장에서 사교육을 최대한 배제하고 자유롭게 자라주기를 바라는 마음으로 6년을 지켜 보았습니다.

초기에는 학습활동에 큰 관심이 없었으나 5학년 이후부터 경쟁심리인지 아니면 자신의 의지인지 잘 모르겠으나 성적에 관심을 가지기 시작하여 학원을 다니기 시작했고 조금씩 개선되는 성적에 자신감을 가지게 된 것 같아 다행이라는 생각을 가지고 있었습니다.

6학년이 되고 유일하게 지속적으로 했던 태권도를 빼고 학원을 다니려는 아이의 판단에 고민하게 되었고 합의 하에 태권도와 학원을 병행하면서 조금 늦은 학원의 학습활동을 따라가기 위해 보충수업 등으로 인하여 저녁 9시가 되어야 집에 들어올 수 있게 되었습니다.

다른 아이들도 다들 그렇게 산다고 하지만 제가 경험한 바로는 사교육을 통한 교육이 중고등학교를 넘어 자기주도로 이루어지는 경우를 보지 못하였습니다.  (지속적인 사교육이 필요한 상황이 대부분 인 것 같습니다.)

저는 그 이유가 자신이 공부를 하고자 하는 이유에 대하여 고민하지 못하는 현 상황에서 원인을 찾고 있습니다.

이번 여행에서 파리는 거쳐가는 장소로서 생각하고 있습니다.
유럽의 문화와 환경을 보면서 인문학적 소양을 기르는 학습적인 목적을 가지고 박물관과 유명 관광지를 다녀오고자 합니다.

스페인의 산티아고순례길(Camino)은 총 800Km를 도보로 순례하는 길로써 아들과 제가 되도록 현대문명(교통수단,IT기기 등)을 배제 하고 자기 스스로 그 길을 걸어 마지막 도착지인 산티아고까지 걸어 봄으로써 그 기간 동안 생각하는 시간을 가져보길 바람이 있어 이 여행을 계획 하게 되었습니다.

아버지의 입장에서 미시적으로 자기동일성이나 배려, 인내심, 가족에 대한 감사함등의 무엇인가 바람이 없지 않으나 여행이라는 것이 그 길에서 모든 것을 알고 올 수는 있는 것은 아니기에 이번 여행을 통하여

지금까지 지내온 자신의 모습을 솔직하게 돌아보면서
앞으로 사춘기를 겪으며 인내하며 지내야 할 6(중고등학교)의 모습을 그려보는 시간이 되길 바라고 있습니다.

B.      방문지
                         i.         일정표 첨부

5.     향 후 예정
A.     증빙자료 제출 (예정)
                         i.         파리 : 박물관 및 관광지 티켓 또는 프로그램 사본
                        ii.         스페인 : 산티아고 순례길 여권(끄리덴시아) 및 완주 증명서(콤포스텔라) 사본

6.     첨부자료
A.     일정표 (산티아고 순례길의 일정은 도보일정으로 상세일정은 없습니다)
B.      파리 왕복 티켓
C.      파리 산티아고 TGV 티켓
D.     산티아고 à 파리 티켓
E.      전체 이동 지도
F.      파리 관광지 지도
G.     산티아고 순례길 지도

2013년 10월 1일 화요일

마지막은 훈훈하게

13년 10월 1일

1년짜리 계약직일을 마무리 했다.

오랜만에 정규직이 아닌 프리형태의 일을 하니 이렇게 편할 수 가 없다.

정치를 고려할 필요가 없고

해야할 일 외에 이것저것 챙겨야 할 일도 없고

힘들다고 징징거리는 동생도 없고

흔히 신문에 나오는 비정규직의 어려움과는 상당한 괘리가 있지만....

그걸 설명하려면 어렵고 ...

그냥 살면서 사람들하고 친하게 살고 빼앗길까봐 징징 거리고 살지 않으면

가끔 도움을 주는 고마운 사람들이 생긴다...정도로 해두자


출근했더니 오늘 나갈 사람에게 직원한명이 와서 이것 저것 물어보고 있다.

이것저것 수정도 해달라고 하고 있다 -.-;; 아.....제발...

그냥 같이 일하는 친구에게 코드프리징(SVN에 커밋하고 수정 하지 않도록...)하라고 하고

말아서 소스 나에게 넘기고  포멧하라고 이야기를 하고 (일 그만하란 말이야!!!)

대충 정리하고 나니 3시쯤 되었는가보다

부서에 가서 부서장에게 간단한 인사를 드리고 돌아 나오는길 같이 일하는 친구가

"용찬과장 커피한잔하죠?"     (아...이시키 나랑 동갑인데 끝까지 존대에 과장이란다)

회사근처 탐탐에 잉여롭게 앉아서 이야기를 하는데

자꾸 자기방어적인 이야기를 깔면서

고마웠다고

좋았다고

앞으로도 잘 지내자고...

퉁을 친다.


아.... 난 이런게 너무 싫다.

흔히 말하는 "마무리는 훈훈하게..."

이 지랄병맛이 나는 짓을 형도 아니고 소위 친구라는 사람에게 듣고 있자니 미치겠더라는

결국은 감정을 쏟아 부어 버렸다.

내 눈을 바라보지 못하는 저 영혼없는 목소리...

그게 자기라고...자기가 살아온 방식이라고...

사람은 사람마다 다른거니 나는 인정 하니 너도 인정하라고...


왜들 그래요?

왜 당신이 편하려고 자신을 상대방에게 강요하면서

그걸 못 느끼고 마치 타인을 배려한다는 듯이 자위를 하는것인지???

상대를 존중해 주려고 존대말을 쓴다고요??

그건 당신이 윗사람이거나 나이가 현격하게 많은 경우 할 수 있는 배려 인것이지
(가진자였을 때의 배려)

동갑이나 몇 살 차이나지 않는 사람 비슷한 직급  비슷한 정신상태의 사람에게는

"내가 다가가지 않을 터이니 너도 오지마라   이게  어른스러운거다"

뭐 이런 행위라는 것을 왜 인정하지 않죠?



이런 저런 이야기를 하다가

정신적으로 힘들고 시간이 필요해서 제주도를 간다고 하더라는....

온 가족을 끌고....

이번에는 자기는 아무것도 하지 않고 그냥 가서 다니겠다....

-.-;; 미치겠내...

여행을 가면서 온통 자기를 싸짊어 지고 가면서

자신을 배려하지 않겠다니 이건 뭔가?


가족여행은 내가 다른 가족 구성원에게 서비스를 제공하고

서로 친근함을 올리는 멤버쉽트레이닝 MT 라는걸 아직도 모르나???

가족 여행을 가서

"이번여행에서 나는 나를 찾겠어! 정신적인 여유도 찾겠다는!"  

앙되...앙되....

뭔가 오해 하는거에요....싼 값에 풀코스 정식을 먹고 싶어 하는거라구요...

음식맛 엉망일 것이라고...


차라리 요즘 유행인 "힐링"이 필요한 것 이라면

가족에게 충성을 다해서 그들에게 칭찬을 듣고 자신의 필요성을 느끼라고

그런것으로도 자존감은 올릴 수 있다고....



예전부터 나이가 그 사람을 특정하는데 큰 부분이 아님에도

객관적인 판단 기준이 없으니 그냥 년차수로 10년짜리 20년짜리...등등

등급을 먹여서 선입견으로 포장하는 것은 알고 있었지만

나이가 들어가면서 그 잘 못 된 측정방식에 한계를 느낀다.

내가 잘났다는 허영을 부리고 싶은 것이 아니다.

이야기를 하고 싶다.

멋진 이야기를 듣고 싶다.

침묵이 성숙이라는 이상한 잣대를 들이 대는 현실에

외로움과 섭섭함을 느낀다.



마지막은 훈훈하게.....

다음에 또 보자는 인사를 전한다.

산티아고준비-일정

시작과 마무리는 준비 됐다.

빈 공간에 하루하루를 담아보자


산티아고 준비 - 루트


일단..구글 지도에 전체 지도 만들기 부터...

2013년 9월 25일 수요일

버스커 버스커 2집 처음엔 사랑이란게...

2013년 3월 26일 회사 퇴직 후  바이크에 텐트를 밀어넣고 여행을 출발하던날...

3월 29일 버스커 버스커 1집이 발매되었고....

첫사랑을 들으며 살짝  두근거려보고

벗꽃 엔딩을 들으며 진해와 남해의 도로를 달리고



여수밤바다를 들으며 여수돌산대교 위를 달리고

외로움증폭장치를 들으며 혼자 야영을 했고


향수를 들으며 제주도 게스트하우에서 사랑을 생각하던



1집 전체가 내 여행과 같이 해서인지 2집 역시 기대하고 있었는데

올해도 내 여행을 떠날때가 되니 2집을 발표해 주는 센스를 발휘해 주는군

오늘 퇴근하면 멜론에서 음악을 사서 스페인길에서 또 한껏 취해 볼까 한다.






거리에 오 겹쳐진 그녀 모습 속에는 
오 난 그어떤 그리움도 찾아볼 순 없군요 
거리에 일렁이는 그녀 모습 속에는 
오 난 그어떤 외로움도 찾아볼 순 없군요


처음엔 사랑이란 게 참 쉽게 영원할 거라 
그렇게 믿었었는데 그렇게 믿었었는데 
나에게 사랑이란 게 또다시 올수 있다면 
그때는 가깝진 않게 그다지 멀지도 않게 
난 예


벤치에 앉아있는 그녀 모습 속에는 
오 난 그어떤 그리움도 찾아볼 순 없군요 
벤치에 들려오는 그녀 웃음 속에는 
오 난 그어떤 외로움도 찾아볼 순 없군요


처음엔 사랑이란 게 참 쉽게 영원할 거라 
그렇게 믿었었는데 그렇게 믿었었는데 
나에게 사랑이란 게 또다시 올수 있다면 
그때는 가깝진 않게 그다지 멀지도 않게


머린 아픈데 오 너는 없고 
그때 또 차오르는 니 생각에 
어쩔 수 없는 나의 맘 그때의 밤 
나에겐 사랑이란 게 아 사랑이란


처음엔 사랑이란 게 참 쉽게 영원할 거라 
그렇게 믿었었는데 그렇게 믿었었는데 
나에게 사랑이란 게


....



2013년 9월 24일 화요일

MongoDB 모니터링 - MongoBird 정보

몽고DB...... Production 환경을 만들면...

여러개의 mongos, 여러개의 Config, 여러개의 Master, Slave, Arbiter  ...

모니터링할 프로세스만 한 30개 됩니다.

이거 쉘 스크립트로 볼라면 손가락 디스크 증상 나옵니다.

감사하게도 OSS로 공개된 Monitoring 툴이 있어 포스팅 합니다.

프로세스 정보, 락상태 및 접속량, 네트워크 점유량 등등  개노가다를 줄여드립니다.

아래 그림은 mongoS 데몬 1개를 등록한 화면 입니다.





1.     MongoBird 구성
A.     구동 정보
                         i.         ...alui1  서버에 구성됨
                        ii.        .../mongodb/bin/mongodb-start  or mongodb-stop (메타데이터용 mongodb)
                       iii.     .../tomcat/domain/mongobird/bin/startup.sh   (톰켓 구동)
                       iv.         접속 URL : http://.....:10081/tetrad
                        v.         계정 : admin/admin  (기본 최고 관리자 패스워드, 신규 사용자 등록 후 페스워드 수정하세요)
B.      설치정보
                         i.         다운로드 : http://mongobird.citsoft.net/
                        ii.         설치
1.      Mongodb 설치
A.     2.2 버전 이상을 설치한다. (mongodb config정보 및 구동 스크립트는 현 설치된 서버 파일을 참고하세요)
                                                    i.         ,/mongodb/bin/mongodb-start (mongodb 시작 스크립트)
                                                   ii.         ,/mongodb/bin/mongodb-stop (mongodb 정지 스크립트)
                                                  iii.         ./mongodb/config/mongodb   (config 파일)
2.      Tomcat 설치
A.     개발기에는 1개 서버에 여러 Tomcat을 구동하기 위하여 .../tomcat/domain/[Instance-name] 으로 여러 개를 구성하였음
B.      단독 서버에 구성하는 경우 일반 tomcat 설치 후 webapp 아래에 WAR 파일만 넣어도 됨

3.      사이트에서 제공하는 설치 스크립트는 원하는대로 구성할 수 없음 다음과 같이 설치
A.     설치본을 다운로드 하고 압축을 풀면 /mongobird_inst/warinst 폴더 아래 tetrad..war  파일만 복사하여 Contents HOME에 복사
       (..../contents/mongobird/terad..war/ )


4.      Tomcat 구동

2013년 9월 12일 목요일

Buen Camino (부엔 까미노)

13년 9월.... 언제 또 시간이 이렇게 흘러 9월이 왔는지

9월이 생일이라 이때가 되면 일년이 어찌 지나왔는지 생각하게 됩니다.

10월 8일  인천 OUT  파리 IN ,

11월 21일 파리 OUT  김포 IN  JAL 항공권을 예약했습니다.

끊은지는 일주일 좀 더 되었는데 나름(?) 조용히 있다가...
(하하!! 구쁠에서는 잔뜩 이야기 했지만)

이제 오픈할 시점이 되어서 페북과 트윗에도 이렇게 인사드려봅니다.


아들과 함께 배낭을 매고 파리에서 3박 후

스페인 산티아고 순례길에 오릅니다.

길 위의 시간은 40일

39년의 길지도 짧지도 않은 길을 걸은 아빠와

13년의 길을 걸어온 아들이

그동안 걸어온 길을 돌아보고자 떠나봅니다.

태어나 해외로 이렇게 장기로 떠나는것은 처음

유럽도 처음

아들과 둘이도 처음

.... 처음 아닌것이 없어서 너무 두려울까봐  공부도 하지 않고

돌아다닐 항공권과 기차 예약만 해놓고 가방 꾸릴 준비만 하고 있습니다.

꼭 챙길것은

다들 만류하는 DSLR 과  수첩, 옷가지 몇개, 해나 뺏지, 아들 을 챙겨 가려고 합니다.

그 길에 섰을때 아마도 여행의 느낌을 없을 것이라는것을 알고 있습니다.

여행에 익숙해 져서 내가 순례자(Peregrino, 페레그리노)라는 느낌을 받기 까지 얼마나 걸릴까요

저번처럼 보름이 넘어서야 아...떠났구나.... 할까...

아니면 짧아 질까...아니면 더 길어질까....

여하간 40일이면 적어도 떠났다 돌아왔다는 느낌을 가질 수 있을 것이라는 기대를 가지고

출발을 준비합니다.


누가 그러더군요

"당신이 정치나 사회, 조직에 환멸을 느낀다는 것은 어려운 현실을 부정하기 위해 해결 불가능한 일에 몰두 하고 있는 것...." 이라고

그런것 같습니다.

그래서 현재의 가치인 나와 내 아들을 위해 시간을 가지고 집중하기 위해 멀리 가봅니다.



떠날 마음이 들게 해준 사람들에게(긍정이던 부정이던)....Gracias (그라시아스*)~

직장이라는 묘하게 힘든 길을 걸어가는 동료들에게.... 뷰엔 까미노**~

* 감사합니다.
* 좋은 길 = 순례길에서의 인사


P.S 후기는 아마도 12월이나 되어야 올라오겠죠?

2013년 8월 24일 토요일

제발...일 좀 적당히 합시다.


현대·기아차 직원 연봉은 최고…생산성은 중하위권

http://news.sbs.co.kr/section_news/news_read.jsp?news_id=N1001943951


참나....이건 무슨 병신맛 나는 기사인가...몇일 전에 포털에 뜨길래
미친놈들 애들 이간질 시키려고 별 짓을 다하는구나 싶었는데
공중파까지 밀고 들어오길래 포스팅 해본다.

연봉많이 받고 일은 슬슬하면 그처럼 좋은 직장이 어디있나???
그런 파라다이스가 있어야 애들이 그런 회사 가고 싶어서 안달이 날것아닌가?
그렇게 해서 잘 돌아가면 되는거고 너무 심하면 지들이 알아서 정리하겠지

그걸 이렇게 동내 방내 떠들일인가? 저 기사의 바닥에는 이거죠

"노조놈들때문에 애들 부려먹기가 어렵다. 노조는 나쁜놈들이다.
 노조는 너희 직장인들 편이 아니다!"



인턴들을 만난다

"그대는 이 회사에 어떻게 왔는고?"

대충 줄이면 이런식....

"네! 저는 회사에서 선배님들께 잘 배우고

 열심히 노력해서 회사에 도움이 될 수 있는 인재가 되기 위해 이자리에 왔습니다."

내 버젼으로 쓰면 이런식...

"대학 내내 니들 맘에 들려고 졸라 노력했다. 나 좀 뽑아라 열심히 해서 돈좀 벌어보자"



열심히. 창의적으로. 인재. 일에 마음을 담아. 회사의 주인같이....
이게 뭔 개소리인가 싶으다.
제발 좀 참아달라....



당신이 일을 열심히 해서 성공하겠다는 이면에는 이런것이 있어요

"남보다 더 인정 받아서  더 많이 돈을 벌겠다"

거부하지 말았으면 해요... 당신은 당신이 생각하는것 보다 훨씬 속물입니다.

사람들은 절대적인 이득(돈, 만족감) 보다는
상대적 우월감을 가지는 것에 더 즐거움을 가진다는 것을 다들 알고 있지만 침묵합니다.

잘보면.....

중소기업 근무하는 K대리가 연봉 2천을 받는다 치자  대기업은 3천이라면
K대리는 대기업 대리와의 급여 차이에 대하여 분노하지 않습니다.
옆자리 동기나 대리진급이 나보다 늦은 후임의 급여가 자기와 같거나 높을때 분노 합니다.

왜 그럴까요?  자신의 가치를 자신이 측정하지 않고
주변인들 또는 환경, 기사에 나오는 평균값에 따라 나의 몸값을 저울질 하기 때문입니다.
그리고 그 바닥에는 상대적 박탈감(나는 중소기업대리인대 뭘....)이 깔려 있기도 하지요


재미있는 사람들이 가끔 있습니다.

일만 열심히 한  일 잘 하는 친구들 중에 연봉얼마 줄까? 물어보면 선뜻 대답을 못합니다.
한번도 자기를 객관적으로 수치화 시켜본적이 없는거죠
하다못해 거짓말도 잘 못합니다.   인사팀에 서류 토스하고 기다립니다....

자기 PR못합니다. 그럼 회사는 당연히 평균으로 때리고
약간 투덜거릴것 같으면 몇 푼 더 쥐어 줍니다.

그렇게 취업을 하고  한 6개월 겁나게 열심히 일합니다.
똑똑하고 일도 잘하니 평판도 좋고 빠른시간에 자기 포지션을 가지고 갑니다.

그런데 이녀석들이 한 일년 지나서(정확하게는 첫번째 연봉협상(?)후)  코가 높아져서  술만 먹으면 푸념을 합니다.

저는 병신이라고 불러요(스스로에게 처음 불렀습니다.)


왜 들어올때 나 이렇게 잘 한다고 말을 안했어?
왜 급여가 맞지도 않는대 이직을 한거야?  대체 전 직장은 왜 나왔니?

가슴이 아프죠....저도 그렇게 이직을 몇번이고 했고 고민도 많이 했던 일입니다.


하지만 제가 이번에 말하려는건 이직을 한 이유나....
바보 같이 회사에 들어온 이유를 따지자는게 아닙니다.


"그래! 당신말이 맞다!  그러면 도대체 그 월급 받고 뭘 그리 열심히 하느냐!!!"
이말입니다.

보통보면 회사에 일이 늘어나며

꼭 한놈씩 튀어나와서 "제가 하겠습니다!!" 하는 놈.......은 없습니다.

메커니즘은 이런거죠

퇴사 또는 일량증가 --> 절대 사람을 먼저뽑지는 않는다. 위에서 한놈 찝어서 일 넘김 (나름 믿을 만하다고 생각하므로)

--> 받은 사람 투덜투덜 .. 하지만 일은 한다(안하면 쪽팔리니까...난 일 잘하니까)

--> 대충 일이 굴러감  --> 그일은 계속 그놈꺼

위에 루틴이 계속 반복됩니다.

가장 최악은 팀 내에 "착한사람 신드룸"을 가진 사람이 있을 때 입니다.
(그사람에게 일이 집중됩니다. 그리고 점점 그 사람의 포지션이 넓어지지요)

윗사람이 없던 일을 누군가에게 준다는 것은 상당히 곤란한 일입니다.

바쁜거 다 알고... 없던 일 시키면 좋아라 하지 않는다는것 뻔히 아는데
누구는 욕먹고 싶겠습니까?
그래서 제일 조용히(불만..투덜거림) 해낼 사람을 찾습니다.

그런데 그런 사람이 그렇게 많지는 않죠. 그러니 한명에게 일이 집중됩니다.
그 한명은 "나는 일 잘하는데...절대 욕먹기 싫은데....나쁜사람 안되고 싶은데..."  하면서
일을 꾸역꾸역 줏어먹습니다.

야근도 하지요.... 집에도 안가고...가끔 주말에도 나옵니다.
그리고 이럽니다

"씨발! 나도 사람인데 왜 맨날 나만 가지고 그래!!!"

이러다가 피로도가 높아지면???  대의명분을 들썩 거리며 회사 그만 둡니다.

그럼어떻게 될까요? 이때 까지 꾸역꾸역 들고 있던 일들이
막힌 하수구를 뚤었을때 처럼 쏟아져 나오면서 주변 동료들을 숨막히게 합니다.

여럿이 할 일을 혼자 들고 있었으니 꼼꼼함을 바랄수 없습니다.
나름 엄청 바빴으니 개선이나 최적화 따위는 할 수 없지요.

대략 문제 없이 운영되도록 유지만 했기 때문에 엄청나게 비효율 적인 상태로 방사(?)됩니다.


도대체 왜 그렇게 일을 열심히 하시나요?

놀고 먹으라는 말이 아닙니다. 당신이 알고 있고 할 수 있는 수준에서 일을 하세요

능력을 벗어난다 싶으면 "미안합니다. 제가 모자라서 못하겠습니다" 라고 말을 하세요! 말을!

나중에 투덜 거리면 안되요! 얼마나 칭찬을 받고 싶어서 그러는지 모르지만 칭찬 많이 받는다고 연봉 안높아 집니다!  (이건 분명한 일입니다. 차라리 아부를 하세요)

몇가지 찍어보면 다음과 같습니다.

1. 일의 비효율화
여럿이 하던일 또는 많은 일을 하면 당연히 모든사항을 체크하기 어렵습니다.
빈틈이 생기죠. 그럼 꼭 취약점에서 장애나 문제가 발생합니다.
일 량이 늘어날 수 록 문제는 더욱 빈번해 집니다.

그 문제를 가장 빠르게 해결할 사람?   너님이죠?  당신이 제일 잘 아니까
문제를 해결 하면 뿌듣합니다. 마치 뭔가 한것 같죠....

잘 생각해 보세요
취약점을 개선 하지 못해서 문제가 발생하는것이 원인입니다.
원인을 해결 하지 못하면 계속해서 문제해결만 하고 일을 개선할 여지가 없어지지요
다들 당신이 일을 열심히 한다고 생각할 꺼에요

근데요.... 일년에 한번 상사분들은 마법에서 깨어납니다..언제?  성과평가때 이지요
이때는 일 열심히 잘 한다고 평가 잘 안나옵니다.
기존 업무 얼마나 개선하고 표준화 했는지 또는 유사한 "정성적평가"항목을 당신에게 들이 댈겁니다.

"당신은 일은 열심히 하는데 좀 더 잘 해주었으면 좋겠어"   상사가 하는 멘트입니다.


2. 민폐

일 열심히 하니 웬지 "자아가 성찰"되고 "회사에 기여"하고 뿌듯하고 그렇지요?

스스로를 속이지 마세요  지금 힘든 상황입니다.
연애도 해야 하고 집에가서 좋은 남편 좋은 아빠 역할도 해야 하는데 벌이는 빠듯하고
회사에서 늦게 있으니 가끔 술한잔 하고 n빵이라도 하는 달에는 죽겠죠?

팀 안에서 일 "열심히" 해서 칭찬 받는 사람은 민폐를 끼치는 겁니다.
누군가 열심히 해서 인정 받는다는 것은 결국 "다른 사람보다"  열심히 라는 것이
깔려 있는겁니다.

다른 사람들이 열심히 안할까요? "잘" 하는 사람들도 있습니다.
누구는 2시간이면 할 일을 밤새면서 고치고 또하고 또하고 해서
"열심히"해서  "잘" 하는 사람보다 빛이 날까요?
아닙니다. 아까말한 고과철 오면 "잘" 하는 사람이 보통 더 인정 받습니다.
(적지않은 병맛 나는 상사들이 열심히를 좋아하기도 합니다만....)

이 "잘" 하는 사람은 일은 일하는 시간에 끝내고 나머지 시간을
애인, 친구, 가족들과 나누고 있는겁니다. 일 못하는게 아니지요

가장 흉직한 일은 열심히 해서 인정 받겠다고 온통 잡일을 다 껴안고 있다가
그만 두어버리는 상황입니다.
앞서 말했듯이 정말이지....
하수도 막힌것을 뚤었을때 처럼 온가지 일이 다 너덜너덜 합니다.

밀어두고....돌려두고....박아두고....했던 것이 일각에 나타나죠....

뭐...일은  돌아갑니다. 동료들이 바보가 아닌이상 잘들 알아서 합니다.
다만 한명때문에 여럿이 겁나게 스트레스 받습니다..


어느날인가 동료들이 퇴근길에 맥주한잔 하러갈때 당신을 궂이 부르지 않습니다.
온다고 따돌리지도 않아요

그렇게 되는겁니다.

고민해 보아야 합니다.


3. 국가적 차원의 취업률에 반하는 

둘이 할 일을 왜 혼자 하나요?

농장에 노예들이 있는데 쌀 한가마니를 둘이 들어 옮기고 있습니다.
한 노예가 쌀을 옮기는데 혼자  가마니 두개를 들어 옮깁니다.
그 노예는 일 잘 한다고 칭찬을 받겠지요?

이때 발생하는 앞서 말한 다른 노예들의 업무강도가 높아지는 문제도 있지만
(저놈은 두개씩 지고 나르는데 니들은 한개를 둘이날라!!!!  힘 없어도 한놈이 하나씩 지고 날라!!)

문제는 농장주는 절대 더이상 노예를 들이지 않습니다.
기존의 노예들의 효율을 높이기 위해
채찍을 들거나 회유를 하거나 협밥을 하고 이간질을 하지요

점점더 일을 많이 열심히 해야 합니다.
누구때문에?   일 열심히 하는 몇몇 때문에!!

요즘 젊은 친구들 취업 안된다고 난리죠?
2012년말~13년도에 "여의도를점령하라" 라면서 대학생들이
여의도 증권거래소 근처에 탠트치고 농성한 적이 있습니다.
궁금해서 술 몇병 사들고 놀러간적이 있습니다.

그때 이렇게 말해 줬습니다

"너네들이 취업이 힘든건 나라의 정책 책임뿐 만이 아니다.
지금 40대가 IMF때 선배들이 다 잘려나가면서 배운게 없다보니
나누어 먹는 방법을 모른다.
그런 선배에게 배운 30대는 아는게 없다.
선배들이 인턴이나 비정규직을 괄시하는게 아니라
너희들을 가르치는 방법을 모른다.
미안하다. 너네들의 진입 장벽은 스펙으로 넘을  수 있는게 아니란다..."



신입사원이 들어오면 눈물이 쏙 빠지도록 공부시켜본적있나요?

저녁에 남아서 일때문에 고민하면 해결해주기 위해 같이 야근해주신적 있나요?
(자발적으로)

같이 술마시는데 회사에 장애가나서 들어가야 할때 선임이 먼저 가시나요?

(잘 하고 계시면 훌륭하신겁니다!! 사람들이 따를꺼에요)

회사생활 10년 넘었으면 자기계발 그만하시고 후배교육 잘 시키시고
일을 분배해서 TO를 만들어내는 능력을 길러야 합니다.
나 혼자 잘 살자고 재껴봐야
너님 버는거 큰 차이 안납니다.

끝까지 "나는 기술..." 하는 분께는 이렇게 말씀 드릴께요

"이때까지 공부 안하고 뭐했어요?"

기술력은 어느정도 수준에 오르면 신기술 습득에 그리 오랜 시간 안걸립니다.
금방금방합니다.  IT쪽이면 평소에 구글링 자주하고 ZDNET이나 그런거 틈틈히 보세요
꼭 기술적으로 모르는 사람들이 나이들어서 백발에 개발하겠다고 합니다.
그건요...그 나이 되서 하려고 하면 하면됩니다.




전통적인 자본은 다음과 같이 분류 합니다.

생산자본 : 물건을 만들어서 이윤을 만듭니다.
유통자본 : 생산자본의 물건을 유통시키면서 이윤을 만듭니다.
지주자본 : 생산,유통자본이 필요한 땅(공장, 물류창고)을 제공하여 이윤을 만듭니다.
금융자본 : 생상,유통,지주 자본이 필요한 돈을 돌려 이윤을 만듭니다.

자....설명을 보면 지들(자본가)끼리 잘 해서 먹고 살면 될것 같지 않습니까?
근데 저 자본들이 이윤을 만들기 위해서는 일 하는 사람이 필요하죠?
직장인...(정규,비정규직은 불필요한 말) 입니다.  다른말로 "노동자" 입니다.

우리는 노동자 입니다. 노동자는 자신의 몸을 팔아 자본가에게 돈을 받습니다.
이 관계는 엄밀히 자본주의사회에서 "계약관계" 입니다.
좃 같은 또 하나의 가족 따위가 아니라는 말입니다.

계약은 쌍방합의인 것이고 불리한 계약은 하지 않으면 됩니다.

먹고 살려면 어쩔 수 없다고요?

그래요 그럼 성인으로써 "선택에 대한 책임"을 가지세요
투덜 거리지 말고 열심히 일 하시면 됩니다.
더 벌려고 다른사람들 불편하게 나대지 마시고  열심히, 잘  일하세요
그거면 됩니다.

사업 한다고 회사 나가는 사람들을 보고 직장인들은 뒤에서 조소 합니다.  (쓰레기 같이)
돈을 많이 벌고 싶으면 자본가가 되세요
그러기 위해서는 직장인(노동자)의 위치를 버리는게 첫번째 일일 겁니다.

직장인으로 선택받아서  이사,임원이 되어 자본가가 되겠다구요?  말도 안되요

월급사장, 등기이사 이런사람들 다 월급쟁이에요
보통 노동자보다 더 힘든사람들 많습니다. 노동법에 보호도 못 받습니다.
계약못하면 손가락 빨아야 합니다.


불리한 계약을 하지 마세요

19살 부모가 찍어준 대학에 성적맞춰서 가던
지랄 맞은 짓을 나이들어서 또 해서는 안됩니다.

직장인을 할지 사업을 해볼지  사업하는 회사를 키워볼지(중소기업에 취업등)
그건 우리 각자의 선택일 겁니다.

그리고!!!

직장인 이라면

월급 잘 나오고 일 적당하다면  
"일이 없어서 그만 다녀야 겠어요.자기계발이 안되요"  라는 좃 같은 이야기 말고 열심히 다니세요  월급 나오면 된겁니다.

월급 잘 나오고 일 많으면
"사람좀 뽑아 주세요 아니면 이 일은 못하겠습니다. 저는 저 일하기 너무 바쁩니다" 라고 이야기 하세요  그리고  위의 상황(월급+일적당)을 만드세요
도저히 안되요? 그럼 회사가 나쁜거에요 그만 두세요

월급 잘 안나오고.....
이건 그냥 닥치고 그만 두세요
"회사생각해서"...."팀장님 생각해서"..."팀원들 생각해서"....
총각이라면 그냥 무료봉사 한다고 치고  가족이 있고 부양가족이 있다면 당장 그만 두세요
월급 밀리는 회사는 거의 90% 회생 불가입니다.
차라리 빨리 다른 좋은 회사를 가서 후배들을 불러들이거나 다른 회사에 꽂아 주세요
사랑받을 겁니다.








2013년 8월 22일 목요일

일본 핵융합로.....아이들을 위해 무엇을 해야 하나요...


요즘 인터넷 글들을 보면 뭔가 재미있는 일처럼... 스처가는 일처럼 말들을 하는데...참...

심각하게 생각해야 하는데...

내 생각에 헬 게이트는 이미 열려있고... 몰려오는 악귀의 손아귀는 이미 주변을 떠돌고 있음에도 애써 거부 하고 있을뿐이라는 생각

이 정권은 그 게이트로 달려갈 고속도로를 만들고 싶어하기도 하고....



日, 후쿠시마 원전 사고등급 상향·우리는 안전한가   MBC 2013년 8월 21일



후쿠시마의 거짓말 2013년 6월 (자막이 안보이면 유튜브창의 우측하단 CC 버튼을 클릭하세요)



후쿠시마 이후 우리 밥상은 안전한가 1  12년 9월

후쿠시마 이후 우리 밥상은 안전한가 2 12년 9월




2011년 후쿠시마 공청회

2013년 8월 16일 금요일

게임 개발을 해보지 못한 보잘것 없는 사람이 후배님에게

Q.
갑자기 전과를 고려하고 있습니다. ㅜㅜ

현재 대학 2학년 1학기 마친상태고 2학기에 복학할려고 하는데, 제가 다니는 대학의 컴공에서는 배우는 언어가 정말 없네요. 다양한 언어를 쓰는게 현실인데 커리큘럼상에서는 1학년때 c 2학년 자바 3학년 c# 이 전부더군요. 그런데 같은 대학 게임모바일콘텐츠 학과에서는 제가 배우고 싶은 과목들이 많네요.

게임개발쪽으로 가보고 싶은데 동시에 일반 소프트웨어쪽 취직의 끈도 버리고 싶진 않네요.. ㅜㅜ

문제는 컴공 커리큘럼이 제 생각으로는 제가 가고싶어하는 방향과는 관계가없는것들을 많이 수강해야되고 제가 알고싶어하는걸 알려주지를 않습니다. 대신 졸업후 진로는 게임모바일 특화에 비해 폭넓다고 볼수 있겠네요.

1. 컴공 유지 게임 부전공. (진로는 폭 넓으나 관계없는것을 많이 듣는다는게 불만입니다. )

2. 전과후 컴공을 부전공(알짜배기를 들을수 있지만 사회적 인식이나, 게임이외의 소프트웨어쪽으로 갈수 있을지가 의문입니다.)



2학기 시간표 짜다가 정말 고민이 되네요.

대학자체가 수도권이 아닌지라 대학 간판도 크게 무의미하고 차라리 가능하다면 실력을 올리는게 더 도움이 되는 상황인거 같습니다.

어떻게 하는게 좋을까요?
혹은 다른 조언을 해주시면 감사하겠습니다.


A.

1.언어
개발을 한다는것은 생각기술로 구현해서 기능화시키는 일 입니다.

언어는 기술상의 특정한 하나의 문법입니다.

개발이라는 행위로만 보자면 언어의 형태는 중요하지 않겠지요

학생시절 여러 언어로 표현하는 방법을 배우는 것은 좋은 일입니다.

하지만 개인노력으로도 가능한 부분이라생각되므로 전과라는 것의 기준으로 삶기는 아닐것 같습니다.

2. 개발에서의 게임

개발을 하시고 싶으신지

게임을 하고 싶은것인지

게임으로 돈을 벌고 싶은것인지 생각해 보시면 좋을 것 같습니다.

개발을 한다는 것은 앞서 말한 기술을 기능화시키는 도구입니다.

- 그러므로 "게임 개발"을 위해서 전과를 한다는 것은 조금 이상합니다.

-에이...씨파....할만한 게임이 없어!!! 내가 만들어서 하겠어!!!   라면

정답은 아니겠지만  전과를 고민해 볼 필요도 있겠습니다

-돈은 벌어야 겠고 이왕이면 게임쪽...이라는 논리이고

자꾸 과 이름이 걸리적  거려 신경쓰이신다면  그냥 전과 하세요

부전공도 하시고 그냥 열심히 하시면 돈은 벌어집니다.

오해를 하시는데 자본가들은 열심히 하면 돈 줍니다.

잘해서 더 벌고 싶다면 학사 졸업 후 경영쪽 석사를 하시고

절대 개발하지 마시고 기획이나 마케팅 부서로 취업하세요

어짜피 원나잇스텐드 할껀데  순서 지켜가며 자존심 세울 필요 없습니다.

돈으로 그냥 달리세요
(레이드 뛸때 몹 다 안잡잖아요? 우리의 목표는 아이템을 주는 보스몹 입니다.)


게임을 만들기 위해서는 스토리(세계관)이 가장 중요하겠죠. 개발자는 아닙니다.

스토리에 따라 등장인물을 그립니다. 개발자는 아닙니다.

내용과 그림에 맞는 음악을 만듭니다. 개발자 아닙니다.

게임을 광고하기 위해 이런저런 전략을 짭니다. 개발자가 아니지요

게임을 통해 돈을 벌기위해 결제기능을 만듭니다. 개발입니다.

PC에서 게임을 돌리기 위해서 클라이언트 프로그램을 개발합니다.

서버에서 사용자의 데이터를 받아서 게임을 운영하기 위해 메인(서버) 프로그램을 개발합니다.

개발된 프로그램 패치,운영을 위해 런처를 개발합니다.
...(대충 줄이겠습니다.)

기획자의 의지를 모아 위에 모든것을 취해서 하나의 스토리로 엮여서만들면

즐기는 사람은 "사용자" 입니다.

위에 말씀드린 것 중 어떤 부분이 전과를 통해서 얻고 싶은 것인지 고민해 보셨으면 합니다.

그냥 프로그램 잘짜서 게임회사에서 돈을 벌고 싶으시다면

학교다니거나 지금 이 고민할 시간에 코딩을 한줄 더 하시는것 이 현명하겠습니다.

참....그리고 틈틈히 지리산종주나 극기훈련도 하시구요...

원래 잘하는 아이들 아니면 게임회사 개발팀에 들어가도 급여도 높지 않고 일도 힘듭니다.

그걸 버티고 "성공했다"라는 느낌을 받기 위해서는 인고의 시간을 버틸 정신력이 필요합니다.

3. 컴공 + 게임, 게임 + 컴공

과에 따라 인생이 정해질 것 같아 전과를 고민한다면

물어보지 마시고 아무거나 선택하셔도

비슷한 결과를 얻으실 수 있을 것 같습니다.

그리고 정말 게임이 좋아서 개발을 해도 게임관련해서 하고 싶다면

부전공 따위를 할 시간에 하나만 열심히 하셔도 됩니다.

학사에서 부전공은 하나를 하다보니 뭔가 불안하면 하는 비겁한 행동입니다.

대학커리큘럼은 한 과목만 으로도 4년을 통째로 부어도 못해낼 양입니다.

수박 껍대기처럼 긁어먹고 졸업해서

"대학시절은 내인생의 낭비였다" 라는 말은

열심히 살지 않은 사람의 변명이라고 봅니다


4. 조언
사람은 아는만큼만 고민할 수 있습니다.

20대라는 시간은 제가 다시 말할 필요도 없이

소중하고 아름다운시간입니다.

자본가들이 돈을 벌기 위해 필요한

훌륭한 부품으로 환골탈퇴하기 위해 시간을 보내지 마시고

게임이 하고 싶으면 열심히 하면서  "저런건 어떻게하지?" 라는 질문을 하시고

Open source 엔진을 다운로드 해서 졸라맨이 칼질 하는 동작이라도 만들어 보시면

훌륭한 개발자가 되시지 않을까 생각합니다.

참..그리고 어느정도 공부하고 수준에 이르면(열심히 했을때 이야기)

게임 개발자 웹 개발자 구분이 없습니다. 그냥 다 합니다.

시장에서 구분하는 이유는 그 사람의 경력에 따라 연봉이 나뉘고

해온 경력을 버리지 못하고 쭉~ 하다보니  무슨무슨 개발자 인 겁니다.

너무 고민하지 마시고 하고 싶은것을 잘 생각해보시고 그것 부터하시면 좋겠습니다.

(생각하다보니 백수를 하고 싶더라....는 안되요 ㅋㅋㅋㅋ)


2013년 8월 1일 목요일

대화

강신주 박사 "철학이 필요한 시간"을 읽다가 내용을 내가 생각한 대로 카피해본다....

"언어너머의 맥락 - 비트겐슈타인, 철학적 탐구" 98 page


좋아하는 사람의  "너를 죽도를 사랑해" 라는 말은 나에게 안정감과 행복한 감정을 불러 일으킨다.

하지만 외국에서 태어나 한국인의 피와 한국인의 얼굴을 하였지만 언어가  익숙하지 않지만 나름대로의 공부를 많이 한 사람이라면 이런 실 수도 할 수 있겠다

"너는 죽도록 친절하구나"

물론 문맥상 대략적으로  "죽도록" 이라는 단어 이지만  "매우" 라는 의미를 이해 하는데 큰 무리가 없다.

다만 그가 외국에서 자라 한국어를 잘 하지 못한다는 것을 알고 있을때 나는 빙긋 웃겠지만 

초면인 그가 이런 말을 했다면 잠시 "생각"이라는 것을 하게 되겠지?

"저놈이 미쳤나?"

그러고 보니 언어(단어)가 가지는 의미는 엄청나게 많다.

나도 가끔 친근함을 느끼는 지인(남성의)들에게 "사랑해~" 라는 말을 남발한다. 

하지만 이 말에는 성적인 부분을 제외한 사랑 으로 흔히 우정이라는 말에 가깝지만 좀 더 친근하고자 입에 발린말로 사용할 뿐이고

한국인같지만 외국인지 알고 있을때...
사랑한다고 하지만 우정이라고 알아 들을 수 있는 사람들과 이런 대화가 가능하다는 것을 책을 읽고 알아차렸다.

사람들은 같은 언어를 쓰는것 같지만 묘하지만 대놓고 다른 언어를 사용하는것이 틀림이 없다.

회사에서 일을 하다보면 한국어는 조사만 사용하고 온통 문법없는 영어로 중얼 거리는 사람이거나.... 
driver install을 운전을 설치한다고 말하는 사람이거나...
여하간 외형적인 업무상의 단어만으로도 대화가 어려운 일이 많다.

특히나 기술적인 부분을 떠나 정책적이거나 개인적인 말이나 의견을 나눌때라면 엄청난 괘리감을 느낀다.  

이견이 있을 경우 결국 단어 하나에 대한 정의를  너와 내가 다르게 가지고 있다는 것을 서로 이해하기 위해 엄청난 에너지를 소모하곤 한다.

결국은 서로 상대방의 언어를 이해 하기 위한 준비가 턱없이 부족한 상태로 대화 라는 것이  상대방에 대한 나의 생각을 강요 하는 행위일 뿐일때 가 많다.

그래서 착하고 좋은 형들이 동생들에게 "사람들 말을 먼저 듣고 니 이야기를 해라..." 라고 했었지

누구나 다 아는 단순한 진리(?)이지만 습관화 되지 못한 무지함은 못 배워서가 아니라 살면서 잊기 때문일 것이다. 

익숙해진 행동 안에서 생각을 하지 않고 움직이는.... 
반복을 하다보니 배우는 것 보다 잊는것이 더 많은 삶을 살아간다.

낯설은 환경에서 생각을 하며 살고 싶다.

2013년 7월 29일 월요일

그래....러시아다.

그래...

방사능에 쩔은 일본 패스

중국...날이갈수록 싫어지는....

곰곰히 생각해보니 러시아다.....

40대 중반좀 넘어서 바이크하나 사서 러시아나 다녀와야겠다.

20살에 떠나려고했던 전국일주를 15년이 지나서 했으니

지금 생각은 50이 넘어야 할라나????

좀 땡겨서 가보자 넘 늙어서가서 골골대면 추하다

한 5년 열심히 살아서 돈 좀 모아봐야겠다.

심심해지던 생활이 갑자기 두근대기 시작한다.



2013년 7월 27일 토요일

가족때문에 산다는 그 말도 안되는 소리

새벽에 잠은 안오고 ...
아라얼굴 함보고 마눌님 팔뚝 만지막(?) 거리다가....
딩굴딩굴 하다가 끄적 거려본다.



가끔 술을 마시다 이런저런 이야기를 하다

갑자기 초딩버젼의 철학이야기가 나올때 가 있다. 

"왜 사나요?"

그리고 삼십대 중반이 넘었음에도 불구하고 

그 이유에 대한 변명(?)을 마련하지 못한 

불쌍하고 순수한 영혼을 접할때면 깜짝 놀라곤 한다.

아.... 그 질문을 한 사람을 보고 놀라는 것은 아니다

질문을 한 인간은 적어도 사는 이유에 대하여 뭔가 소설을 쓰려고 노력이나 하고 있으니

그나마 나은 축이다 싶다.

내가 가슴아픈 사람은 

"애들하고 가족들 때문에 살지...내가 먹여살려야 하고....뭐라뭐라 블라블라블라~"

이미 소설은 완성했는데 이게 너무 통속 적이고 이유도 없다는 것에 있다.

그저 마당깊은집 같은 과거 드라마의 가부장적 아버지들이 술에 떡이 되서 

지껄이는 의미 없는 너스레같으다.

솔직히 이렇게 이야기 해주고 싶었다

"...조까세요"

하지만 맨탈이 깨지고 말이 길어질까봐 침묵한다.



그럼 나는 가족을 위해 살고 있지 않은가?  

아니다. 나도 와이프가 있고 초딩 아들과 10년 차이나는 둘째가 있다.

그들도 아주 중요한 내 삶의 이유다. 어쩌면 진정 그들때문에 살고 있는지도 모른다.

하지만 거부한다.

왜?

....가족때문에 내가 삶을 살고있다고 하면... 

그럼 39살에 결혼하지 않은 내 친구들은 뭔가?

그 논리대로한다면 

결혼하고 아이들을 낳지 않는(자의던 타의던) 친구들은 

나의 삶보다 그들의 삶의 이유가 비교적 가벼운건가?

고아원에서 자라 이세상 홀홀 단신으로 사는 많은 사람들은 삶의 의미가 없는가?

그리고 결정적으로 내가 이때까지 한번도 가족(오직 그것)만이 

내 삶의 이유라고 생각한 적이 없음에 

그럼 나는 쓰레기 인건가?  

그러기에는 뭔가 말이 않된다.


나는 나를 위해 살았고 앞으로도 그렇게 살것이다.

나는 나를 사랑해 주는 사람이 필요하다. 가족은 나를 사랑해 준다. 

나는 내 맨탈 유지를 위해서 나를 사랑해 주는 사람이나 조직이 꼭 필요하다. 

그래서 그들이 유지, 관리 될 수 있도록 

경제적, 정신적 지원을 하는데 있어서 일말의 궁금증도 없다.


나는 내가 사랑한 또는 사랑할 대상이 필요하다.  

예를들어 최근 태어난 둘째 아라. 아직 말 도 못하는 만 1.5세, 너무나 사랑스럽다.

이제 자기 의사를 몸짓과 표정으로 표현하고  

가끔 귀찮은 것은 쌩까는 방법을 배우고 있는 

그 짓거리들이 어찌나 귀여운지 말도 못하겠다.


"왜 꾸역꾸역 사느냐"의 질문에 해답은 

"왜 죽지 않고 찌질하게 살아 있느냐"는 질문으로 바꾸면 

아주 명확하고 확연하다.

나와 관계된 관계망이 유지 되고 있고 그 관계를 유지 하는것이 나를 위함이고 

그 위함으로 내가 죽지 않는(살아가는) 이유는 명확해 진다.

"가족때문에 산다" 라는 말의 함정은 이거다. 


사람마다 자신의 영혼과 육체의 생존을 위해서 유지하는 관계들은 다양하다.

그런데 "가족때문에 산다" 라는 형님의 조언은  폭력적이다.

아직 결혼할 시기가 아닌 또는 능력이 안되는(돈이던 이성이던) 20대는 

어쩌면 감수성에 따라 사는 이유에 대한 고민이 더 많을 수 있다.

거기다가 이력서 100통에 취업도 안되고 집에 돈도 없고 

군대 전역할때는 다 됬고  대학원갈 머리가 안된다면 "아....못살겠다" 할 만하지 않은가

결국 아무것도 없는 사람에게 "가족"을 만들기 위해  

취업+연애+결혼+출산  4종 셋트를 언능 하라는, 

먼저 가진이의 오만함이라는 생각

그래야 너도 정상적인 인간이라고...삶의 이유가 있는것이라고 

그러니 결국  "가족의 가장으로써 회사를 다니고 있는 이 인간의 말 인즉슨..."

취업 못하는 너는 찌질한 인간이고

결혼 안하는 너는 이상한 인간이고

애를 낳지 않는 너네들은 인간이 덜된 거라고....





평소 내가 가족때문에 이 고생을 하면서 

회사를 다닌다고 하는 사람은 내 글을 보고 짜증을 낼지도 모르겠다.

35살까지는 인정(맞다는게 아니라 아직 나이가 그 나이라 어느정도 인정한다는...이해 한다는 말과 다르다)

하지만 나이 드실만큼 드신분들이라면 

"그저 우리가 게을러서 평소에 생각없이 살고 있는거에요"

라고 말해줄께요



씨바...어짜피 니놈도 애들하고 마누라때문에 산다는 말은 똑 같지 않느냐!  
알량한 말장난으로 장난 하느냐!

맞습니다!!

지금 나는 졸라 잘난척을 하고 있는거에요

눈치를 까셨다니 참으로 다행입니다.


그런데 그거 하나만 생각해 봤으면 한다.

프로그래밍을 할때  구조를 어떻게 잡느냐. 

즉 인터페이스를 사용하느냐 아니면 그냥 static 하게 메서드에 프로그램을 하느냐에 따라 

재활용을 하거나 구조변경시 메인을 박살내고 뜯어야 하느냐 

아니면 외곽만 수정을 하느냐가 결정된다.

잘 설계된 프로그램은 적은 수정만으로 큰 영향없이 운영이 가능하다.


사는 이유는 아주 근본적인 철학의 과제다. 

전문대학이라도 나왔다면 교양시간에 한번쯤 들어봤을 것이고 

살다보면 한번씩 입에 올려는 본 내용이다, 

그런데 이 근본적인 내용에 대한 고민이 덜 되어 있다면 (구조가 잘 설계되지 않았다면)

작은 변경에 너무 큰 수정비용을 지불해야 한다는 위험이 있다.


간단하게 ... 

만약

이혼을 했다면?  멘붕이다...어쩔것인가

사랑하던 사람이 사고로 죽었다. 어쩔것인가



하고싶은 이야기는 이거다

최소한의 자기 보호 - 이기적인 부분 보다 주변인 보호를 위해  - ,

자신을 중심에 놓은 삶에 대해서 고민함이 중요하다는 것이다. (인터페이스 설계, 구현)

이기적인 것이 아니고 이타적인것이고  현명한 판단이어야 한다.

이혼을 하고 재혼을 하더라도 

타이트커플링된 삶의 이유를 찟어 발기다가 박살이 나는 일은 방지해야  

부모님까지 멘붕이 되는 일을 막을 수 있다.

만약 새로운 사람을 만나 재 출발할때라도 

그(새로만난) 사람을 유연하게 받아들일 수 있지 않을까?



부모님대에 4남매중 2명이 목사, 고모님은 목사사모
4촌들은 온통 장로아들과 결혼, 또는 목사....뭐뭐...

내가 결혼할때 워낙 말들이 많았다. 

"그따위로 해서 되겠느냐고."   이말은 당시에 생각했을때 저주다

"너같은 놈은 결혼해도 얼마 못살아"  뭐 이렇게 

나는 내 결혼식에 나의 부모님을 모시지 못했다.

아버지는 오기 싫다고 하셨고 어머니는 아버지를 어길 수 없다고 하셨다.

....

장인장모에게 조금 쪽팔렸다.

하지만

고마웠다. 

드디어 독립이다. 

지긋 지긋하게  내 삶의 지분을 주장하던 그분들이 알아서 떨어져 나갔다


결혼 후 14년이 된 지금. 아무도 나에게 그때 이야기를 하지 않는다

왜?  내가 잘 살고 있으니까, 그들의 저주 대로 이혼하지 않고 살고 있으니까!   

뭐라고 할껀데?  (내가 이겼다~ 만세~~~  -.-;;)

그리고 느즈막히 이렇게 말한다 

"가족이 있으니 열심히 살으라고...."

...아...차마 가족에게 엿을 날릴 수 없으니 참기는 하지만....여하간 그러하다


그렇다고 지금 내가 부모님을 보지 않거나 집안에 분란이 있는건 아니다.

때 되면 부모님댁에 찾아가고 손자 손녀 보고 싶어서 나이드신 부모님은 전화를 하신다.

언제 내려오냐고!!!

그런거다.  

나보다 더한 인간들 많다... 다 들 진상을 떨면서 살아간다는 

평범한 진리를 알게 된 순간 세상 살기 참 편했다

대충 살아서 날로 먹어지는 인생이 아닌거다.

졸라 진지하게 살아야 한다. 

돈 많이 버는것과 전혀 상관없는 이야기

내가 사는 이야기...

나를 정면으로 바라보고 사는 이야기 그런거

끝.


2013년 7월 26일 금요일

MongoDB Architecturing

구조를 설계할때는 먼저 닥치고 그림으로 표현 가능해야 합니다.

깔아보고 만져봐야 그림이 나온다? 맞습니다. 깔아보고 만져보고  꼭 그리세요 

그냥 만지다가 그걸로 프로덕션으로 넘어갔을때 나중에 당할 곤란함을 알고 있다면 

또는 모른다면 여하간 그리는 겁니다.

아래 그림은 가상화서버(Citrix Xen)으로 서버 5개를 만들고(외곽 점선) 각 서버에 노드들을 구성한 구조 입니다.

라우터는 각 서버에 하나씩 다  구성하고 Config는 3개(최대 3개-1개 아니면 3개만 허용함 2개 만들면 안뜬다)  그리고 ReplicaSet을 Sun Moon Mars로 이름지어서 3개 만들었습니다.

각 Set는 내부적으로 Master 노드 1, 복제노드 2, 아비터 노드 1 로 구성합니다.

각 노드에 대한 설명을 써봅니다.

mongoS : 인입된 쿼리를 여러 개의 MongoD(DB)에 분산(라우팅)함, 데이터 저장하지 않음
Configuration Server : 분산 저장되는 데이터(Collection)의 위치를(메타데이터) 저장하고 있음,  MongoS로 인입된 쿼리의 데이터를 조회하기 위한 참조정보로 사용됨

Mongod : 실제 DB 정보의 저장 및 회신을 담당하며

MASTER : R/W가 가능한 Master (node type Standard)

STANDARD SLAVE : Read only이나 장애시 Master로 승격되는 Slave (node type Standard)

PASSIVE SLAVE : Slave이지만 Priority가 0 으로 설정되어 Master를 복제하지만 Master로 승격되지 못하는 Passive  (백업 또는 읽기전용 서버로 사용)

ARBITER : Master장애시 Master로 승격할 Slave 선출에만 참여하고 데이터는 없는 아비터


u설치 구성의 전체 절차
서비스를 위하여 서버를 설치 하는데 있어 MongoDB는 친절하지 않다.
설치는 설치대로 구성 하고 구성정보는 DB에 별도로 입력 하여 구성한다.
전체적인 절차는 아래와 같다.
1.DB 환경 설계
1.Shard 구성방안 Mongos 구성 Config 구성 몇 대  어디로 분산 할 것인가 (HA에 주안점을 둘 것)
2.Replication Set 구성안 MongoD를 몇 개 구성할 것인가, Arbiter 의 위치(HA)
3.대량의 Write 대응 Replset을 늘린다.
4.대량의 Read 대응 Replset내에 Slave를 추가한다.
2.장비준비
1.IP할당
2.OS설치(Cento6버젼이상) 및 튜닝  (본 건의 경우 XenServer를 사용하여 가상화 환경에서 진행)
3.Gluster 또는 NAS 등의 공유저장소 (Local을 사용해도 가능하나 bigData 처리시 Disk 부족으로 인하여 서버를 증설하는 케이스를 줄이기 위해서는 Scale Out가능한 Storage를 구성함이 권장됨
3.서버 설치 및 인스턴스 구동
1.ConfigServer 구성
1.Config 구동 후 Mongos를 띄울때 GlusterFS를 사용하는 경우 Fuse의 MMAP 지원문제로 다운되어 버리는 경우가 있다.
2.이 경우 Linux의 Kernel FUSE의 MMAP 호환성 문제로 판단됨  상세한 원인은 모르나 .CentoOS 6으로 설치하여 문제가 해결됨버전 업그레이드 할 것
2.MongoS 구성
3.ReplicaSet 구성
4.Shard 구성
1.mongoS에 접속하여 Replica Set을 등록하여 실제 데이터 적제 및 조회가 가능하도록 하는 작업 수행
4.개발진행시 샤딩구성(enablesharding) 및 샤드키 등록
1.샤딩하여 저장할 DB를 생성한 다음에 mongoS에서 샤딩 정보를 등록하여 분산 저장하도록 한다.

uConfig SVR  구성
공통
각서버에 mongo 계정을 생성하고 /db 파티션과 /dbdata  /log 파티션을 생성
Db설치위치 : /db/mongodb/
Dbdata위치 : /dbdata/config or instance(실 서비스 DB데이터GlusterFS & FUSE 사용 접속
vlogdb1에서
$ mkdir -p /dbdata/config/config1
mongod --fork --quiet --dbpath /dbdata/config/config1 --port 13000 --configsvr --logpath /log/db/config1.log
vlogdb2에서
$ mkdir -p /dbdata/config/config2
mongod --fork --quiet --dbpath /dbdata/config/config2 --port 13000 --configsvr --logpath /log/db/config2.log
vlogdb3에서
$ mkdir -p /dbdata/config/config3
mongod --fork --quiet --dbpath /dbdata/config/config3 --port 13000 --configsvr --logpath /log/db/config3.log
설명
--fork : processbackground로 실행 (& 없이)
--quiet : 로그를 단순하게 출력
--dbpath /dbdata/config/config3 : Data 저장 위치 PATH
--port 13000  : 서비스 포트 (mongoS 구성시 참조하는 정보)
--configsvr  : mongodDBConfig에 같이 사용함 configserver임을 명시함
--logpath /log/db/config3.log : 로그 저장 위치
기타
Config Server1대 또는 3대 만 허용한다. 2대 또는 4대 이상 구성시 mongos 구동시 오류출력하고 구동 되지 않는다.
Mongodb 자체의 제약 사항이므로 metadata 병목이 우려될 경우 Config 새로운 DB를 별도로 구성하여 운영 하도록 한다.
umongos SVR  구성
공통
각서버에 mongo 계정을 생성하고 /db 파티션과 /dbdata 파티션을 생성
Db설치위치 : /db/mongodb/
Dbdata위치 : mongosdata 저장소를 사용하지 않는다.
mdbs1에서
mongos --fork --quiet --port 15000  --configdb mdbs1:13000,mdbs2:13000,mdbd1:13000 --logpath /log/db/route1.log
mdbs2에서
mongos --fork --quiet --port 15000  --configdb mdbs1:13000,mdbs2:13000,mdbd1:13000 --logpath /log/db/route2.log
설명
--fork : processbackground로 실행 (& 없이)
--quiet : 로그를 단순하게 출력
--port 15000  : 서비스 포트 (mongoS 구성시 참조하는 정보)
--configdb mdbs1:13000,mdbs2:13000,mdbd1:13000  : config서버 정보를 리스팅 한다. 분산파일을 찾아 낼 때 사용함
--logpath /log/db/config3.log : 로그 저장 위치
기타
Mongos는 여러대가 구성 가능하다
권장하는 구성은 모든 서버에 mongos를 구성하는 것이다.
분산을 위해서는 L4등에 등록이 필요하지만 궂이 모두 등록 하지 않아도 되며 HA를 감안하여 구성
Config Server 정보는 1대 또는 3대 만 허용한다. 2대 또는 4대 이상 구성시 mongos 구동시 오류출력하고 구동 되지 않는다.
uReplication Set 구성
설명
기본 제공되는 HA 방식인 MASTER/SLAVE 구성은 Master 파손시 Write가 되지 않도록 구성된다.
ReplSet 구성시 Master(PRIMARY라고 한다) 파손에 따른 승급( Promotion)이 자동으로 동작한다.
1개의 MasterN(12개이하) Slave, 1개의 Arbiter로 구성된 ReplSet는 다수 구성될 수 있다.
Shard Server 구성시에는 Master Slave구동시 지정하지 않고 replSet 으로 상호간의 정보를 등록한다.
Master는 임의로 지정(선출/자동)되거나 앞서 ReplSet구성시 priority를 높게 지정한 서버가 Master가 된다.
데이터 저장소 생성
MongoDB (글러스터FSNAS를 사용하는 경우 아무대 서나 한곳에서(단독에서는 각각 필요한 경우만)
“sun” ReplSet
$ mkdir -p /dbdata/instance/sun/abit  (arbiter)
$ mkdir -p /dbdata/instance/sun/vlogdb2
$ mkdir -p /dbdata/instance/sun/vlogdb4
$ mkdir -p /dbdata/instance/sun/vlogdb5
moon/mars 용으로 폴더 생성
구성
vlogdb1에서
$ mongod  --dbpath /dbdata/instance/sun/abit --port 10000 --fork --quiet --logpath /log/db/sun_abit.log --replSet sun/vlogdb4:10001,vlogdb2:10002,vlogdb5:10002
$ mongod --dbpath /dbdata/instance/moon/vlogdb1 --port 20002 --fork --quiet --logpath /log/db/moon_slave.log --nssize 1024 --oplogSize 2048 --replSet moon/vlogdb3:20001,vlogdb4:20002
vlogdb2에서
$ mongod  --dbpath /dbdata/instance/sun/vlogdb2 --port 10002 --fork --quiet --logpath /log/db/sun_slave.log --nssize 1024 --oplogSize 2048 --replSet sun/vlogdb4:10001,vlogdb5:10002
$ mongod  --dbpath /dbdata/instance/moon/arbit --port 20000 --fork --quiet --logpath /log/db/moon_arbit.log --replSet moon/vlogdb3:20001,vlogdb1:20002,vlogdb4:20002
$ mongod --dbpath /dbdata/instance/mars/vlogdb2 --port 30002 --fork --quiet --logpath /log/db/mars_slave.log --nssize 1024 --oplogSize 2048 --replSet mars/vlogdb4:30002,vlogdb5:30001
Vlogdb3에서
$ mongod --dbpath /dbdata/instance/moon/vlogdb3 --port 20001 --fork --quiet --logpath /log/db/moon_master.log --nssize 1024 --oplogSize 2048 --replSet moon/vlogdb1:20002,vlogdb4:20002
$ mongod --dbpath /dbdata/instance/mars/abit --port 30000 --fork --quiet --logpath /log/db/mars_arbit.log --replSet mars/vlogdb2:30002,vlogdb4:30002,vlogdb5:30001
Vlogdb4에서
$ mongod --dbpath /dbdata/instance/sun/vlogdb4 --port 10001 --fork --quiet --logpath /log/db/sun_master.log --nssize 1024 --oplogSize 2048 --replSet sun/vlogdb2:10002,vlogdb5:10002
$ mongod --dbpath /dbdata/instance/moon/vlogdb4 --port 20002 --fork --quiet --logpath /log/db/moon_slave.log --nssize 1024 --oplogSize 2048 --replSet moon/vlogdb1:20002,vlogdb3:20001
$ mongod --dbpath /dbdata/instance/mars/vlogdb4 --port 30002 --fork --quiet --logpath /log/db/mars_slave.log --nssize 1024 --oplogSize 2048 --replSet mars/vlogdb2:30002,vlogdb5:30001
Vlogdb5에서
$ mongod --dbpath /dbdata/instance/sun/vlogdb5 --port 10002 --fork --quiet --logpath /log/db/sun_slave.log --nssize 1024 --oplogSize 2048 --replSet sun/vlogdb2:10002,vlogdb4:10001
$ mongod --dbpath /dbdata/instance/mars/vlogdb5 --port 30001 --fork --quiet --logpath /log/db/mars_master.log --nssize 1024 --oplogSize 2048 --replSet

uReplication Set 구성 – SUN setting
“SUN” ReplSet  Init
실제 DB 내부에 설정을 초기화 한다.

//구성된 DB 중에서  SUN Replication Set을 만든다.
//start replSet으로 사용할 DB아무대나 접속해서 된다. 아래 예에서는 Master로 사용할 DB에서
//접속
./mongo vlogdb4:10001/admin  ç MASTER / SLAVE 아무곳에서 해도 되나 그냥 MASTER에서 진행했음
//아래 컴멘드를~ 넣어 주면 됨, 한줄로 안 넣어도 됨
>db.runCommand({"replSetInitiate":
  {"_id":"sun",
  "members":[
  {
      "_id":0,
      "host":"vlogdb1:10000",
      "arbiterOnly":true
  },
  {
      "_id":1,
      "host":"vlogdb2:10002"
  },
  {
      "_id":2,
      "host":"vlogdb4:10001",
      "priority":100    ç  이 숫자가 높은 녀석이  PRIMARY 가 된다.(default 1)
  },
  {
      "_id":3,
      "host":"vlogdb5:10002"
  }
  ]
  }})
//명령수행 결과
{
        "info" : "Config now saved locally.  Should come online in about a minute.",
        "ok" : 1
}

Moon 하고 Mars도 위를 참고해서 구성하면 됩니다.  포트와 hostname에 주의 하세요

uShard Server구성
설명
mongoS에서 요청들어온 데이터를 분산저장 하거나 찾아 내기 위해서 Shard구성을 한다.
Shard 구성은  mongoSReplSet 정보를 등록함으로써 수행된다.
mongoS에 접속하여 정보를 입력하면 해당 정보는 ConfigSVR에 저장된다.
mongoS가 여러대 이더라도 1대에 Shard용 서버 또는 ReplSet 정보를 등록하면 자동으로 전파되어 동기화 된다.(작업은 1곳에서 1)
구성
//mongoS 서버 중에 아무대나 접속한다. 아래의 경우 1번에 접속
./mongo vlogdb1:15000/admin
//”sun” replSet을 등록한다
>db.runCommand({addshard:"sun/vlogdb4:10001"})
//”moon” replSet을 등록한다
>db.runCommand({addshard:"moon/vlogdb3:20001"})
//”mars” replSet을 등록한다
>db.runCommand({addshard:"mars/vlogdb5:30001"})
======================
logdb샤딩한다고 정의 안하면 계속 첫번째 샤드에 저장
db.runCommand({"enablesharding":"logdb"})
샤드할 콜랙션과 키를 지정한다.
db.runCommand({"shardcollection":"logdb.weblogColl", "key":{"_id":1}})

위의 경우 vlogdb1,2,3,4,5 정보를 /etc/hosts 파일에 등록해 놓았다. (아니면 IP 넣어야 함)
여러 개의 mongod 서버 중에서 아무 서버나 등록해서 Replication SET 정보를 알아내기는 하지만 관리상 임의로 Master로 지정한 서버의 정보를 등록 하였다.
위와 같이 해 놓으면 Replica set 서버 중에서 어느 놈이 죽더라도 set안에 다른 서버가 Master로 승격되고 알아서 그쪽으로 Write를 전달 하게 된다.(자동 처리됨, 테스트 결과 5초 미만)

단순하게 데이터를 입력하기 위한 코드 셈플입니다.

import java.net.UnknownHostException;
import java.util.Set;
import com.mongodb.*;
public class mongoTest {
    public static void main(String[] args) throws Exception {
  try{
  Mongo m = new Mongo(“172.18.186.193",15000);
                           DB db = m.getDB("logdb");
 
                                                                         Set<String> colls = db.getCollectionNames();
                                                                                for (String s : colls) {
                                                                                          System.out.println(s);
                                                                                          }
                                                                       // get a collection object to work with
                                                                        DBCollection coll = db.getCollection("weblogColl");
  BasicDBObject doc = new BasicDBObject();
  doc.put("IP", "127.0.0.1");
  doc.put("DATE", "17/Oct/2011");
  doc.put("TIME", "15:17:55");
  doc.put("ZONE", "+0900");
  doc.put("URI", "/test.xxx");
  doc.put("VERSION", "HTTP/1.1");
  doc.put("CODE", "404");
  doc.put("SIZE", "208");
 
  coll.insert(doc);
 
  }catch(UnknownHostException e){
  System.out.println("Unknown Host!!");
  }
       
  }//mongoDbConnectionTest
 
}                       


구동할때 마다 손으로 하면 힘드니까 스크립트를 만들어서 구동하고 정지하세요 
스크립트 셈플로 하나 올립니다. 

#!/bin/sh
#START MONGO DB INSTANCE
# Check user
#######################################
USER=`whoami`
if [ $USER != "mongo" ]; then
  echo "$0 should be running as [mongo] user. " >&2
  exit 9
fi
######################################
PROGRAM=/db/mongodb/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep 'moon_slave' | grep -v grep | awk '{print $2}'`
test -x $PROGRAM || exit 0
case "$1" in
  start)
     echo "Starting replSet MOON DB server"
     $PROGRAM --dbpath /dbdata/instance/moon/vlogdb1 --port 20002 --fork --quiet --logpath /log/db/moon_slave.log --nssize 1024 --oplogSize 2048 --replSet moon/vlogdb3:20001,vlogdb4:20002
     ;;
  stop)
     echo "Stopping replSet MOON DB server"
     if [ ! -z "$MONGOPID" ]; then
        kill -15 $MONGOPID
     fi
     ;;
  *)
     echo "Usage:moon_slave.sh {start|stop}"
     exit 1
esac
exit 0

ㄴㅇㄹㅇㄴㅁㄴ