Ariel Area Blogs
¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤Ø¥¸¥ã¥ó¥×
2007¡¦02¡¦28
Á´Ê¸¸¡º÷¥¨¥ó¥¸¥óFreyaSX¤Ë¤Ä¤¤¤Æ(2²óÌÜ)
12·î1Æü¤Î½ñ¤¹þ¤ß¤ËÂФ¹¤ë³¤¤Ç¤¹¤Ç¤¹¤¬¡¢ºÇ½é¤«¤éÁ´ÉôºÜ¤»¤Þ¤¹¡£
Á´Ê¸¸¡º÷¥¨¥ó¥¸¥óFreyaSX¤Ë¤Ä¤¤¤Æ
1. FreyaSX¤Ë¤Ä¤¤¤Æ
==================
FreyaSX ¤Ï Freya ¤ò¥Ù¡¼¥¹¤Ë³«È¯¤µ¤ì¤¿Á´Ê¸¸¡º÷¥¨¥ó¥¸¥ó¤Ç¡¢»º¶Èµ»½ÑÁí¹ç¸¦µæ½ê¤Ë¤ª¤¤¤Æ¡¢DeleGate¤Îºî¼Ô¤Îº´Æ£Ë¤µ¤ó¤È¤¤¤¦Êý¤¬³«È¯¤·¤Æ¤¤¤Þ¤¹¡£Freya ¤Ï¡¢¸¶Åľ»µª¤µ¤ó¤È¤¤¤¦Êý¤¬³«È¯¤µ¤ì¤¿Á´Ê¸¸¡º÷¥¨¥ó¥¸¥ó¤Ç¤¹¡£FreyaSX¤Î¥µ¥¤¥È¤ÎURI¤Ï¡¢²¼µ¤Ë¤Ê¤ê¤Þ¤¹¡£
http://www.delegate.org/freyasx/index-ja.html
"Freya"¤Î¥µ¥¤¥È¤Ï²¼µ¤Ë¤Ê¤ê¤Þ¤¹¡£
http://www.ingrid.org/ja/project/freya/
2. redhat9¤Ç¤Î»ÈÍѼê½ç
======================
²¼µ¤Î¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
ftp://ftp.delegate.org/pub/freyasx/freyasx.tar.gz
²òÅࡢŸ³«¤·¤Þ¤¹¡£
# gunzip freyasx.tar.gz
# tar xvf freyasx.tar
²¼µ¤Î¥Ç¥£¥ì¥¯¥È¥êµÚ¤Ó¥Õ¥¡¥¤¥ë¤¬Å¸³«¤µ¤ì¤Þ¤¹¡£
freyasx/INSTALL.sh
freyasx/test/
freyasx/test/fhttpd.conf
freyasx/test/index.shtml
freyasx/test/any2fdif.conf
freyasx/delegate8.9.7-pre1.tar.gz
freyasx/freyasx-0.99.10.tar.gz
INSTALL.sh¤ò¼Â¹Ô¤·¤Þ¤¹¡£
# cd freyasx
# ./INSTALL.sh
INSTALL.sh¤ò¼Â¹Ô¤¹¤ë¤È²¼µ¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
////////////////////////////////////////////////////////////////////
FreyaSX installer
FreyaSX ver. 0.99.10
DeleGate ver. 8.9.7-pre1
September 20, 2004, Yutaka Sato
////////////////////////////////////////////////////////////////////
Detailed log is put into "INSTALL.log"
extracting FreyaSX-0.99.10 ...
making FreyaSX-0.99.10 ...
extracting DeleGate/8.9.7-pre1 ...
making DeleGate/8.9.7-pre1 ...
Installing to here: /root/freyasx
/root/freyasx/bin
/root/freyasx/etc
/root/freyasx/cgi-bin
/root/freyasx/bank
0) You can remove following unnecessary files:
rm -r /root/freyasx/delegate8.9.7-pre1
rm -r /root/freyasx/freyasx-0.99.10
rm -r /root/freyasx/INSTALL.log
1) Complete the installation and setup your environmnet as follows:
export FSXHOME=/root/freyasx
export PATH="$FSXHOME/bin:$PATH"
2) Then, you can test it as follows:
findex sx
fsearch sx "freya*"
any2fdif -r http://www.delegate.org/freyasx | findex sx
any2fdif -r $HOME/Mail | findex mail
3) Also you can start HTTP server for this FreyaSX and test it:
fhttpd -P8880
... then open URL "http://localhost.localdomain:8880/test" in your WWW browser
See http://www.delegate.org/freyasx/ for more details
////////////////////////////////////////////////////////////////////
FreyaSX ver. 0.99.10¤ÈDeleGate ver. 8.9.7-pre1¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£DeleGate¤Ï¡¢¥×¥í¥¥·¥µ¡¼¥Ð¤Ç¤¹¡£Delegate¤Ë¤Ä¤¤¤Æ¤Ï¡¢²¼µ¤Î¥Ú¡¼¥¸¤¬Ê¬¤«¤ê¤ä¤¹¤«¤Ã¤¿¤Ç¤¹¡£
http://masui.net/FreeBSD/step2/chap10.html
¾åµ¥á¥Ã¥»¡¼¥¸¤Ë½¾¤Ã¤Æ´Ä¶ÊÑ¿ô¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¾åµ¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢DGROOT¤ÎÃͤâÀßÄꤷ¤Æ¤ª¤¤Þ¤¹¡£DGROOT¤Ï¡¢Delegate¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£
.bash_profile¤ËÄɲä·¤Þ¤¹¡£
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
DGROOT=/home/fukushima/freyasx/
FSXHOME=/fukushima/freyasx
PATH=$PATH:$HOME/bin:$FSXHOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME BASH_ENV PATH FSXHOME DGROOT
.bash_profile¤òºÆÆɤ߹þ¤ß¤·¤Þ¤¹¡£
# source .bash_profile
¼¡¤Ëº÷°ú¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
findex¤¬¡¢º÷°ú¤òºîÀ®¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡£
any2fdif¤Ï¡¢findex¤¬¼õ¤±ÉÕ¤±¤ëfdif·Á¼°¤Ë¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡£
sx¤È¤¤¤¦º÷°ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢INSTALL.sh¤Ë¤è¤Ã¤Æ´û¤ËºîÀ®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢findex¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤¯¤Æ¤â¡¢fsearch sx "freya*"¤Ç¸¡º÷¤Ç¤¤Þ¤¹¡£
»î¤·¤Ë¡¢airone¤Î¥Ç¡¼¥¿Êݸ¥Õ¥©¥ë¥À¤ËÂФ·¤Æ¡¢º÷°ú¤òºîÀ®¤·¤Þ¤¹¡£ºÇ¿·ÈǤÎairone¤Î¥Ç¡¼¥¿Êݸ¥Õ¥©¥ë¥À¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¡¢v1.0¤Î¥Ç¡¼¥¿Êݸ¥Õ¥©¥ë¥À¤ò»ÈÍѤ·¤Þ¤¹¡£
# any2fdif -r 1 | findex airone
freyasx¤Ï¡¢¸¡º÷¤ò¼Â¹Ô¤¹¤ëCGI¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎCGI¤òÍøÍѤ·¤Æ¡¢¸¡º÷¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
fhttpd¤òµ¯Æ°¤·¤Þ¤¹¡£
[fukushima@localhost fukushima]$ fhttpd -P8880
[2465] -P8880 READY
DGROOT=/home/fukushima/freyasx
ADMIN=you@your.domain
AIST-Product-ID: 2000-ETL-198715-01, H14PRO-049, H15PRO-165
Copyright (c) 1994-2000 Yutaka Sato and ETL,AIST,MITI
Copyright (c) 2001-2004 National Institute of Advanced Industrial Science and Te
chnology (AIST)
¥Ö¥é¥¦¥¶¤òµ¯Æ°¤·¡¢²¼µ¤ÎURI¤ò»ØÄꤷ¤Þ¤¹¡£
IP¥¢¥É¥ì¥¹¤Ï´Ä¶¤Ë¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡Ë
http://192.168.0.152:8880/cgi-bin/fsearch.cgi?pfx=ja&index=airone&sort=date&key=fukushima*
¡Ê¼¡²ó¤Ë³¤¯¡Ë
2005¡¦12¡¦27
°ÜÆ°¤·¤Þ¤·¤¿
2005¡¦12¡¦20
EoE
EoE (Ethernet over Ethernet)
http://itpro.nikkeibp.co.jp/article/COLUMN/20051216/226378/
狼¤«¤é¸ýƬ¤Çʹ¤¤¤Æ¤¤¤¿¤é¡¢¾éÃ̤À¤È»×¤Ã¤Æʹ¤Î®¤·¤¿¤È»×¤¤¤Þ¤¹¡£
Ethernet¤Ë¤è¤ëËܳÊŪ¤Ê¥ë¡¼¥Æ¥£¥ó¥°¤¬¹Ô¤ï¤ì¤Æ¤â¡¢ÉԻ׵ĤǤϤʤ¤À¤¤ÎÃæ¤Ç¤¹¡£
TCP/IP¤òC¸À¸ì¤ËÎ㤨¤ë¤È¡¢°ìÉô¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤¤¤Æ¥Á¥å¡¼¥Ë¥ó¥°¤·¤Þ¤·¤¿¡¢¤Î°õ¾Ý¤Ç¤¹(¤³¤Î´ÑÅÀ¤Ç¤Ï¡¢MPLS¤Ë¤â»÷¤¿Æ÷¤¤¤ò´¶¤¸¤Þ¤¹)¡£
2005¡¦12¡¦19
¥á¥ó¥Æ¥Ê¥ó¥¹¤Ê¤É¤Ê¤É
¥á¥ó¥Æ¥Ê¥ó¥¹+¥µ¡¼¥Ð¥·¥¹¥Æ¥à¤Î°Ü¹Ô¤ò12/26¤Ë¤·¤Þ¤¹¡£¤Ê¤Î¤Ç¡¢¤½¤ÎÆü¤Ï¥µ¡¼¥Ð¤¬¤è¤¯»ß¤Þ¤ê¤Þ¤¹¡£
¤Ä¤¤¤Ç¤Ë¡¢¥Ö¥í¥°¤Ê¤É¤ÎURL¤âÊѤï¤ê¤Þ¤¹¡£²áµî¤Î¥Ö¥í¥°¤Î¥Ç¡¼¥¿¤Ï»²¾È¤À¤±¤Ë¤Ê¤ê¤Þ¤¹¡£
2005¡¦12¡¦18
¥¸¥ó¥°¥ë¥Ù¥ë from Google (libjingle)
Libjingle - Google Talk Voice and P2P Interoperability Library
http://code.google.com/apis/talk/index.html
P2P¤È¸À¤Ã¤Æ¤â¡¢¤¤¤ï¤æ¤ë¿¥Î¡¼¥É¶¨Ä´´Ä¶¤È¤·¤Æ¤ÎP2P¤Ç¤Ï¤Ê¤¯¡¢NAT¤ò±Û¤¨¤ÆPeer´Ö¤Î1ÂÐ1¤Î¥»¥Ã¥·¥ç¥ó¤ò³ÎΩ¤¹¤ëµ¡Ç½¤òÄ󶡤¹¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ç¡¢Winny¤äWinMX¤¬¤¹¤°¤Ëºî¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¾¯¤·¥½¡¼¥¹¤ò¸«¤Æ¤ß¤Þ¤·¤¿¡£
- ¥é¥¤¥»¥ó¥¹¤ÏBSD·Ï¥é¥¤¥»¥ó¥¹
- ¸À¸ì¤ÏC++¤Ç¤¹¡£¥µ¥¤¥º¤Ï¡¢.h¤È.cc¤ò¹ç¤ï¤»¤Æ3Ëü¹Ô¶¯(example¥³¡¼¥É¤Èthird_party¤Îlibaudio¥³¡¼¥É¤Ï½ü¤¯)
- STL¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£¥Æ¥ó¥×¥ì¡¼¥È¤Ð¤ê¤Ð¤ê¤Î¥³¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
- ¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¤Ï¤é¤¯¤À¼°¡¢ÊÑ¿ô¤Ï¤Ø¤Ó¼°¤È¤é¤¯¤À¼°¤¬º®ºß(¥â¥¸¥å¡¼¥ë¤´¤È¤Ëºî¼Ô¤¬°ã¤¦¤»¤¤?)¡£
- XML¥Ñ¡¼¥µ¤Ïexpat¤ò¥¯¥é¥¹¤Ç¥é¥Ã¥×¤·¤Æ¤¤¤Þ¤¹(*1)
- sigslot¤ò»È¤Ã¤Æ¤¤¤Þ¤¹(*2)¡£¥³¡¼¥É¤Ï¡¢¤«¤Ê¤êsigslot¤Ë°Í¸¤·¤Æ¤¤¤½¤¦¤Ç¤¹¡£
- Boost¤Îscoped_ptr¤ò»È¤Ã¤Æ¤¤¤Þ¤¹(Boost¤Ë¤ÏÈó°Í¸¤Ç¤¹¡£scoped_ptr¤Î¥Ø¥Ã¥À¤À¤±¼è¤ê¹þ¤ó¤Ç¤¤¤Þ¤¹)¡£
- ÄÌ¿®¥×¥í¥È¥³¥ë¤Ï¡¢XMPP¤Î³ÈÄ¥(Jingle)¤Ç¤¹¡£
(*1)(expat¤ÏAirOne¤Ç¤â»È¤Ã¤Æ¤¤¤ë¡¢¹â®XML¥Ñ¡¼¥µ¤Ç¤¹)
(*2)sigslot¤Ï¥¤¥Ù¥ó¥È¥É¥ê¥Ö¥óŪ¤Ê¥³¡¼¥É¤ò½ñ¤¯¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£¥¤¥Ù¥ó¥È¥ë¡¼¥×¤ò»ý¤¿¤Ê¤¤¤Î¤Ç¡¢¥¤¥Ù¥ó¥È¤È¸À¤¦¤è¤ê¥Õ¥Ã¥¯¤È¸À¤Ã¤¿Êý¤¬Å¬ÀÚ¤«¤â¤·¤ì¤Þ¤»¤ó¡£ºî¼Ô¤Ï½÷À¤Ç¤¹¡£
2005¡¦12¡¦16
¡Ö¤Ê¤ë¤Û¤É¥Ê¥Ã¥È¥¯! P2P¤¬¤ï¤«¤ëËܡפòÆɤߤޤ·¤¿
´äÅĤµ¤ó¤Î¡Ö¤Ê¤ë¤Û¤É¥Ê¥Ã¥È¥¯! P2P¤¬¤ï¤«¤ëËܡפòÆɤߤޤ·¤¿¡£
http://sats.zekku.com/daylist_html?year=2005&month=10&day=20
¤À¤¤¤ÖÁ°¤«¤é´ù¤Î¾å¤ËÀѤó¤Ç¤¢¤Ã¤¿µ¤¤¬¤·¤Þ¤¹¤¬¡¢¤è¤¦¤ä¤¯Æɤߤޤ·¤¿¡£(¤ª¤½¤é¤¯)2ǯ°Ê¾åÀѤó¤Ç¤¢¤Ã¤¿
¡Ö¥¤¥Î¥Ù¡¼¥·¥ç¥ó¤Î¥¸¥ì¥ó¥Þ¡×¤ËÈæ¤Ù¤ë¤È¡¢¤À¤¤¤Ö®¤¤¤Î¤Çµö¤·¤Æ¤¯¤À¤µ¤¤¡£
Îɤ¤ÅÀ:
¤³¤¦¤¤¤¦³µÏÀŪ¤ÊËܤǤϡ¢
- ¸ÀÍÕ¤ÎÄêµÁ(¸ÀÍդȰÕÌ£¤ÎÂбþ)¤¬ÌÀ³Î¤Ç¤¢¤ë¤³¤È
- ¸ÀÍդλȤ¤Êý¤¬°ì´Ó¤·¤Æ¤¤¤ë¤³¤È
- ¾å¤ÎÂбþ¤¬ºî¤ë³µÇ°ÂηϤËÌ·½â¤¬Ìµ¤¤¤³¤È
¤¬½ÅÍפǡ¢¤³¤³¤é¤ËÌäÂ꤬¤¢¤ë¤ÈÆɤó¤Ç¤¤¤ÆƬ¤ËÍè¤Þ¤¹¤¬¡¢¤³¤ÎËܤϤ¤Á¤ó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤µ¤¹¤¬´äÅĤµ¤ó¡¢¥¨¥Ã¥¯¥¹¥¢¥ê¥¨¥ë¤Ç¤¹¡£
°¤¤ÅÀ:
1.
°Å¹æ²½¤ËÂФ¹¤ë¡ÖÉü¹æ¡×¤¬¡¢¡ÖÊ£¹ç¡×¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£°ì²Õ½ê¤À¤±¤Îtypo¤Ç¤Ï¤Ê¤¯¡¢Á´ÊÔ¤ËÅϤäÆtypo¤·¤Æ¤¤¤Þ¤¹¡£
2.
p168¤Î¡ÖÅŻҾÚÌÀ½ñ¤ÈÈëÌ©¸°¤Î´ÉÍý¡×¤Ï¤¤¤Þ¤¤¤Á¤Ç¤¹¡£¥¢¥ê¥¨¥ë¼ÒÆâ¤Ç¤â¸í²ò¤·¤Æ¤¤¤ë¿Í¤¬¤¤¤ë¤Î¤Ç¡¢¥¢¥ê¥¨¥ë¥¨¥ê¥¢¤Ëµ»ö¤ò½ñ¤¤Þ¤·¤¿¡£
¡Ö¾ÚÌÀ½ñ¤È¸°¤Ë´Ø¤¹¤ë¡¢¤¢¤ê¤¬¤Á¤Ê¥á¥¿¥Õ¥¡¡¼¤È¤¢¤ê¤¬¤Á¤Ê´Ö°ã¤¤¡×
http://dev.ariel-networks.com/modules/xfsection/article.php?articleid=60
# ½ñ¤¤¤Æ»×¤¤¤Þ¤·¤¿¤¬¡¢¸í¤Ã¤¿¥á¥¿¥Õ¥¡¡¼¤Ë¡¢¥á¥¿¥Õ¥¡¡¼¤ÇÂй³¤¹¤ë¤Î¤Ï´Ö°ã¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
3.
Á°½ñ¤¤Ç°æ¾å¤ËÂФ¹¤ë¼Õ¼¤¬Ìµ¤¤(ÂèÆóÈǤ˴üÂÔ...)¡£
¹àÌܤÎÎ̤À¤±¸«¤ë¤È¡¢°¤¤ÅÀ¤ÎÊý¤¬Â¿¤¤¤Ç¤¹¤¬¡¢Îɤ¤ËܤʤΤǴª°ã¤¤¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
2005¡¦12¡¦09
ÃϹö¤Î¥Ú¥¢¥×¥í¥°¥é¥ß¥ó¥°
º£Æü¡¢¹´Â«14»þ´Ö¡¢Ìó12»þ´Ö¤Î¥Ú¥¢¥×¥í¥°¥é¥ß¥ó¥°¤ò¤·¤Þ¤·¤¿¡£·ù¤¤·ù¤¤Âç¹¥¤XP¤Ã¤Æ´¶¤¸¤Ç¤¹¡£
ü¤Ç¸«¤Æ¤¤¤ë¤«¤é¾¿Í¤Î¥ß¥¹¤Ëµ¤¤Å¤¯¤È¤¤¤¦Â¦Ì̤⤢¤ê¤Þ¤¹¤¬¡¢¿É¸ý¤Ê¤¬¤é¡¢¥ß¥¹¤Î¿¤µ¤Ï¶öÁ³¤Ç¤Ï̵¤¤¤È»×¤¤¤Þ¤·¤¿¡£°Ê²¼¡¢¾¯¤·¶òÃԤäݤ¤ÏäǤ¹¤¬¡¢¥×¥í¥°¥é¥ß¥ó¥°¤Î´ðËÜŪ¤ÊÉôʬ¤ò´Þ¤ó¤Ç¤¤¤ë¤Î¤Ç½ñ¤¤Þ¤¹¡£
# °Ê²¼¤ÎÎã¤Ç̿̾¤¬´Å¤¤¤Ç¤¹¤¬¡¢¤½¤³¤ÏÏÀÅÀ¤Ç¤Ï̵¤¤¤Î¤Ç̵»ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡Ö¥Ç¡¼¥¿¹½Â¤¡×¤È¸À¤Ã¤Æ¤â¡¢¹âÅÙ¤ÊÏäǤϤ¢¤ê¤Þ¤»¤ó¡£Èó¾ï¤Ë´ðËÜŪ¤ÊÏäǤ¹¡£
´Êñ¤Ë¸À¤¦¤È¡¢C¤Ç½ñ¤¯¤È
struct foo_t {
int x;
int y;
} foo[N];
¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¹½Â¤¤Ç¤¢¤ë¤Ù¤¤â¤Î¤ò¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¤¤Þ¤·¤¿¡£
int arr_x[N];
int arr_y[N];
Íפϡ¢¹½Â¤ÂΤÎÇÛÎó¤Ç¤¢¤ë¤Ù¤¤È¤³¤í¤¬¡¢Ê£¿ô¤ÎÇÛÎó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
ÇÛÎóarr_x¤ÈÇÛÎóarr_y¤¬(°ÅÌÛ¤Ë)´Ø·¸¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤ì¤é¤ò»²¾È¤¹¤ë¥³¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
for (i = 0; i < N; i++) {
int x = arr_x[i];
int y = arr_y[i];
// x¤Èy¤Ï¥Ú¥¢¤Ç»È¤ï¤ì¤ë
}
°ÊÁ°¡¢¥×¥í¤Î¥×¥í¥°¥é¥ÞÎò20ǯ°Ê¾å¤Î¿Í¤¬¤³¤ó¤Ê¥³¡¼¥É¤ò½ñ¤¤¤¿¤Î¤Ç¡¢Â®¹¶¤Çľ¤µ¤»¤Þ¤·¤¿¡£Î㤨¡¢Æ°¤¤¤¿¤È¤·¤Æ¤â¡¢¤³¤ó¤Ê¥³¡¼¥É¤Ï¡¢Â¸ºß¤½¤Î¤â¤Î¤¬µö¤»¤Þ¤»¤ó¡£
º£Æü¤Ï½ôÈ̤λö¾ð¤Ë¤è¤êÊüÃÖ¤µ¤ì¤Þ¤·¤¿... (¸À¸ì¤¬Perl¤À¤Ã¤¿¤È¤¤¤¦¤Î¤âÍýͳ¤Î¤Ò¤È¤Ä¤Ç¤¹¡£C¤À¤Ã¤¿¤é10ʬ¤Ç½ñ¤Ä¾¤¹¤Î¤Ç¤¹¤¬¡¢Perl¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤È¥Ï¥Ã¥·¥å¤Î¥³¡¼¥É¤ò10ʬ¤Ç½ñ¤Ä¾¤¹¼«¿®¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£²ñ¼Ò¤ËÌá¤Ã¤¿¤é¡¢ÎÙ¤ÎÀ¨¤¤¿Í¤Ë¥Ð¥«¤Ë¤µ¤ì¤½¤¦¤Ç¤¹)
- ¥Õ¥é¥°¤Îľ¸òÀ¤Ø¤Î»ëÅÀ¤¬´Å¤¤
¥Õ¥é¥°ÊÑ¿ô¤¬Â¿¤¹¤®¤ë¡¢¤È¤¤¤¦ÌäÂê¤â¤¢¤ê¤Þ¤¹¤¬¡¢¼Â¤Ï¤Ü¤¯¼«¿È¤â¥Õ¥é¥°ÊÑ¿ô¤ò·ë¹½»È¤¦¤Î¤Ç¤¢¤Þ¤ê¿Í¤Î¤³¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£
¤·¤«¤·¡¢¥Õ¥é¥°¤Îľ¸òÀ¤Ë¤Ïµ¤¤ò»È¤¤¤Þ¤¹¡£¤³¤³¤Ç¤Î¥Õ¥é¥°¤Îľ¸òÀ¤ò´Êñ¤ËÀâÌÀ¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤ÊÏäǤ¹¡£¥Õ¥é¥°ÊÑ¿ôa,b,c¤È3¤Ä¤¢¤Ã¤¿»þ¡¢¥Õ¥é¥°c¤Ë¡Öa¤«¤Äb¡×¤Î°ÕÌ£¤·¤«Ìµ¤¤»þ¡¢¥Õ¥é¥°ÊÑ¿ôc¤Î¸ºß¤òµö¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ÅÓÃæ¤Ç¥Õ¥é¥°¤Î°ÕÌ£¤¬ÊѤï¤Ã¤Æ¡¢µ¤¤Å¤¤¤¿¤é¥Õ¥é¥°ÊÑ¿ôc¤Î°ÕÌ£¤¬¤½¤¦¤Ê¤Ã¤Æ¤¤¤¿»þ¤â¡¢Â¨¹ï¥Õ¥é¥°ÊÑ¿ôc¤òºï½ü¤¹¤Ù¤¤Ç¤¹¡£
c¤ÎÉôʬ¤Îµ½ÒÀ¤òÌÀ¼¨¤·¤¿¤¤¤Ê¤é¡¢¤Ü¤¯¤Ê¤é¡¢¼¡¤Î¤è¤¦¤Ê¥Þ¥¯¥í¤ÇC¤ÎÉôʬ¤Îµ½ÒÀ¤òÌÀ³Î²½¤·¤Þ¤¹(Perl¤Ê¤é¡¢¤Þ¤¢´Ø¿ô¤Ë¤Ç¤â¤¹¤ë¤Î¤Ç¤·¤ç¤¦)¡£
#define IS_C(conf) ((conf)->is_a && (conf)->is_b)
- ¸Æ¤Ö-¸Æ¤Ð¤ì¤ë´Ø·¸¤Ø¤Î»ëÅÀ¤¬´Å¤¤
¡Ö¸Æ¤Ö-¸Æ¤Ð¤ì¤ë´Ø·¸¡×¤Ï¤Ü¤¯¤ÎÍѸì¤Ç¤¹¤¬¡¢Ê·°Ïµ¤¤Ç»¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¥³¡¼¥É¤ËÌäÂ꤬¤¢¤ë»þ¡¢¸Æ¤Ö¦¤ÎÌäÂê¤Ê¤Î¤«¸Æ¤Ð¤ì¤ë¦¤ÎÌäÂê¤Ê¤Î¤«¤Î¶èÊ̤ò¤¹¤ë¤³¤È¤Ï½ÅÍפǤ¹¡£¤³¤Î¶èÊ̤òÁÇÁ᤯¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¸Æ¤Ö¦¤È¸Æ¤Ð¤ì¤ë¦¤òÀÚ¤êÎ¥¤¹¡Ö´¶³Ð¡×¤¬É¬ÍפǤ¹¡£
º£Æü¤Î¥Ú¥¢¥×¥í¥°¥é¥ß¥ó¥°¤Ç¡¢¸Æ¤Ó½Ð¤¹³°Éô¥³¥Þ¥ó¥É¤¬Ì¤¼ÂÁõ¡¢¤È¤¤¤¦¾õ¶·¤Ç¤·¤¿¡£ÀÚ¤êÎ¥¤¹´¶³Ð¤¬¤¢¤ì¤Ð¡¢¤È¤ê¤¢¤¨¤º²¿¤â¤·¤Ê¤¤(¥¥Ã¥¯¤µ¤ì¤¿¤³¤È¤À¤±¤¬Ê¬¤«¤ë)¥À¥ß¡¼¤Î³°Éô¥³¥Þ¥ó¥É¤òÍÑ°Õ¤·¤Æ¡¢¤¢¤ë¤È²¾Äꤷ¤Æ¥Æ¥¹¥È¤Ï¤Ç¤¤Þ¤¹¡£³°Éô¥³¥Þ¥ó¥É¤Ç¤â´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤âƱ¤¸¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£º£É÷¤Î¥â¥Ã¥¯¥ª¥Ö¥¸¥§¥¯¥È¤È¤¤¤¦ÍѸì¤â¤¢¤ê¤Þ¤¹¤¬¡¢Æ¬¤Ç¤ÎÍý²ò¤è¤ê¡¢ÀÚ¤êÎ¥¤¹¤È¸À¤¦¤«ÆͤÊü¤¹¤È¸À¤¦¤«¡¢¤½¤¦¤¤¤¦´¶³Ð¤¬Àè¤Ç¤¹¡£
¤³¤Î¤è¤¦¤ÊÀÚ¤êÎ¥¤¹´¶³Ð¤¬¤¢¤ì¤Ð¡¢¸Æ¤Ð¤ì¤ë¦¤À¤±¤ÎñÂΥƥ¹¥È¡¢¸Æ¤Ö¦¤À¤±¤ÎñÂΥƥ¹¥È¡¢¤È¾®¤µ¤ÊÉôÉʤ´¤È¤ÎÆ°ºî³Îǧ¤Î°Õ¼±¤Ë¤â¤Ä¤Ê¤¬¤ê¤Þ¤¹¡£º£É÷¤Ë¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤È¸À¤¦ÍѸì¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤âƬ¤Ç¤ÎÍý²ò¤ÎÁ°¤Ë¡¢¶èÀڤäƳÖÎ¥¤¹¤ë¤È¤Ç¤â¸À¤¦¤Ù¤¡¢´¶³Ð¤ÎÊý¤¬Àè¤Ç¤¹¡£
- ¤½¤Î¾
- printf¥Ç¥Ð¥Ã¥°¤â¥Ð¥«¤Ë¤·¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
- 1ʬ¤Çprintf¤¬½ñ¤±¤ë¤Ê¤é¡¢¥³¡¼¥É¤ò¸«¤Æ¤Ê¤¼Æ°¤«¤Ê¤¤¤Î¤«¹Í¤¨¤Æ¤¤¤ë¤è¤ê¡¢¤¿¤Ö¤ó²ò·è¤Ï®¤¤¤Ç¤¹¡£
- µ¤¤Ë¤Ê¤ë¤³¤È¤Ï¥³¡¼¥É¤Ë½ñ¤¤¤Æ¤ª¤¤Þ¤¹
- ¥³¡¼¥É¤ò¸«¤Æ¤¤¤ë¤È¡¢µ¤¤Ë¤Ê¤ëÉôʬ¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£°ì½Ö¤Çľ¤»¤ì¤Ðľ¤·¤Þ¤¹¤¬¡¢¸å¤ÇÎɤµ¤½¤¦¤Ê¤â¤Î¤Ï¡¢¥³¡¼¥É¤Ë¥³¥á¥ó¥È¤Ç¥á¥â¤Ã¤Æ¤ª¤¤Þ¤¹¡£BSD·Ï¤ÎÅÁÅý¤Ë½¾¤¤¡¢¤Ü¤¯¤ÏXXX¥³¥á¥ó¥È¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£µ¤¤Ë¤Ê¤ëÉôʬ¤Î¿¤¤¥³¡¼¥É¤À¤È¡¢¤¢¤Á¤³¤Á¤ËXXX¥Þ¡¼¥¯¤¬¤Ä¤¤Þ¤¹¡£ËܤòÆɤó¤Ç¤¤¤Æ¡¢µ¤¤Ë¤Ê¤ë¥Ú¡¼¥¸¤Ë¤·¤ª¤ê¤ò¤Ï¤µ¤ó¤À¤ê¡¢¥á¥â¤ò½ñ¤¤¤¿¤ê¤¹¤ë´¶³Ð¤Ë¶á¤¤¤Ç¤¹¡£
2005¡¦12¡¦08
BP¤Ê¤ó¤È¤«
http://www.jsys-products.com/iwaken/index.html
¤«¤é
http://www.jsys-products.com/iwaken/bpmn/pub/Modeling_Forum_2005.pdf
¤Î44¥Ú¡¼¥¸¡£
BPMI (Business Process Management Initiative)¤Îɸ½àBPM¥¹¥¿¥Ã¥¯¤Ë¤Ï¡¢
BPMN¡¢BPSM¡¢BPXL¡¢BPEL¡¢BPQL
¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÏWS-¤Ê¤ó¤È¤«¡¢¤Î¾å¤Ë°ÌÃÖ¤¹¤ë¤è¤¦¤Ç¤¹¡£
Á´Á³Ê¬¤«¤é¤Ê¤¤¤Î¤Ç¡¢º£ÅÙ¡¢¥ï¡¼¥¯¥¹¤Î¿Í¤Ë¶µ¤¨¤Æ¤â¤é¤¤¤Þ¤¹¡£
狼¡¢BPMN¤Ç¥½¥Õ¥È¥¦¥§¥¢³«È¯¥×¥í¥»¥¹¤òµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í: @IT¤ÎÏ¢ºÜµ»ö
http://www.atmarkit.co.jp/farc/rensai/bpmn01/bpmn01.html
2005¡¦12¡¦02
¥ï¡¼¥¯¥¹¡¢¥¢¥ê¥¨¥ë¶¦Æ±ÊÙ¶¯²ñ¤Î»ñÎÁ¤ò¸ø³«¤·¤Þ¤·¤¿
http://dev.ariel-networks.com/modules/xfsection/index.php?category=14
Âè1²óÌܤϡ¢¿Üºê¤µ¤ó¤¬AJAX¤Î¹Ö»Õ¤ò¤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£
¿Üºê¤µ¤ó¤È¸À¤¨¤Ð¡¢ÃΤë¿Í¤¾ÃΤ롢
2004/12/9¤ËAJAXŪÊýË¡ÏÀ¤Ë¸ÀµÚ¤·¤Æ¤¤¤¿¿Í¤Ç¤¹¡£¤Á¤Ê¤ß¤Ë¡¢AJAX¤È¤¤¤¦¸ÀÍÕ¤¬À¸¤Þ¤ì¤¿¤Î¤Ï¡¢
2005/2/18¤Ç¤¹¡£
³°¿Í¤¬¸À¤¦¤È¤½¤ì¤Ë¹ç¤ï¤»¤Æ°ì½ï¤Ë¸ì¤ê½Ð¤¹¡¢¤½¤ÎÊÕ¤ÎÆüËܿͤȤϳʤ¬°ã¤¤¤Þ¤¹¡£ÆüËÜ¥·¥ê¡¼¥º¤ÎÀèȯ¤È¥¢¥¸¥¢¥·¥ê¡¼¥º¤ÎÀèȯ¤°¤é¤¤³Ê¤¬°ã¤¤¤Þ¤¹¡£
2005¡¦12¡¦01
ÇÓ¾À©¸æ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹
apr¤Îprimitive¤ÊÇÓ¾À©¸æ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£
¤ä¤Ã¤Æ¤¤¤ë¤³¤È¤Ïñ½ã¤Ç¡¢lock¡¢unlock¤ò¼¡¤Î¤è¤¦¤Ë¤Ò¤¿¤¹¤é¥ë¡¼¥×¤Ç²ó¤¹¤À¤±¤Ç¤¹¡£
#define NUM_LOOP 10000000
now = apr_time_now();
for (i = 0; i < NUM_LOOP; i++) {
apr_thread_mutex_lock(mutex);
apr_thread_mutex_unlock(mutex);
}
printf("mutex: %" APR_INT64_T_FMT "\n", apr_time_now() - now - nop);
nop¤Ï¡¢¤¢¤é¤«¤¸¤á²¿¤â¤·¤Ê¤¤¥ë¡¼¥×¤ò²ó¤·¤¿»þ¤Î·×¬»þ´Ö¤Ç¤¹¡£
APR_INT64_T_FMT¤ÎÉôʬ¤Ï¡¢GNU/Linux¤Ç¤Ïlld¡¢Windows¤Ç¤ÏI64d¤ËÃÖ¤´¹¤ï¤ë¥Þ¥¯¥í¤Ç¤¹(64bitÀ°¿ô¤ÎprintfÍѽñ¼°»ØÄê¤Ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤¬¤¢¤ë¤¿¤á¤Î¥Þ¥¯¥í¤Ç¤¹)¡£
ÉáÄ̤Îmutex¤Èread-write lock¤òGNU/Linux¤Ç·×¬¤·¤¿¤³¤È¤Ï¤¢¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢º£²ó¡¢¼¡¤Î¤Õ¤¿¤Ä¤ò½é¤á¤Æ¤ä¤ê¤Þ¤·¤¿¡£
- Windows¤Ç¤Î·×¬
- atomic API¤Î·×¬
atomic API¤Ï¡¢
apache¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¥Á¥å¡¼¥Ë¥ó¥°¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ëAPI¤Ç¤¹¡£
Windows¤Ç¤Ï¡¢InterlockedIncrement()¤Ê¤É¤ÎAPI¤Î¥é¥Ã¥Ñ¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
GNU/Linux(x86)¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¤ËŸ³«¤µ¤ì¤ë¥Þ¥¯¥í¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
#define apr_atomic_cas(mem,with,cmp) \
({ apr_atomic_t prev; \
asm volatile ("lock; cmpxchgl %1, %2" \
: "=a" (prev) \
: "r" (with), "m" (*(mem)), "0"(cmp) \
: "memory"); \
prev;})
²¿²ó¤«¼Â¹Ô¤·¤Æ¤ª¤«¤·¤ÊÊÑÆ°Í×°ø¤¬Ìµ¤¤¤³¤È¤ò³Îǧ¤·¤¿·ë²Ì¡¢¼¡¤Î¤è¤¦¤Ê¿ôÃͤˤʤê¤Þ¤·¤¿¡£ºÙ¤«¤¤¿ôÃͤϤ¢¤Þ¤ê°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£·å¤À¤±¤ÎÀ¤³¦¤Ç¤¹¡£
CPU¤ÎÀǽ¤¬Ä㤹¤®¤Æ½ñ¤´Ö°ã¤¤¤Ç¤Ï¤Ê¤¤¤«¤È»×¤ï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢»ö¼Â¤Ç¤¹¡£
apr¤ÎÇÓ¾À©¸æ·Ï¤ÎAPI¤Ï¡¢OS¤ÎAPI¤Îthin¥é¥Ã¥Ñ¡¼¤Ê¤Î¤Ç¡¢GNU/Linux¤Î¾ì¹ç¤Ïpthread·ÏAPI¡¢Windows¤Î¾ì¹ç¤ÏWin32 API¤½¤Î¤â¤Î¤È»×¤Ã¤Æ¤âÂç¤¤Ê¸íº¹¤Ï¤¢¤ê¤Þ¤»¤ó¡£
·×¬¹àÌÜ:
- mutex(unnested): nest¤òµö¤µ¤Ê¤¤mutex lock
- mutex(nested): nest¤òµö¤¹¡¢¤Ä¤Þ¤êƱ°ì¥¹¥ì¥Ã¥É¤¬Ï¢Â³¤·¤Ælock¤ò¸Æ¤ó¤Ç¤â¥Ö¥í¥Ã¥¯¤·¤Ê¤¤mutex lock
- rwlock(write lock): read-write lock¤Îwrite lock
- rwlock(read lock): read-write lock¤Îread lock
- atomic(add): atomic API¤Îadd¥ª¥Ú¥ì¡¼¥·¥ç¥ó
GNU/Linux (Debian sarge¡¢Linux 2.4.30¡¢libc 2.3.2¡¢Athlon 650MHz):
- mutex(unnested) ... Ìó2600000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.25¥Þ¥¤¥¯¥íÉÃ
- mutex(nested) ...Ìó5600000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.56¥Þ¥¤¥¯¥íÉÃ
- rwlock(write lock) ... Ìó4300000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.43¥Þ¥¤¥¯¥íÉÃ
- rwlock(read lock) ... Ìó5800000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.58¥Þ¥¤¥¯¥íÉÃ
- atomic(add) ...Ìó460000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.046¥Þ¥¤¥¯¥íÉÃ
Windows (Windows2000 SP4¡¢Athlon 1.1GHz):
- mutex(unnested) ... Ìó12000000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó1.20¥Þ¥¤¥¯¥íÉÃ
- mutex(nested) ...Ìó700000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.07¥Þ¥¤¥¯¥íÉÃ
- rwlock(write lock) ...Ìó12200000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó1.22¥Þ¥¤¥¯¥íÉÃ
- rwlock(read lock) ...Ìó41100000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó4.11¥Þ¥¤¥¯¥íÉÃ
- atomic(add) ...Ìó90000¥Þ¥¤¥¯¥íÉÃ/1ÀéËü²ó ...1²ó¤¢¤¿¤êÌó0.009¥Þ¥¤¥¯¥íÉÃ
¿·¤·¤¤È¯¸«¡£
GNU/Linux¤Çnested mutex¤ÎÊý¤¬ÃÙ¤¤¤Î¤Ç¡¢Windows¤Ç¤âƱ¤¸¤À¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£»ö¼Â¤Ï¡¢Windows¤Ç¤Ïnested¤òµö¤¹mutex¤ÎÊý¤¬Â®¤¤¤Ç¤¹¡£
atomic¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï°µÅÝŪ¤Ë®¤¤¤Î¤Çatomic¤ÇÃÖ¤´¹¤¨¤é¤ì¤ë²Õ½ê¤Ïmutex lock¤«¤éÃÖ¤´¹¤¨¤¿¤¤¤Ç¤¹¡£¼ÂºÝ¤ÏÊÑ¿ô¤Ò¤È¤Ä¤ò¼é¤ë¤À¤±¤Îmutex lock¤Ï¤¢¤Þ¤ê̵¤¤¤Ç¤¹¤¬¡£