2014-11-01ãã1ã¶æéã®è¨äºä¸è¦§
ï¼ï¼RSAæå· æè¿ãè¨äºã®ä¸ã«ãRSAæå·ãçæãããã¨ããåºåãããããã®è¨äºã®ä¸ã«ãããã®ã§ã¯ãªããã¨æãããããã«ã¯æ¬¡ã®ãã¨ãæ¸ããã¦ãããRSAæå·ãçæãããé©å½ãªç´ æ°\(p\)ã¨\(q\)ãä¸ã®æ¡ä»¶ãæºããèªç¶æ°\(e\) æ¡ä»¶1: \(0 æ¡ä»¶2: \(gcd((p-â¦
ï¼ï¼ã¨ã©ãã¹ããã¹ã®ç¯© ç´ æ°ãæ±ããæ¹æ³ã§ãããç¥ããã¦ããã®ã¯ã¨ã©ã¹ãããã¹ã®ç¯©ï¼ãµããï¼ã§ãããåçã¯æ¬¡ã®ããã«ãªã£ã¦ããã ï¼ï¼2ããå§ã¾ãèªç¶æ°ã®ãªã¹ããç¨æããã ï¼ï¼ã¾ããç´ æ°ãæ±ã¾ã£ã¦ããã¨ããã ï¼ï¼ç´ æ°ã®ãªã¹ãã¯ãèªç¶æ°ã®ãªã¹â¦
ï¼ï¼ã©ã ç¾ã®èã¯ããã³ãä»ç¾ã®èã¯ã©ã ã§ãããæ¥æ¬ã§ã¯ç¾ã®èãä»ç¾ã®èããã¾ãåºãã¯åãå ¥ãããã¦ããªããä¾å¤ã¯ãåæµ·éã§ã¸ã³ã®ã¹ã«ã³éã§ç¾ã®èã使ããããæåã«ãç¾ã®èãé£ã¹ãã®ã¯ãã¯ãåæµ·éã§ãããç¾ã®èã§æãåºã¨ãªã£ã¦ããã®ã¯ç«éã§â¦
ï¼ï¼ãã¼ã¿å ã·ã¥ã¼ãã£ã³ã°ã²ã¼ã ã®ä¸»è¦ãªé¨åã®èª¬æã¯çµãã£ãã®ã§ãããã§ã¯ããã®ã²ã¼ã ã®ããã«å®ç¾©ãããã¼ã¿åãã¿ã¤ãã説æãããããã°ã©ã ã¯æ¬¡ã®ããã«ãªã£ã¦ããã module Types where import FRP.Yampa type Pos = (Double, Double) type Vel â¦
ï¼ï¼æ¦ç¥ ã²ã¼ã ãæ§æããããã°ã©ã ã®èª¬æãã»ã¼çµäºããã®ã§ãããããã¾ã¨ãã¦ã²ã¼ã ã®ããã°ã©ã ã¨ãã¦æ©è½ãããã¡ã¤ã³ããã°ã©ã ãè¦ã¦ãããYampaã§ã¯reactimateã¨ããé¢æ°ãç¨æãã¦ããããããåãããããã«ã¯ãåæåã«ã¼ãã³ãå ¥åã«ã¼ãã³ãâ¦
ï¼ï¼æ¦ç¥ ã²ã¼ã ã®åºåãè¡ãã®ã¯ã°ã©ãã£ãã¯ã¹ã§ãããåºãå©ç¨ããã¦ããã®ã¯OpenGLã§ããããã®ç°¡æçã¯GLUTã§ãããã¾ããæè¿ã§ã¯SDL(Simple DirectMedia Layer)ãåºãå©ç¨ããã¦ããããã®ã·ã¥ã¼ãã£ã³ã°ã²ã¼ã ã§ã¯GLUTãç¨ãããã²ã¼ã ã®é²è¡ç¶æ³ãâ¦
ï¼ï¼æ¦ç¥ ã²ã¼ã ããã°ã©ã ã®ç»å ´äººç©ããã®ã·ã¥ã¼ãã£ã³ã°ã²ã¼ã ã§ã¯ç³äºã¤ã¨é³¥ä¸ç¾½ãã®æ¯èããå®ç¾©ããªããã°ãªããªããã©ã®ç³ãåãæ¯èãããããã¨ã«ããã¨ãããã§ã¯ãç³ã¨é³¥ã®äºç¨®é¡ã®æ¯èããå®ããå¿ è¦ããããYampaã§ã¯ç»å ´è ã®æ¯èãã¯ä¿¡å·é¢æ°â¦
ï¼ï¼ç¨èªã®èª¬æ 説æã«å ¥ãåã«ã¾ãè¨èã®å®ç¾©ããã¦ãããã²ã¼ã ã®ä¸ã§ç»å ´ãã人ãç©ãç»å ´è ã¨å¼ã¶ããã®æ¯èãã¯ä¿¡å·é¢æ°ã«ããå®ç¾©ããã¦ãããã²ã¼ã ã¯ããæéééã§é²è¡ãããä¸ã¤ã®æéééããµã¤ã¯ã«ã¨å¼ã¶ãç»å ´è ã¯ãããµã¤ã¯ã«ãå§ããåã«ããâ¦
ï¼ï¼ããã»ã¹ã®æ¦ç¥ Yampaãç¨ãã¦ã®ã²ã¼ã ã¯ãreactimateãç¨ããããreactimateã¯åã«ãè¨è¿°ããéããinit,input,output,processã§æ§æããã¦ãããä»åã®è¨äºã§ã¯ããã®ä¸ã®processã«ã¤ãã¦èª¬æãããããã§èª¬æããã²ã¼ã ã¯æ¥µãã¦ç°¡åãªã²ã¼ã ã§ãç³ãâ¦
ï¼ï¼ãã§ã³ã®æãåº 2å¹´ã»ã©åã«ãã§ã³ã®é¦é½ãã©ãã«1é±éç¨åº¦æ»å¨ãããã¨ããããå¤æ¹ã«ãªãã¨ããã¼ã«ã飲ã¿ãã¦ãå¤é£¯ãã¨ãã«ãå°å ã®äººéã§è³ãã£ã¦ããã¬ã¹ãã©ã³ã訪ãããããæãæ¯è¦ªã¨åä¾äºäººã®ãã¼ãã«ã«ç®ãçã¾ã£ããæ¯è¦ªãåä¾ã®ä¸äººã«ãã¤â¦
ï¼ï¼Yampaã§ã®ã²ã¼ã ä½æ Yampaã§ã®ã²ã¼ã ã®ä½æã®æ¦ç¥ã¯Meisingerä½æã®ä¸å³ã®ã¨ããã§ããã ãã®å³ãããã¼ãã£ã¼ãã§ç¤ºããã®ãMeisingerä½æã®ä¸å³ã§ããã ã²ã¼ã ã®ããã°ã©ã ã¯ãYampaãç¨æãã¦ããreactimateã¨ããé¢æ°ãå©ç¨ãããããã¯4ã¤ã®é¨åâ¦
ï¼ï¼èãæã§ã ä¼è±ã®ä¿®ç¦ 寺ã«ããè¹ã®é·ã§ãèè±ã¾ã¤ãããéå¬ããã¦ããã®ã§è¦å¦ã«è¡ã£ã¦ããããã£ã¦ã¯ãç¥ãã«åããã¦ãå ¨å½åå°ã§ãèã®è±ãæã§ãä¼ããã£ãããç¾å¨ã¯æ´è±ã«æ¼ããã¦è±ªè¯ãªèã®è±ãè¦ãæ©ä¼ãæ¸ã£ãããã«æããä¼è±ã«æ»å¨ä¸ã®ä¸æ¥â¦
ï¼ï¼Haskanoidã§ã®ä¿¡å·é¢æ° ããã¯ãã³ã§ã¯ä¿¡å·é¢æ°ã¯ãªãã¸ã§ã¯ãã¨å ¥åã®å¯¾ãå¾ã¦ãªãã¸ã§ã¯ãã®æ°ããç¶æ ãå¾ã¦ãããHaskanoidã§ãåçã¯åæ§ã§ãããä¿¡å·é¢æ°ã¯ãªãã¸ã§ã¯ããã¨ã«ç¨æãããä¿¡å·é¢æ°ã¸ã®å ¥åã¯ããã¼ãã¼ãããã¦ã¹ãWiiãªã¢ã¼ããã©â¦
ï¼ï¼åä½ç»é¢ Haskanoidã®æä½ç»é¢ã¯æ¬¡ã®ããã«ãªã£ã¦ããã ãã®ç»é¢ãåºã¦ããã¾ã§ãã¤ã³ã¹ãã¼ã«æã«æ§ã ãªé害ã«åºä¼ããã¨ã¨æãããæãçããããã¨ã©ã¼ã¯ãç»åãé³å£°ã®ãã¼ã¿ããªãã¨è¨ããããã¨ã ã¨æããHaskanoidã¯ãããã®ãã¼ã¿ãdata(å°æåâ¦
ï¼ï¼Yampaã®çãç«ã¡ Yampaã¯åã«ã説æããéããé¢æ°åãªã¢ã¯ãã£ãã»ããã°ã©ãã³ã°(Functional Reactive Programming)ã®æ¦å¿µã«åºã¥ãã¦é¢æ£çãªã·ã¹ãã ã¨é£ç¶çãªã·ã¹ãã ã®ä¸¡æ¹ãæ±ãããã¤ããªãããªããã°ã©ãã³ã°ã§ããã¡ã¤ã³ç¹åè¨èªã§ãããYampaâ¦
ï¼ï¼æãããããã¯ãã³ Yampaãç¨ãã¦ã®ã²ã¼ã ã®ä½ææ¹æ³ã¯ãGerold Meisinger (University of Applied Sciences Upper Austria) ã®å¦ä½è«æãGame-Engine-Architektur mit funktional-reaktiver Programmierung in Haskell/Yampaããããã«é¢é£ããå¦ä¼è«â¦