ããã¾ã§å人ã§ä½æããããã°ã©ã ãç´¹ä»ãã¾ãã
ãã®ä»ã«ãããã§ç´¹ä»ããããªãã£ãããã°ã©ã ã¯GitHubã«å ¬éãã¦ãã¾ãã
ãããã¯ãã§ã¼ã³ä¸ã§èªè¨¼ããã¤ãã³ããã±ããã·ã¹ãã ã使ãã¾ããã主ã«ã³ã³ãµã¼ããªã©å¬ãç©ã®å ¥å ´ã§ã®ä½¿ç¨ãæ³å®ãã¦ãã¾ããããã¾ã§ãã±ããã«ã¯è»¢å£²åé¡ãããããããããããå±ããè¦å®ä¾¡æ ¼ãä¸åãé«é¡ã§è²©å£²ãã¦ããåé¡ãããã¾ãããç´ã«å°å·ããããã±ããã¯ææ°ãææè ã«ãã£ã¦ç©ççã«å ¥å ´è ãå¶å¾¡ãã¦ãã¾ãããç´ã®ãã±ããã¯è²æ¸¡ã容æã§ããã䏿£è²©å£²ãé²ããã¨ãé£ããã§ãã
ããã§ãããã¯ãã§ã¼ã³ã®èµ·ç¨ãèãã¾ããããããã¯ãã§ã¼ã³ã¯èª°ããéå¶ã»èªè¨¼ã§ãããã¼ã¿ãã¼ã¹ã§ãããä¸å¯éçãªæå·å¦çã使ç¨ãã¦ããããè¨é²ã®æ¹ç«ã極ãã¦é£ããã§ããEthereumã¨ãã帳簿é ç®ã®è¨å®ãªã©ã®ããã°ã©ãã³ã°ã容æãªãããã¯ãã§ã¼ã³ã使ç¨ããé»åãã±ããã®å¸³ç°¿ã試é¨çã«éå¶ãã¾ãããé»åãã±ããã«ã¯ææè ã®æ å ±ã»è²æ¸¡æ¨©å©ã»è²æ¸¡æ¡ä»¶ãªã©ãè¨è¼ããã¦ãããã¤ãã³ã主å¬è ã®è¨±å¯ãªãè²æ¸¡ãããã¨ã¯ã§ãã¾ããã
ãã®ããã¸ã§ã¯ãã§ã¯ãå®éã«è¸è½äºåæã訪åããã¿ã¬ã³ãããã¼ã¸ã£ã¼ã®æ¹ã«ãã¢ãªã³ã°ãè¡ãã¾ããããã¢ãªã³ã°ã§ãã£ã¨ãé£ããã£ãã¨ããã¯æå·å¦çã«ã¤ãã¦ã®èª¬æã§ãããæ°ããä»çµã¿ã®æ®åã®ããã«ã¯å©ç¨è ã«åããããã説æãä¸å¯æ¬ ã ã¨çæãã¾ããã
P2Pã®ãããã¯ã¼ã¯ã§åæ°¸ä¹ çã«ãã¼ã¿ãä¿åããæ¹æ³ã¨ãã®æ å ±ã®æ£ç¢ºæ§ãèªè¨¼ããæ¹æ³ãèæ¡ãã¾ããããã¼ã¿ã«ã¯ä¿å®æ§ã®åé¡ãããã¾ããä¾ãã°ããã¼ã¿ããã¹ãã£ã³ã°ãããµã¼ãã¼ããããã¯ã¼ã¯ããåæããããããã®ãã¼ã¿ã®ä½æã§ããURIãã以å¾ãã¼ã¿ãåå¾ã§ããªããªãã¾ããï¼300ç³»ã®HTTPãªã¹ãã³ã¹ã³ã¼ããªã©ã«ãã£ã¦ï¼è»¢éå ãæ¡å ããã¦ãããç¡äºã«ãã¼ã¿ãã¢ã¯ã»ã¹ã§ãã¾ããããµã¼ãã¼ã®éå¶è ããã®é¡ã®ä¾å¤å¦çãä¸å¯§ã«å¯¾å¦ããã¦ããã¨ã¯éãã¾ãããå ´åã«ãã£ã¦ã¯ãå¤é¨ããã¢ã¯ã»ã¹ã§ãããµã¼ãã¼é åãããã¼ã¿ãæ¶å¤±ãã¦ãããã¨ãããã¾ããå¤é¨ã®ãµã¼ãã¼ããã®ãã¼ã¿ãè¤è£½ãã¦ãããããã®ãã¼ã¿ãæ¹ãã¦åå¾ãããã¨ãå¯è½ã§ããã2ã¤ã®åé¡ãæµ®ä¸ãã¾ãã
(1)ã«ã¤ãã¦ã¯ãã¦ã¼ã¶ã¼ãã¤ã³ã¿ã¼ãããä¸ã§ãã®ä»ã®URIãæ¢ãå¿ è¦ããããä¸éçã«é¢å¿ã®ä½ããã¼ã¿ã¯ä»£æ¿ã¨ãªãæå¨å°ãåºãåç¥ããã¦ãªããããæ°ããªURIã®æ¤ç´¢ã«æéã¨å·¥æ°ãæããã¾ãã
(2)ã«ã¤ãã¦ã¯ãä»®ã«ä»£æ¿ã¨ãªããã¼ã¿æä¾å ã確ä¿ãã¦ãããã¼ã¿ã®æ£ç¢ºæ§ãä¿è¨¼ãããªããã¨ãæãã¾ãããã¼ã¿ã®è»¢ééç¨ã«ããããã¼ã¿ã®ç ´æããæ°ãããã¹ãã«ãããã¼ã¿ã®æ¹ç«ãªã©ã®å¯è½æ§ãããã¾ãã
ãããã解決ããããã2ã¤ã®è§£æ±ºæ¹æ³ãææ¡ãã¾ããï¼
(1) ç¹å®ã®ãµã¼ãã¼ã«ä¾åããªãP2Pã®ãããã¯ã¼ã¯ä¸ã§ãã¼ã¿ãå ¬éããä¸å¯å¤ãªURIã§ã¢ã¯ã»ã¹å¯è½ã«ãããã¨ãURIã¯ãã¼ã¿ã®ã確èªçªå·ãã§ããããã·ã¥å¤ã§åå¨ãããããWebã®URLã¹ãã¼ã ã®ããã«ã¢ãã¬ã¹ã夿´ããããã¨ãããã¾ããã
(2) ãããã³ã¤ã³ã®ãããã¯ãã§ã¼ã³ã«ãã¼ã¿ã®ã確èªçªå·ãã¨ãªãããã·ã¥å¤ãè¨è¼ãããã®æç¹ã§ãã¼ã¿ããã®å½¢ã§åå¨ãã¦ãããã¨ã証æãããã¨ã ãããã³ã¤ã³ã®ãããã¯ãã§ã¼ã³ã¯ããããã¯åä½ãã§ç®¡çããã¦ãã¾ããããããã¯ã®ãã¼ã¿æ§é ã¨ãã¦ãã³ã¡ã³ãæ¬ãã80ãã¤ãã»ã©ããã¾ããããã«ã¡ã«ã±ã«ããªã¼ã¨ãããã¼ã¿æ§é ã§ã¢ãããã¼ããããã¼ã¿ã®ããã·ã¥å¤ã並ã¹ã2ã¤ãã¤ã®ããã·ã¥å¤ãç®åºããæçµçã«ããªã¼ã®é ç¹ã«ç«ã¤ããã·ã¥å¤ãããããã¯ãã«è¨è¼ãã¾ãããããã§ã©ãã ããã¡ã¤ã«ããã£ã¦ãã³ã³ãã¯ãã«ããã·ã¥å¤ãç®åºãããã¨ãã§ãã¾ããã¾ããã¦ã¼ã¶ã¼ã®æå ã«ã¡ã«ã±ã«ããªã¼ã®ã証æããã¼ã¿ãããã第3è ãæ£ç¢ºæ§ãæ¤è¨¼ã§ããããã«ãªã£ã¦ãã¾ãã
ãã¼ã¿ã¯æ¥æ¬å½å ã®æ¾å°è½ãã¼ã¿åéãã¦èª°ã§ãå©ç¨å¯è½ã«ãã¦ããå£ä½ã§ããSafecastã®ãã®ã使ãã¾ããã幸ãSafecastã®éå¶ç¶æ ã¯éææ§ãé«ãã®ã§ãã¼ã¿æ¶å¤±ã®æ¸å¿µã¯ãªãã§ãããè²´éãªæ´å²ãã¼ã¿ãå ã®ãµã¼ãã¼ããæ¶å¤±ããå®ä¾ãããã¾ããä¾ãã°ããã©ã³ãæ¿æ¨©æã«ç±³å½æ¿åºã®å½ç°å¢ä¿è·åºã®ãµã¼ãã¼ããéå»ã®ç°å¢ãã¼ã¿ãæ¶å¤±ãã¾ããããã®ããã«ããã¼ã¿ã®éç¨æ¹éã»æä¾æ¹æ³ã»ã¬ããã³ã¹ãªã©ããã¼ã¿ã®ä¿å®æ§ã«å¼·ãå½±é¿ãåã¼ãã¾ãã
大å¦ã®åæ¥è«æã¨ãã¦å¶ä½ãã¾ãããè«æã¯GitHubã«å ¬éãã¦ãã¾ãã
ï¼ã½ã¼ã¹ã³ã¼ãã¯åã®PCããå¾©å æ¬¡ç¬¬ãå ±æãããã¾ãï¼
Unityã§ç¡éã«æ£®æãçãã¦ããVRç°å¢ã使ãã¾ãããããããã¦ã³ããã£ã¹ãã¬ã¤ããªã©ç»åå¦çã®ä»çµã¿ã«ã¤ãã¦å¦ã¶ãã¨ãå¤ãã£ãã§ããã¾ãã3Dç°å¢ãç¬æã«ã¬ã³ããªã³ã°ããããã®æé©åã«è¦å´ããé ãã«ããç©ä½ããã«ãã¼ãåãããªã©ã®ã¬ã³ããªã³ã°ãã¯ããã¯ã«è§¦ãããã¨ãã§ãã¾ããã
ã¾ããVRæ£®ææµ´ã«ããã¦ã¼ã¶ã¼ã¸ã®å¿çä½ç¨ã測å®ãã¾ãããå¿çãã¹ãã§è¢«é¨è ã®ã¹ãã¬ã¹åº¦ã以ä¸ã®ã¿ã¤ãã³ã°ã§æ¸¬ãã¾ããã
æ°å¦åé¡è§£çå¾ã«ã¹ãã¬ã¹ã®ä¸æãããã³VRæ£®ææµ´ã®ä½¿ç¨å¾ã«ã¹ãã¬ã¹ã®è»½æ¸ã観測ã§ãã¾ããã
VRä½åã¥ããã®çµé¨ãæ´»ãããé¢ä¿è ã«VRã«ã¤ãã¦ã®ç確ãªåæããããã¨ãã§ãã¾ããï¼
ãªããVRã«æççã ã£ãããã«åãæ¢ããããå®®æ¬èæ°ã®çºè¨ã¯ã徿¥ãããæ²ç¤ºæ¿ã®2ã¡ããããã§çä¸ããã¾ã¨ããµã¤ãã®ãã¯ã¡ã¾èµ·ç¨¿ãã®ã¢ã¯ã»ã¹ã©ã³ãã³ã°ã§1ä½ã«ãªãã¾ããã
ç ç©¶ä¼ã§ã®çºè¡¨è³æãæ·»ä»ãããã¾ãã
ï¼åãã£ã¬ã¯ããªã«"æçµçºè¡¨.pptx"ã¨ãã¦æ ¼ç´ï¼
Instagramã§ãã©ãã¼ãã¦ããã¢ã«ã¦ã³ããå¥ã®ã¢ã«ã¦ã³ãã«ã¨ãã¹ãã¼ãã»ã¤ã³ãã¼ãããããã°ã©ã ã§ãã鱿«ã«æã£åãæ©ãå¶ä½ããããå¦ç¿ã³ã¹ããæ¸ãããããè±å¯ãªããã¥ã¡ã³ãã¼ã·ã§ã³ã§äººæ°ãªSeleniumãã¬ã¼ã ã¯ã¼ã¯ã§Webãã©ã¦ã¶ã¼ã®æåãèªååãã¾ãããæ¬æ¥ã¯å ¬å¼ã®APIã使ç¨ãããã£ãã§ãããFacebookãCambridge Analyticaã«ããé¨åãåãã¦ãèªç¤¾ãæä¾ãããµã¼ãã¹ã«å¯¾ãã¦æ¸ãè¾¼ããAPIã®æä¾ãçµäºãã¦ãã¾ãããInstagramãµã¼ãã¼ã®ããã対çã«ãã429 Too Many Requestsã®HTTPã¨ã©ã¼ãããã°ã©ã å使ã«çºçãããããã¢ã¯ã»ã¹é »åº¦ãä¹±æ°ã§èª¿æ´ãã¦å¶ç´ãåé¿ãã¾ããã
ï¼ã½ã¼ã¹ã³ã¼ãã¯åã®PCããå¾©å æ¬¡ç¬¬ãå ±æãããã¾ãï¼
å¦ç¿ç®çã«Cè¨èªã§HTTPãµã¼ãã¼ã使ãã¾ããã80çªãã¼ãã®ã¢ã¯ã»ã¹ã»è§£æ¾ã»å¾ æ©ãªã©ã®æé ããã¡ãã§å ¨ã¦å®è£ ãã¾ããã
好ããªããã°ã©ã ãã¢ã«ã´ãªãºã ãç´¹ä»ãã¾ã
ã¸ã§ã³ã»ã«ã¼ããã¯æ°ãçé ã¨ããid softwareã®æè¡åã¯æ¥çã§è©±é¡ãå¼ã³ã¾ããããQuake 3 Arenaãããªã¼ãã³ã½ã¼ã¹ã§å ¬éæã«ãå¹³æ¹æ ¹ã®éæ°ãè¿ éã«ç®åºããã¢ã«ã´ãªãºã ãæ³¨ç®ãéãã¾ãããã²ã¼ã ã°ã©ãã£ãã¯ã¹ã®è¨ç®æã«ã¯ãã¯ãã«ããã¼ãã©ã¤ãºããå¿ è¦ãããããããã®ãããªè¨ç®ãé »ç¹ã«èµ·ãã¾ãããã®ã¢ã«ã´ãªãºã ã§ã®ç®åºå¤ã¯æ¦ç®ã§ãããã®ã®ãã²ã¼ã ã«ã¯ååå®ç¨çã§ãããå¦çé度ã®åä¸ãããããã¾ãã
é常ãå¹³æ¹æ ¹ã®éæ°ã®ç®åºã«ã¯ä»¥ä¸ã®ãããªã³ã¼ããæ¸ãã¾ãï¼
#include <math.h>
float y = 1/sqrt(x);
ããããå²ãç®ã®å®è¡ã¯æ¯è¼çã«æéããããã¾ãã代ããã«ãQuake 3 Arenaãã§ã¯ä»¥ä¸ã®ããã«ã³ã¼ããè¨è¼ããã¦ãã¾ããï¼
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
return y
}
æåã®å¤æ°ã¯longåã§ãããã¡ã¢ãªã«ã¯32ãããã®æ°å¤ã¨ãã¦æ ¼ç´ããã¦ãã¾ãï¼
00000000 00000000 00000000 00000000
次ã®å¤æ°ã§ããfloatåã¯IEEE 754ã§ä»¥ä¸ã®ããã«å®ç¾©ããã¦ãã¾ãï¼
0 ï¼+/-ãããï¼00000000 ï¼ææ°ããã (2^n-127)ï¼00000000000000000000000 ï¼ä»®æ°ãããï¼
floatåã®å¤æ°ã¯ãããã·ããæä½ãã§ãã¾ããã®ã§ã夿°ãæ ¼ç´ããã¦ããã¡ã¢ãªã®ã¢ãã¬ã¹ããã¤ã³ã¿ã¨ãã¦æ¸¡ãã¦longåã¨ãã¦èªã¿åãã¾ã:
i = * ( long * ) &y;
ãã®å¾ãi >> 1ã§å·¦ã«ãããã·ããæä½ãè¡ãã夿°ã®å¤ãåå¢ãã¾ãã0x5f3759dfãããã®å¤ãå¼ããã¨ã§èª¤å·®ã縮ãããã¨ãã§ãã¾ãã
i = 0x5f3759df - ( i >> 1 );
ä¸è¨ã®æ¦ç®å¤ãfloatåã®å¤æ°yã«æ ¼ç´ãã¾ãã
y = * ( float * ) &i;
次ã¯ããã¥ã¼ãã³ã®æ¹æ³ã§èª¤å·®ãããã«ç¸®ãã¾ãããã¥ã¼ãã³ã®æ¹æ³ã§ã¯ãã¨ãã$x$ãã$f(x)$ã¨ããã®å°é¢æ°ã§ãã$f'(x)$ã§$f(x)/f'(x)$ãç®åºããå ã®$x$ãã$f(x)/f'(x)$ãå¼ãã¾ãã
Newton's Method
approximation1 = x - f(x)/f'(x)
error(x) = x^-2 - i
approximation2 = x - error(x)/error'(x)
= x - (x^-2 - i) / (-2x^-3)
= x(1.5 + 0.5ig^2)
ã½ã¼ã¹ã³ã¼ãã§ã¯ããã¥ã¼ãã³ã®æ¹æ³ããã®ããã«è¨è¼ããã¦ãã¾ã:
y = y * ( threehalfs - ( x2 * y * y ) );
// Editor's Note: x2 is 0.5 of float variable "number"
å¦çæä»£ã®ã¹ãã¼å宿ã§å人ãWiiãæã£ã¦ãã¾ããããå½¼ãã»ã³ãµã¼ãã¼ãå®¶ã«å¿ããã®ã§ãã¡ãã¥ã¼ç»é¢ã§èµ·åãããã²ã¼ã ãWiiãªã¢ã³ã³ã§æããã¨ãã§ãããã²ã¼ã ã½ããã«é·ç§»ã§ãã¾ããã§ãããããããã»ã³ãµã¼ãã¼ã¯èµ¤å¤ç·ãåºåãã¦ããã¨ç¥ã£ã¦ãã¾ããã®ã§ã代ããã«èµ¤å¤ç·ãåºåã§ããã©ã¤ã¿ã¼ãï¼ç«ç½äºé²ã®é¢ããï¼ã·ã¹ãã ã®ã¡ãã¥ã¼ç»é¢ãåºãæã ã使ç¨ãã¦ãç¡äºã«ã大乱éã¹ããã·ã¥ãã©ã¶ã¼ãºXããèµ·åãããã®å¾ã¯ã¿ããªã§æ¥½ãããã¨ãã§ãã¾ãããçºæ¡è ã®ç§ã¯è©¦åã«è² ãã¦ã次ã®ã©ã¦ã³ãã«åå ããã¦ããããã¨ãã§ãã¾ããã