2014.02.24 23:07

ofstream ofs;

ofs.open ... 

ofs.write .. 

ofs.close();


ofs.open => 이렇게 다시 활용할 때, 단순히 close만 하면 write해도 실제 write 안됨.  ofs.clear()를 꼭 해줘야 함.  clear 안해도 open이 정상적으로 되는게 함정.


http://www.cplusplus.com/reference/ios/ios/clear/


참고.

저작자 표시 비영리 동일 조건 변경 허락
신고

'개발/경험' 카테고리의 다른 글

애자일, xp 등등...  (0) 2014.03.19
git 사용기  (0) 2014.03.18
ofstream 반복 활용시...  (0) 2014.02.24
Facebook Web 연동 막정리  (0) 2014.02.02
나의 생각을 전달한다는 것.  (0) 2014.01.22
개발과 리딩의 사이  (0) 2014.01.22
2014.02.05 12:02

로그 위치를 별도 지정하지 않았다면 일반적으로 /var/lib/mysql 에 생성됨.


바이너리 로그는 mysql-bin.0000XX 이런식으로 생성되며, 이 파일을 삭제할 경우가 생긴다면

mysql-bin.index에 기록된 정보도 같이 수정되어야 한다.

(* 이 내용이 일치하지 않으면 실행 안됨.)


바이너리 log 파일은 mysqlbinlog [로그파일명] 으로 볼 수 있으며, 텍스트 파일 형태로 변환할 때는 mysqlbinlog mysql-bin.000001 >> mysqlquerylog.txt 형태로 변경하여 볼 수 있다. 

용량이 크면 split으로 분리할 것!


/etc/my.cnf 에서 innodb_log_file_size의 용량을 수정할 때는 innodb_buffer_pool_size의 25% 이하로 설정해야 함.


innodb_log_file_size옵션값으로 설정되는 파일이 ib_logfile0과 1인데, 해당 옵션의 값을 조정하려면 아래와 같은 순서로 진행해야 한다.


1) mysql 종료

2) ib_logfile0과 1을 이동하거나 이름 변경

3) 옵션값 조정

4) 재시작


기존에 할당된 용량만큼의 사이즈로 이미 할당되어 있기에 옵션만 바꾸면 실행시 에러가 발생한다. 주의할 것!

저작자 표시 비영리 동일 조건 변경 허락
신고
2014.02.02 23:53

원본 : https://developers.facebook.com/docs/javascript/quickstart


사이트 내용 전체를 번역하였다, 허락없이 번역본을 웹사이트에 공개하는 것은 저작권 침해라하여 올리지 못함.


그래서 일단 제작에 대한 내용을 별도 정리하여 업데이트 한다. 


들어가기전..

* 아래 내용을 테스트 하려면 facebook app에 대한 개발 환경이 갖추어져야 한다. 아래 내용은 웹 APP에 대한 개발을 기준으로 정리되었다.

 - facebook에서 "앱 만들기"를 통해 만들고자 하는 앱을 등록하고, ID를 발급받는다.

 - App Domain에 localhost로 등록은 안된다. 자신의 PC에 있는 hosts 파일에 원하는 이름을 넣어두고, 그 이름으로 등록하면 local test 가능하다. (해당 이름으로 사이트 URL도 맞추어야 한다.)

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

Javascript를 위한 facebook sdk는 다른 자바스크립트 라이브러리처럼 코드상에서 세팅. html 파일의 <body> 태그 바로 아래에 아래 코드를 삽입하면 끝.

<div id="fb-root"></div>

<script>

  window.fbAsyncInit = function() {

  FB.init({

    appId      : 'your-app-id',

    status     : true, // check login status

    cookie     : true, // enable cookies to allow the server to access the session

    xfbml      : true  // parse XFBML

  });


  // Load the SDK asynchronously

  (function(d){

   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];

   if (d.getElementById(id)) {return;}

   js = d.createElement('script'); js.id = id; js.async = true;

   js.src = "//connect.facebook.net/en_US/all.js";

   ref.parentNode.insertBefore(js, ref);

  }(document));


 - 성능을 고려해 javascript sdk는 최소화된 버전으로 로드되는데, 디버깅을 위해 아래와 같이 sdk를 세팅할 수 있다.

js.src = "//connect.facebook.net/en_US/all/debug.js";


- 소셜 플러그인 기능도 활용할 수 있는데, 대표적인 like 버튼을 아래와 같이 삽입 가능하다. 아래 코드를 body 안에 넣고 리로드 해보면 결과를 확인할 수 있다.

<div class="fb-like" data-send="true" data-width="450" data-show-faces="true"></div>

 

- 로그아웃 버튼 삽입은 아래와 같이

<a href="#" onclick="FB.logout();">logout</a>


- Feed에 글 남기기 (이미지 지정 해서)

 1) body 안에 링크 

<a href="#" onclick="postToFeed();">글 올리기</a>

  2) javascript에 추가

   function postToFeed(){

var data= {

method: 'feed',

link : 'your-url',

name : '이름',

caption : '캡션',

description : '설명'

};

function callback(response){

}

FB.ui(data, callback);

  }


- 자신의 페이지에 comment 남기기 (자신의 주소를 기준으로 포스트 내용을 facebook 서버에 저장하고, 페이지 로딩시에 불러오는 듯)

<fb:comments href="your detail url" num_posts="4" width="400"></fb:comments>



저작자 표시 비영리 동일 조건 변경 허락
신고

'개발/경험' 카테고리의 다른 글

git 사용기  (0) 2014.03.18
ofstream 반복 활용시...  (0) 2014.02.24
Facebook Web 연동 막정리  (0) 2014.02.02
나의 생각을 전달한다는 것.  (0) 2014.01.22
개발과 리딩의 사이  (0) 2014.01.22
개발자에서 개발자들의 리더가 된다는 것!  (0) 2014.01.22
2014.01.22 03:02

내가 생각하는 것 그대로를 잘 전달하는 것


너무 표면적으로 설명하기 보다는, 내가 그리는 큰 목표를 좀 더 잘 설명할 수 있도록



많은 준비들이 필요하다.


정확히는 연습과 반대 의견에 대한 대비가 필요하고, 많은 경험에 의한 원활히 의견을 조율할 수 있어야 한다. 


내 의견이 다가 아님을, 다른 이의 의견이 그냥 나온것이 아님을 머리속에서 되뇌이고 되뇌인다. 



저작자 표시 비영리 동일 조건 변경 허락
신고
2014.01.22 02:01

개발자 태생인 나로서도, 개발자 태생인 누군가든... 


내가 직접 개발을 주도하던 일에 대해서 지시를 하는 것은 괜찮을 듯. 


하지만 내가 개발을 직접 주도하지 않는 일을 어설프게 지시하는 것은 위험하다. 


그래도 개발을 진행 사항을 지켜보고, 관심을 가지고, 개선을 해야 한다면 목표를 정확히 공유하고, 주기적인 진행 보고를 받으며(최소한 영상으로...), 플레이를 하면서 개선 사항을 "논의"한다.


그리고.. 당신이 선정한 리더를...



적극적으로 




믿는다.


그리고 끊임없는 관심과 격려를 잊지마라.


저작자 표시 비영리 동일 조건 변경 허락
신고
2014.01.22 01:19

자신의 개발 경험을 하나씩 포기해 가는 과정이다.



내가 원하는 방향보다는 , 그들이 원하는 방향으로 돌려주기도 하고 ...


아무리 작은 코드도, 내가 빨리 하려하지 말고, 그들이 스스로 하기를 기다리고 ...



기다리고...


기다리고...


챙겨준다.

저작자 표시 비영리 동일 조건 변경 허락
신고
2014.01.16 13:55

현재 게임 컨텐츠를 제작하는 모델툴은 X파일 포멧으로 3DMAX에서 데이터를 익스포트 후

컨버터를 이용하여 우리 게임의 원 리소스로 제작을 하고 있다. 


그리고 내부적인 규칙으로.. 


매쉬 당 하나의 메터리얼을 가지자고 논의를 했었다. 


그런데 최근 맥스에서 하나의 매쉬로 만들어서 익스포트한 데이터가 두개의 메터리얼을 가진다고 나오는 현상이 발생하여 조사를 시작했다. 


맥스에서 데이타를 잘못 만든게 아닌지, 코드에 최근 수정 사항이 있는건지를 한참동안 실갱이 하면서 논의를 하던 중..


본 개수의 초과문제가 아닐까 하는 의문의 제기했다. 


참고로 과거에, 하나의 매쉬별로 최대 26개의 본을 가질 수 있도록 되어 있었다. 내가 모델툴을 계속 개발한 것이 아니었기에, (담당자 퇴사로 내가 현재 담당하는 중.) 중간에 이 내용이 변경된 줄 알고 있었다. 게다가 최근 그래픽 파트에서 60개의 본을 만들어서 넣었는데 잘 되더라 하는 이야기도 있었기에... 


하지만 최종 결론은 본 개수의 초과로 인해 서브셋으로 구분되어 나타나게 되었으며, 이 내용을 검토하니 X 파일 포멧이 어떻게 본을 인지하는지를 알게 되었다. (다른 포멧에서도 공통적인지를 모르겠다. 커뮤니티에 물어봐야지.. ㅠ_ㅜ)


이유인 즉, 본을 만든다고 다 본으로 인지하는 것이 아니고, 매쉬와 본 간 링크를 걸어야만 그 본을 인지한다는 것을 알게 되었다. 


다들 겉으로 보이는 비쥬얼로만 판단을 하다보니, 오래 3D를 했던 사람들도 잘 몰랐던 내용이라서 상당히 고전을 했다. 


그래서 본 개수로 지정할 수 있는 최대 개수를 확인해 본 결과 아래와 같은 내용을 보고 받았다. 



 

 Shader 1.1

 Shader 2.0

 Shader 2.x 

 Shader 3.0 

Shader 4.0 

 상수 레지스터 개수

 96개

256개 

256개 

256개 

65535개 

 사용할 수 있는 최대 본 개수

 32개

85개 

85개 

85개 

2185개 



잘 정리해놓고 잊어버리지 말아야지.!!



저작자 표시 비영리 동일 조건 변경 허락
신고
2014.01.15 11:38

현재의 서버 구조가 락을 많이 사용하고 있어 서버가 느려질 수 있다는 건의를 받았다.


인정!! 서버의 남아도는 코어를 적극적으로 활용하기 위해 디자인된 코드들이라 좀 부족한 부분이 있다는건 인정한다. 


하지만, 지금 그 문제를 수정하기 위해 One Thread 모델로 돌아가자는 건의는 받아들이지 않았다. (컨테이너에 접근하는 critical section 비용을 줄이기 위해, 이런 작업들을 하나의 thread로 몰아 넣자는 의견.)


안정적인거 좋고, 기존에 자신이 부딪혀 봤던 경험도 좋은 것이지만, 


지금의 한계를 넘어서기 위한 노력은 끊임없이 이루어져야 한다고 생각한다. 


단순히 모험심의 문제는 아니다. 


나도 몇개의 온라인 게임을 오픈해봤으며, 그것들에 대한 한계도 많이 보아왔다.


16개의 코어 중 2~3개만 70%를 넘어서는 모습들을 보면서 .. 단지 안정성만 고려한 디자인으로는 이 한계를 벋어날 수 없다는 결론을 내렸다. 


( 이런 설계 모델로 mmorpg에서 하나의 물리 서버(1u intel zeon 2.6GHz던가.. 1pu 4Core * 2개 장착 서버에서)당 6000 가까이 받아냈다. 그 게임의 후속작이니 이대로 만들수도 있겠지만... )


하드웨어의 성능은 나날이 좋아져만 가는데, 이를 활용하지 못하는 오래되고 안정된 모델로만 시스템이 설계된다면 안된다.


그냥 죽지 않는 서버를 만들면 되는거 아니냐고 말할 수 있겠지만, 그게 다가 아니라고 생각했으면 한다. 


그리고 이런 인원이 있을때면 어떻게든 잘 설득해서 새로운 목표를 가지고 진취적으로 갈 수 있도록 하는게 리더. 


근데 난 잘 설득을 한걸까? ㅠ_ㅜ  기분나쁘지 않게 잘 이야기 했어야 하는데...

저작자 표시 비영리 동일 조건 변경 허락
신고
2014.01.08 15:18


(원 출처)http://www.skysql.com/blogs/max-mether/mysql-56-vs-mariadb-100


지원하는 기능들에 대해서 잘 정리되어 있어 공유해둠.



10.0.2가 릴리즈되면 지금 쓰는 mysql5.6을 대체할 예정이었는데 좀 더 고민 중.


mariaDB에 innoDB의 memcached plugin이 아직 존재하지 않는 듯.


빨리 지원되어야 할텐데... 

저작자 표시 비영리 동일 조건 변경 허락
신고
2013.12.30 14:54


개발을 사람이 하는 일이라 하여, 직접 대화를 한 사람들에게만 중심을 두고


빨리 빨리만 일을 진행하려 문서 정리를 등안시한다면, 


그 대화를 하지 않았던 사람들은 어떻게 그들의 생각을 비슷하게나마 공유할 수 있겠습니까. 그들 또한 시간이 지나면 잊어버리기 일쑤인데..



문서 오류, 혹은 오류가 아니어도, 여러 사람들이 작성한 문서들이 일정한 규칙없이 기록되어 각 문서를 읽을 때마다 다른 형태를 띄어 이해하는데 난해하다면..


이후 이 문서를 읽으며 발생하는 개발자들의 오해 또한 팀에 큰 영향을 미칠 것입니다. 



자신이 정리하는 모든 문서에, 부디 작은 오타 하나, 문서를 정리하는 규칙 하나에도 신경을 써 주셨으면 합니다. 


그리고 이런 것들이 별거 아니라고 생각하지 않으시길 바랍니다.



새해에는 동료들과 이런 이야기를 굳이 안해도 되길 바라며 한 자 적어봅니다.




이틀 남은 2013년, 모두 잘 마무리 하시기 바랍니다. ^^

저작자 표시 비영리 동일 조건 변경 허락
신고