2007-11-01ãã1ã¶æéã®è¨äºä¸è¦§
å©ç¨è ã®ãã©ã¦ã¶çµ±è¨ã®ããããFirefoxã ã£ãã*1確ãã«JavaScriptãã¼ã¸ã§ã¯Firefoxãå§ãã¦ããããGreasemonkeyé¢é£ã®ãã¼ã¸ã«æ¥ã人ã¯å ¨ã¦Firefoxã ãããã©ããã ããã¨ãã£ã¦æ¤ç´¢CGIã«æ¥ã人ãã¡ã¾ã§Firefoxã使ãããã«ãªãã¨ã¯èãããããã¨ãããâ¦
æ¤ç´¢CGIãæ´æ°ãããæ¤ç´¢å¯¾è±¡ãé¸ã¹ãããã«ãªã£ãã仿¤ç´¢ã§ããã®ã¯å¤æè®æ-1.7.0ã¨Xangband-1.2.0ãä»ã®ã¯è¦æãããã°è¿½å ããã¨ãããã¨ã§ã http://kilrey.com/angband/r_info.html http://kilrey.com/angband/r_info2.html http://kilrey.com/angbanâ¦
ç¹ã«æ¸ãã¦ããªãã£ããã©ãGoogle Analyticsãå ¥ãã¦ããã大ãã人æ°ãè¦ã«æ¥ã¦ããããã§ã¯ãªã ãã ->[http://kilrey.com/:title]ã¨ããã®ã大åã¨æããã">*1ã®ã ãã©è²ã å¤ããã¨ããããä¾ãã°äººæ°ã®ãããã¼ã¸ã¯ãããã¨æ¤ç´¢CGIã ããããã¯éè·¯ã®â¦
ã½ã¼ã¹é²è¦§æã¯ãã¼ã«ã«ããå°ããã¤ã¢ãããã¼ããç´ãã¦ã¿ããã¨ã«ãããå ¨æ¶ãã§ã¯ãªãã®ã ãããä½ãã®æéããããããªãã
ããã¼ãå¹¾ã¤ããã¡ã¤ã«ãæ¶ããã¦ãã風ãå¥ã«è¦ç´éåã§ã¯ãªãã¨æãã®ã ãã©ããã¡ã¤ã«ç½®å ´ã¨ãã¦ä½¿ã£ã¦ããã¨ã¿ãªãããã®ã ãããã
http://kilrey.comãæ´æ°ããã主ã«ããã°ã©ãã³ã°å ¥é以åã®é ãæ¸ãè¶³ããã ããã°ã©ãã³ã°ã®å ¥éã§ã¯ãããã°ã©ãã³ã°ããã¦ä½ã®å½¹ã«ç«ã¤ã®ããã¨ããã¨ãããæ¸ããã¦ããªããã¨ãå¤ããçµå±ã®ã¨ããä¸è¬ã«å§ããã«ã¯ããç¨åº¦ã®å©çãæç¤ºãããããªãâ¦
http://kilrey.com/ãæ´æ°ãããã¾ã仿¥æ¸ããããã§ã¯ãªãããã©ãããã°ã©ãã³ã°å ¥é以åã¨ãããã¨ã§ãã³ã³ãã¥ã¼ã¿ããã¾ã使ãã«ã¯ããã°ã©ãã³ã°ãå¦ã¶ã¨è¯ãããã¨ããå å®¹ã§æ¸ããããã°ãã°æè¡çãªæ¹åã«è±ç·ãã¦ããã®ã¯ããããªããã ãã¨ã¢ã¼â¦
ã¨ããããã§http://roguesource.web.fc2.com/ãæ´æ°ãã¾ãããangband-3.0.6ã®ã½ã¼ã¹ã³ã¼ããé²è¦§åºæ¥ãããã«ãªãã¾ãããæ¥æ¬èªåã¯ãã¦ãã¾ããã®ã§æ³¨æã Vã«ããçç±ã¯å¤§æ¬ã ããã¨ããç¨åº¦ã ãã©ãLuaé¢ä¿ã®ã³ã¼ãã«ã¯ã¡ãã£ã¨èå³ããã£ããã
http://kilrey.comã®è¨è¨ãã ãã¶ç´ããã URLããé ç®åãè¾æ¸å¼ã ãã¼ã¸ã®ä¸ä¸ã«ãã³ãã ãã¼ã«ã«ã§ãè¦ãã ã¨ããã¨ãããSmartyä¾åæ§ãä½è¨ã«é«ã¾ã£ãã http://kilrey.com/angband/r_info.html,http://kilrey.com/angband/r_info2.htmlã«çãã¼ã¿ãâ¦
ãã«ãã¹ã¬ããçã®ãã¹ãã³ã¼ããæ¸ãã¦ã¿ããã¨ãããããã¹ããéããªãã£ããã¾ãããã«æä»ãã¦ããªããã仿¹ãªããã ãã¾ãã¡ã¾ã æä»ããç®æãå¤ã£ã¦ããªããã¨ãããããªã³ã¯ã墿¸ããé¨åã¨RCãªã©ã®ãã©ã¡ã¼ã¿ãåç §ããé¨åãæä»ããã¤ããã
ä¾ã®è«æã帰ãã®é»è»å ã§èªãã§ãããæ¬ä¼¼ã³ã¼ãã®ééãç®æãå¤ã£ãããã¨ã®ããäºç®æç´ãã°æ£ããåãããã ã ã§ãã¨ããããã³ã¼ããæ¸ãã¦ã¿ããããããã®ãã¼ãã«ããããã®ãªã³ã¯ãä¹±æ°ã§å¼µã£ã¦ã¾ã¨ãã¦ååãããã¹ãã³ã¼ããéã£ããã ãã¨ã¯â¦
ã¢ãããã¼ãæã«å£ãããã¡ã¤ã«ããªããã©ãã調ã¹çµãããå®éã«ãããã¨ã¯ftpã§å ¨é¨ãã¦ã³ãã¼ããã¦diffãåã£ãã ããªã®ã ãã©ã使¥ãç°¡åãªå²ã«æéãããã£ããfc2webã®ãµã¼ãã¯åç·ããã¾ã太ããªãã®ãããããªãããã®çµæãäºã¤ã®ãã¡ã¤ã«ãå£ãâ¦
ãã£ãããã¡ã¤ã³ãåã£ãã®ã§ã試ãã«Google AdSenseã«ç³ãè¾¼ãã§ã¿ããããããã審æ»ã«éã£ã¦ãã¾ã£ããnamespace kilrey;ã®ä¸ã«ããåºåããã(ä¸ã«ããã®ã¯xreaã®åºå)ã ããããã¡ã¤ã³ä»£ã«ãå±ããªãã®ã¯å¤ã£ã¦ãããããããµã¤ãã®æ´æ°ãæ¢ããåã«â¦
æ¨æ¥ã®æ¥è¨ã®éããglobalã®åºåãã©ãã«ç½®ããèããã容éãåå大ããã¢ãããã¼ãã®æéãå°ãªããµã¼ããããã°è¯ãã®ã ãsourceforgeã¯ã³ãããæ¨©ãå¿ è¦ã®ããã§ãé§ãããä½è ãWebã®ã¿ã§ãã³ãããæ¨©ãè²°ãã®ã¯æ°ãå¼ããã ã§ãæ¤ç´¢ãã¦ã¿ããfc2webâ¦
GNU globalã使ã£ã¦ã½ã¼ã¹ã³ã¼ãé²è¦§ç¨htmlãä½ã£ããxreaã«ã¢ãããããã¨ããããã¾ãè¡ããªãããããã¨æã£ã¦du -hsããã97Mbyteãåã¾ãããããªãã å¤æè®æã¯çã½ã¼ã¹ã§6Mbyteãããã ãã15å以ä¸ã«è¨ããã ã¨ãããã¨ã«ãªããè¨å®ãå¤ããããã£â¦
ç¬èªãã¡ã¤ã³ãåã£ã¦ã¿ãããµã¼ããxreaã®ç¡æãã©ã³ãåãã¦ãµã¤ãã移転ãããã¡ãªã¿ã«ç¶æè²»ã¯å¹´é990åã http://kilrey.com/ xreaã¯ããªãèªç±åº¦ãé«ããããªã®ã§é¸ãã ãCGIã®è² è·ã«å¶éãããã¨ãã話ãèããã®ã§ããã¶ã大ä¸å¤«ã ã¨æããããã°ãâ¦
r_info.txtãæ¤ç´¢ããCGIã宿ãããUIã«ã¯ã¯ã¨ãªå ¥åç(http://kilrey.com/angband/r_info.html)ã¨ãã©ã°é¸æç(http://kilrey.com/angband/r_info2.html)ãç¨æããã®ã§ã©ããã - ã¡ãã£ã¨ä¿®æ£ãJavaScriptã使ã£ã¦ããæ³¨ææ¸ããä»ããã
çµã¿è¾¼ã¿ã®ããã°ã©ãã³ã°ããããã¨ã«ãªãããããã®é¢ä¿ã§Embedded C++ã¨ããã®ãèãããC++ãã仿§ãåã£ã¦ä½ã£ããã®ããããæ°ããé¨åã¯çç¡ãªã®ã§è¨èªããã¢çã«ã¯å ¨ãé¢ç½ããªãã®ã ãã触ããå¯è½æ§ãããã®ã§ã¡ãã£ã¨è¦ã¦ã¿ãã http://www.caraâ¦
訳æã£ã¦perlã使ããã¨ã«ãªã£ãã$,@,%ã®æ¥é è¾ãæ°ã«å ¥ããªããããã¯ã¾ãå¥ã®è©±ãã§ãç·´ç¿ãã¦ãr_info.txtæ¤ç´¢ã¹ã¯ãªãããperlåãã¦ã¿ãããã¨ã§cgiã«ããã¤ããã
racial.cã®æ¬¡ã¯mind.cã¨mindtips.hã ã鿳以å¤ã§mã§ä½¿ãè½åã®ãã¡ç¬ç«ãã¡ã¤ã«ã«ãªã£ã¦ããªããã®ãè¨è¿°ããã¦ãããè¦ããã«è¶ è½åã鬿°è¡ãªã©ã mindtips.hã¯åè½åã®èª¬æãæ ¼ç´ãã¦ããããã¾ãç¹çãã¹ããã¨ã¯ãªããmind.cã¯ã¾ãmind_powers夿°ã«åâ¦
ã¨ããããååºã®RWLockãå®è£ ãã¦ã¿ããåºç¤ã¯boost::mutexã¨boost::conditionã使ã£ããboostã«ããçç±ã¯ãã¾ããªãããã©å¼·ãã¦è¨ããªãã°æ¯è¼çæ¨æºã«è¿ãã¨ããã®ãçç±ã ããããLinuxã ãã§ãªãWinã§ã使ããããã«ãªã£ãããã ãããã ããé度ã¯èâ¦
rwlock_tã®ç¶æ ãè¦ãããã«tryrdlock()ããã®ã¯è¯ããªãã®ãããããªããwrlock()ããéã«ã¹ã¬ããIDãè¨é²ããã°tryrdlock()ããã¨ã確èªãåºæ¥ãããã¡ãã®æ¹ãã¹ãã¼ãããã ã§ããWinã§rwlockããªãã¨ããåé¡ã¯å¦ä½ã¨ããããããèªåã®rwlockãæ¸ãâ¦
http://www.horobi.com/tips/SmartLock/ javaã®synchronizedã使ã£ã¦rwlockãå®ç¾ããä¾ããã£ãã大ã¾ããªå®è£ ã®ä»æ¹ã¯èãããã¨ããã£ãããã³ã¼ãã«ãªã£ã¦ããã¨å¤ãããããããã«ãã¦ãjavaã¯èªã¿ãããã¦è¯ãè¨èªã ã
void read1() { int ret; while (ret = tryrdlock(&rw)) { if (ret==EDEADLK) { break; } else { //ã¨ã©ã¼å¦ç } sleep(100);//é©å½ã«å¾ æ© } //æä»ã§ã®read使¥ if (ret!=EDEADLK) { unlock(&rw); } } void read2() { int ret; if (!(ret = tryrdlock(&rw))â¦
ä»åã¯racial.cã解説ãããç¹å¾´çãªã¬ã¤ã·ã£ã«(ã¯ã©ã¹)ã»ãã¯ã¼ãããã°ããã ãã§ãã£ã©ãç«ã¤ã ããããã®æå³ã§ããã¯æ¹é ã®ããããããã 颿°å 説æ bool do_cmd_archer(void) ã¢ã¼ãã£ã¼ã®ç¢å¼¾ã®çæ bool gain_magic(void) ééå ·è¡å¸«ã®éåã®åãâ¦
ã·ã¹ãã é¢ã§éè¦ãªé¨åã¨ãã¦variable.c, extern.hããããããã§æ±ã£ã¦ãããã®ã¯ã²ã¼ã å ¨ä½ã«å½±é¿ãããã¼ã¿ãè¦ããã«ã°ãã¼ãã«å¤æ°ã§ããã ã°ãã¼ãã«å¤æ°ã®æ¬ä½ã¯variable.cã§å®ç¾©ãããã®extern宣è¨ã ããextern.hã«è¨è¿°ãããä»ã®ãã¡ã¤ã«ã§ã°ãã¼â¦
Read-Eval-Print-Loopã Cã§ãC++ã§ãå ¥åã峿ã³ã³ãã¤ã«ãã¦åçãã¼ãããã°REPLã«ãªãããªã¨æã£ããã§ãæ¤ç´¢ãããä¼¼ããããªãã®ãæ¢ã«ãã£ããè¯ãã¢ã¤ãã£ã¢ã ã¨æã£ãã®ã ãã©ãªã
èãç´ãã¦ã¿ãããä¸åº¦tryrdlock(&rw)ã¨trylock(&m)ã«å¤±æããã¹ã¬ããã§ã¯ããtrylock(&m)ã試ãå¿ è¦ããªãã£ããã¤ã¾ã void read() { int rdlockerr = tryrdlock(&rw); if (rdlockerr && trylock(&m)) { rdlockerr = rdlock(&rw); if (rdlockerr) { //ã¨â¦
æ¨æ¥æ¸ããçä¼¼ã³ã¼ãã ã¨wrlockä¸ã«readã«æ¥ãã¹ã¬ãããå ¨ã¦lock(&m)ã§å¾ æ©ãããããå¾ªç°æ¤åºã®çµäºå¾ ã¡ã¹ã¬ãããå¤ãã¨ã¹ã«ã¼ãããã䏿çã«æªåããããããæ¹åããããã«ã¯mutexãç²å¾åºæ¥ãªãã£ãå ´åã«ãã å¾ æ©ããã®ã§ã¯ãªããå度rdlockãããâ¦
ååã¯ãã¼ã¿æ§é ãæ±ã£ãã®ã§ä»åã¯ãã®ã»ã¼ãã»ãã¼ããæ±ãããã¼ã¿æ§é ãå¤ããå ´åã¯åæåã»ã»ã¼ãã»ãã¼ããåããã¦å¤ããªãã¨ã»ã¼ãã°ãçºçããã®ã§æ³¨æã save.c 颿° ã»ã¼ã対象 void wr_item(object_type *o_ptr) åå¥ã®ã¢ã¤ãã void wr_monstâ¦