æ®å¿µãªãããéã¯å質ã«ã¯ãªããŸããã§ããã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§ããã€ãã®åé¡ãèŠã€ãããŸããã äžéšã¯å°ãè¡æçã§ãã ããšãã°ãéåžžã«äººæ°ã®ãããããŒãžã£ãŒã¯ãFirefoxãã©ãŠã¶ãŒã®åçŽãªååã§ããSQLite Managerã®ç¡æã¢ããªã³ã§ãã 課é¡ãã©ãã«ãŒã®234ãšã³ããªïŒãã·ã¢èªã§ã¯ã©ãã§ããããïŒïŒçµéšè±å¯ãªITã¹ãã·ã£ãªã¹ãã§ãããå°æ¥ã®ä¿¡é Œãæºãããã§ãããã ã8ãã€ãã®æ°åã®è¡šç€ºãç¡å¹ã§ããã ã¯ããããã§ãããã®ãããŒãžã£ãŒã¯8ãã€ãæŽæ°ã®è¡šçŸã§ãã¹ãŠã®æ°åãæ£ãã衚瀺ã§ããŸããïŒæããã«JavaScriptã®æ§è³ªã®ããïŒã 誰ã倧ããªæ°åãæ°ã«ãããŠããã®ãïŒ
å€ãã®ãããŒãžã£ãŒã¯æ®éçã§ããïŒäººæ°ã®ãããã¹ãŠã®ããŒã¿ããŒã¹ããµããŒãããŠããŸãïŒãåã«SQLiteã®ãã¹ãŠã®æ©èœã䜿çšããããšãèš±å¯ããŠããŸããïŒå€ããããŸãïŒã å¥ã®åé¡ïŒãªãŒããŒããŒããããã€ã³ã¿ãŒãã§ã€ã¹ã å€ãã®å Žåãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®æ©èœå šäœãå°ããªãã¿ã³ã®æã®åœ¢ã§ã¡ã€ã³ç»é¢ã«åã«ããã³ãããããšããæèŠããããŸããã ãŸããæ©èœãè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ïŒããŒã¿ãšãã£ã¿ãŒãã¹ããŒããšãã£ã¿ãŒãããŒã¿ã€ã³ããŒã¿ãŒãªã©ïŒã«åé¡ããã®ã¯é¢åã§ãããããŒã±ãã£ã³ã°ã¯è¯ãã®ã§ããã䜿çšããã«ã¯äžäŸ¿ã§ãã æåŸã«ãçŸåšã®ãã¡ãã·ã§ããã«ãªããš-åäžã®ã³ãŒãããŒã¹ãšãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠè€æ°ã®ãã©ãããã©ãŒã ã§ã¢ããªã±ãŒã·ã§ã³ãäžåºŠã«ãªãªãŒã¹ãããšãå€ãã®å Žåãã€ã³ã¿ãŒãã§ã€ã¹ã«å°ããªãã°ãçºçããŸãïŒãã©ã³ãã®åé¡ãäžé©åãªãšã³ã³ãŒããäžé©åãªè¡ã®é«ããã³ã³ãããŒã«ãæ®ã
stackoverflow.comã®1ã€ã®æçš¿ã«ããããSQLiteããŒã¿ããŒã¹ãããŒãžã£ãŒã®æ°ãå€ãã«ãé¢ããããæ¬åœã«äŸ¿å©ãªäººã¯ããªããããSQLiteã®æ®åã«é¢ããŠãã€ãã¹ã®åœ¹å²ãæãããŠããããšçµè«ä»ããããŸããã ãã®ãããžã§ã¯ããçãŸããŸããã
玹ä»ããŸãããïŒ SqliteDogã¯ææ°ã®SQLiteããŒã¿ããŒã¹ãããŒãžã£ãŒã§ãã ããŒã¿ããŒã¹ãšãã£ã¿ãŒã®äœ¿ãæ £ããã€ã³ã¿ãŒãã§ã€ã¹ãå°ãå€æŽããŠãSQL Server Management StudioãããExcelãšChromeã®éã®ã¯ãã¹ã«èŠããããã«ããŸããã 次ã®ã¹ããŒã¬ã³ããé²ããŸãããããŒã¿ããŒã¹ãããŒãžã£ãŒã¯ã3ã€ã®æ±ãã«ç«ã£ãŠããŸãã ãããã¯ãããŒã¿èªäœãããŒã¿ã¹ããŒããããã³SQLã¯ãšãªã§ãã ããŒã¿ã®ãµã³ããªã³ã°ãã§ããéãã·ã³ãã«ã§äŸ¿å©ã«ããå¿ èŠããããŸã;ã§ããã ã圹ç«ã€ããŒã¿ã衚瀺ããå¿ èŠããããŸãïŒä»¥äžãåç §ïŒã ããŒã¿å³ãæ確ã«è¡šç€ºããä»»æã«å€æŽã§ããããã«ããå¿ èŠããããŸãã SQLãšãã£ã¿ãŒã¯çŸããã䟿å©ã§ãªããã°ãªããŸããã SQLã®æäœã¯åé¡ã«ãªããŸããã ãŸããèŠèŠçã§äŸ¿å©ãªSQLiteèšå®ç®¡çã¡ã«ããºã ïŒPRAGMAïŒãå¿ èŠã§ããããããã¯å€ãã®åœ±é¿ãåãŒããŸãã ããšãã°ãããã©ã«ãã§ã¯ãå€éšããŒã®å¶éã¯ç¡å¹ã«ãªã£ãŠããããã£ãã·ã¥ãµã€ãºã¯2000ããŒã¹ããŒãžã§ãã 95ïŒ ã®å Žåããããã¯æé©ãªèšå®ã§ã¯ãããŸããããéåžžã¯ããã€ãã®ãµãã¡ãã¥ãŒå ã«ãé ãããŠããŸããã
ããã§ãå©çšå¯èœãªã¢ããªã±ãŒã·ã§ã³ãåæããã¢ã€ãã¢ãåžæãåéãå§ããŸããã ãããŠããã®æ®µéã¯çŽ3ãæããããŸããã åºæ¬çãªç解ã¯ããã§ãããã»ãšãã©ãã¹ãŠã®ããŒã¿ããŒã¹ãšãã£ã¿ãŒã¯ãçžäºã«ã³ããŒããå€é¢šãªã€ã³ã¿ãŒãã§ã€ã¹ãœãªã¥ãŒã·ã§ã³äžã«æ§ç¯ãããŠããŸãã 以äžã«äŸã瀺ããŸãã
ããŒã¿ããŒã¹ãªããžã§ã¯ãããªãŒ
ããã¯ãã®ãããª
-ããŒã¿ããŒã¹ã®ãªã¹ããå±éããæ£ãããã®ãèŠã€ããŸãã
-ãããŒãã«ããã©ã³ããå±éããŸãã
-ç®çã®ããŒãã«ãèŠã€ããŸãã
-ãåããã©ã³ããå±éããŸãã
ããã«ããå±éãã®æäœã¯æ¬¡ã®ããšãæå³ããŸãã
-å°ããªååæ¶ã§ããŠã¹ãæã€ãšããã®ãã³ã«äœçœ®ãå€ãããŸãã
-調æ»ããå¿ èŠããããããªãŒã®æ¢åã®è¡šçŸãã·ããããæ°ãããªã¹ãã®åºçŸã
èããŠã¿ããšãããããæãäžäŸ¿ãªå¶åŸ¡ã¯æšã§ãã æè»æ§ã®ããã«äœ¿çšãããŸãïŒã©ã®éå±€ã§ãæŒã蟌ããŸãïŒã ãã ããããŒã¿ããŒã¹ãæäœããã·ããªãªã¯ãéåžžããåãèŠãããããè€éã§ãã åã«äœããã®å¶éããããã©ããããŠãŒã¶ãŒãç解ããããšããŸãã ãã®å Žåãåã®ãªã¹ãã¯ã©ã®ããã«åœ¹ç«ã¡ãŸããïŒ ããããåã®å¶éã¯ããŒãã«ã¬ãã«ã§èšå®ã§ããããã§ãã ãŸãããŠãŒã¶ãŒãè€æ°ã®ããŒãã«ã§ç¹å®ã®åãæ¢ããŠããå Žåã¯ã©ããªããŸããïŒ åœŒã¯ã1ã€ã®ç»é¢ã§ãã¹ãŠãããã«å¿ èŠã«ãªãããŒã¿ããŒã¹ã¹ããŒããéãæ¹ãã¯ããã«äŸ¿å©ã§ãïŒåããŒãã«ãå±éãããããïŒã ç
ããã«ãã¢ããªã±ãŒã·ã§ã³ã®1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã§è€æ°ã®ããŒã¿ããŒã¹ãæäœããïŒéŠŽæã¿ã®ããïŒãã©ã¯ãã£ã¹ã奜ãã§ã¯ãããŸããã§ããã ããã¯æ··ä¹±ãšè€éãã®åå ã§ããããã«æãããŸãããåžžã«ãããªãããããŸãã¯ãã®è¡åãè¡ã£ãŠããåºç€ãç解ããå¿ èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ã®1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã1ã€ã®ããŒã¿ããŒã¹ïŒ1ã€ã®æ¥ç¶ïŒããæ£ç¢ºã«æ©èœããããšã決å®ããããŒãã«ãšãã¥ãŒã®ç·åœ¢ãªã¹ããåªå ããŠããªãŒãæŸæ£ããŸããã å±¥æŽããä»»æã®ããŒã¹ã«ãã°ããåãæ¿ããããšãã§ããŸãã ãã®çµæãSqliteDogã§ããŒãã«ã¬ã€ã¢ãŠãã衚瀺ããã³ç·šéããã«ã¯ã2åã¯ãªãã¯ããã ãã§æžã¿ãŸãã åæã«ãããŒã¿ããŒã¹ãªããžã§ã¯ãã®ãªã¹ãã®èŠçŽ ã¯ãã¡ããã·ãããããããã®å Žæã«æ®ããŸãã
SQLã¯ãšãªã®ä¿å
ããããããšã§ããããã決å®ã«ã¯å¥ã®æ±ºå®ã䌎ããŸãã ããŒã¿ããŒã¹ããã°ããåãæ¿ããŠãçŸåšã®ç¶æ ããã¹ãŠãªã»ããããããšã«ããçŽåŸã«ãå ¥åããSQLã¯ãšãªã倱ããããšããåé¡ããããŸããã SQLã¯ãšãªããã¡ã€ã«ã«ä¿åããŸããïŒ ãããããªãã§ããïŒ åã³-ã¢ãŒã«ã€ãºã ã æã匷åãªDBMSããæå ã«ããããŸãã ã¯ãšãªã¯äžè¬çã«å°ããã§ãã 圌ãã®è©±ãç¶ããããšã¯åé¡ã«ãªããŸããã ãã®ããããã¹ãŠã®ãªã¯ãšã¹ãã¯ç¹å¥ãªããŒã¿ããŒã¹ã«èªåçã«ä¿åãããŸãã ãã®é¢åãªãŠã£ã³ããŠãå€æŽãå ããŸããããä¿åããŸããïŒãã¯ãªããªããŸããã ããããäœãã倱ãããŸããã ãã¡ã€ã«åã«ã¯ããçš®ã®æ å ±ããã€ã³ãã£ã³ã°ãå«ãŸããŠãããçŸåšã¯ãŸã£ããååšããŸããã ãªã¯ãšã¹ãã®ããŒã¯ãŒããå±¥æŽã§æ€çŽ¢ããããšã«ããããã®åé¡ã解決ããŸããã
éžæããããŒã¿ãè¡šã§è¡šç€ºãã
ãã¹ãŠã®ããŒã¿ããŒã¹ãããŒãžã£ãŒã䜿çšãããšãèŠæ±ãããããŒã¿ãããŒãã«ã«è¡šç€ºã§ããŸãïŒãããåé€ããããšã¯ã§ããŸããïŒã 圌ãã¯ã©ããã£ãŠãããããŸããïŒ ããšãã°ãåã®å¹ ã éåžžãã³ã³ãã³ãã«åãããã®ã§ã¯ãªããåçŽã«å¹ å šäœãåæ°ã§åçã«åå²ããŸãã ããã¯ãç»é¢ã¹ããŒã¹ã®éåžžã«éå¹ççãªäœ¿çšã§ãã ãŸãã¯ãããŒã¿ã衚瀺ããŸãã ããã«è²ã§å€ã®çš®é¡ïŒæååãŸãã¯æ°å€ã衚瀺ããªãã®ã¯ãªãã§ããïŒ ããã«å³ã®æ°åãç Žã£ãŠã¿ãŸãããïŒ ç©ºã®ã»ã«ã¯NULLãŸãã¯ç©ºã®æååã§ããïŒ èª¿ã¹ãã«ã¯ãã»ã«ãã¯ãªãã¯ããŠããã€ãã®ããããã£ã調ã¹ãå¿ èŠããããŸãããããã¯ãªãã§ããïŒ ã»ã«ã«BLOBïŒãã€ããªããŒã¿ïŒãå«ãŸããŠããå Žå-ãªã16é²æ°è¡šçŸã衚瀺ãããã®ã§ããïŒ ãã®çç±ã¯äœã§ããïŒ ãã¹ãŠã®ãããŒãžã£ãŒã¯ããããã«ç»åã衚瀺ããããšãèªãã«æã£ãŠããããšã«æ³šæããŠãã ããã ãã¡ããæè¬ããŸãããæååãšæ°åã¯ä»ã§ãé »ç¹ã«äœ¿çšãããŸãã ãã®ãããªïŒããªãå¥åŠãªïŒããªãã¯ããããŸãã åã®å€ãæ¹è¡ã®ããè¡ã®å Žåãè¡šã®è¡ã®é«ãã¯è¡ã®æ°ã«æ¯äŸããŠå¢å ããŸãã ã€ãŸããå°ããªXMLããã¹ããåã«æ ŒçŽãããŠãããšããŸãã 1ã€ã®ç»é¢ã§è¡šç€ºããå Žåãæ倧3ã€ã®ãšã³ããªãåãŸãããã«ãªããŸããã
SqliteDogã§ã¯ãããŒã¿ã衚瀺ããéã«åœ¹ç«ã€ãæ倧å€ã®å§çž®ããè©Šã¿ãŸããã è¿œå èšå®ãªãã§ããã«ã æ°å€ã匷調衚瀺ãããå³åŽã«ç¹æ» ããŸãã NULLå€ã¯ç¹ã«è¡šç€ºããã空ã®æååãšç°¡åã«åºå¥ã§ããŸãã BLOBã®å Žåããµã€ãºã衚瀺ãããŸãã å€æååïŒ "\ r \ n"ïŒã«å¶åŸ¡æåãããå Žåããããã¯ç°ãªãè²ã§åŒ·èª¿è¡šç€ºãããããŒãã«è¡ã®é«ãã¯å¢å ããŸããã ãã¡ãããåçã衚瀺ãããŸãã ãããŠãã¯ã³ã¯ãªãã¯ã§ç»åãå šç»é¢ã§èŠãããšãã§ããŸãã ã¯ãªãã¯ïŒãŸãã¯F4ããŒãæŒãïŒããããšã«ããã衚瀺ãããè¡ã®åã®å¹ ãã³ã³ãã³ãã«åãããŠåçã«èª¿æŽãããŸãã ã»ã«ãããã«ã¯ãªãã¯ãããšãç¹å®ã®åã®å¹ ã調æŽãããŸãã ããŠã¹ãšããŒããŒãã§ããŒãã«ãã¹ã¯ããŒã«ã§ããŸãã ããã«ãControlããŒãæŒããªããããŠã¹ãã€ãŒã«ãã¹ã¯ããŒã«ãããšãããŒãã«ãå·Šå³ã«ã¹ã¯ããŒã«ã§ããŸãã ããããã¹ãŠã®ããããªããšããç掻ã楜ã«ããŸãã
ãäœããªãããšã¯äœã§ããïŒ
åŸæ¥ãå€ãã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãããã¥ã¡ã³ããªããç¶æ ããããŸãã ããšãã°ãèµ·åæã ãŠãŒã¶ãŒã¯ãããå¿ èŠãšããŸããïŒ ãŠãŒã¶ãŒSqliteDogãããŒã¿ããŒã¹ãžã®æ¥ç¶ãéãããšããŸãã ããã¯ã©ãããæå³ã§ããïŒ åœŒã¯å¥ã®ããŒã¿ããŒã¹ãéãããã§ããïŒ ãããããªãçŸåšã®ãã®ãéããŠãã ãã-å¥ã®ãã®ãéããŠãã ããã 圌ã¯ä»äºãå®äºãããã§ããïŒ ãã ãããã®åŸã¯ã¢ããªã±ãŒã·ã§ã³ãéããã ãã§ãã 解決çã¯ããã§ããïŒSqliteDogã«ã¯åžžã«ããŒã¿ããŒã¹ãžã®æ¥ç¶ããããŸãã ãŠãŒã¶ãŒãããŒã¿ããŒã¹ãéããå ŽåãSqliteDogã¯ãã¡ã¢ãªå ãã«ç©ºã®ããŒã¿ããŒã¹ãäœæããŸãïŒSQLiteã®æã䟿å©ãªæ©èœã®1ã€ïŒã ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããšããåãã§ãã ãã®æ©èœãç»å Žãããšããã«ãè¿œå ã®äœ¿çšã·ããªãªãããã«çºçããŸããã SQLiteé¢æ°ã®ååããã°ããæãåºãå¿ èŠãããå ŽåããããŸãã SqliteDogãèµ·åãããšãããã«SQLå ¥åãŠã£ã³ããŠã䜿çšå¯èœã«ãªããŸãã ååã®å ¥åãéå§ããŸã-èªåè£å®ã®ãªã¹ãã衚瀺ãããŸãã ç®çã®æ©èœãã³ããŒãå®äºãèŠã€ããŸãã
ãã¬ãŒããªããã¬ãŒããªã
éçºãé²ãã«ã€ããŠãæœåšçã«æ©èœã®éã«å¶éããªãããšãæããã«ãªããŸããã ããããããžã§ã¯ãã®æ§è³ªã§ãã ãã€ã§ãå¥ã®ããŠã£ãã·ã¥ãªã¹ãããèŠã€ããããšãã§ããŸãã ãããŠåœŒå¥³ãªãã§ããã決å®ãã-ãŸããäœãã ãã®ãããããã¿ãããã®æ±ºå®ãè¡ãããŸãããã倧ããªãæ©èœã®äžéšã¯ã第2ããŒãžã§ã³ãã«å ¥ããŸãã æ©èœã«é¢ãã決å®ã¯éåçã«è¡ãããŸããã ãããã£ãŠãåªå 床ã®ããã¢ã¯ãã£ããªã¿ã¹ã¯ã®ãªã¹ããšã第2ããŒãžã§ã³ãã®æ©èœã®ãªã¹ããä¿æãããŸãã äœåºŠãåãããšãæãä»ããªãããã«ãããããäžç·ã«èŠããšäŸ¿å©ã§ãã ãã®ãããããå¯èœæ§ã®ç©ºçœãå¥ã®å¯èœæ§ãç°¡åã«å®è£ ãããã®æ©èœã2çªç®ã®ããŒãžã§ã³ããæåã®ããŒãžã§ã³ã«ãæ»ãããŸããã ãŸããé¢çœãç¬éããïŒããã€ãã®æ©èœã¯éåžžã«é·ãéé 延ãããããç·æ¥ã®æ©èœã«çœ®ãæããããŸããããã®çµæãSqliteDogã§ããŠã¹ã§ã¿ãããã©ãã°ããããšã¯ã§ããŸããã ããã¯ã2çªç®ã®ããŒãžã§ã³ãã§ä¿®æ£ãããäºå®ã§ãïŒãããã:)ã å¥ã®ãã¬ãŒããªãã¯ã1ã€ã®ãã©ãããã©ãŒã ãéžæããããšã§ãïŒWindowsïŒã æ®å¿µãªãããå質ãšé床ãæãªãããšãªããã¯ãã¹ãã©ãããã©ãŒã ãæäŸãã蚱容å¯èœãªãã¬ãŒã ã¯ãŒã¯ãèŠã€ããããšãã§ããŸããã§ããã èªåã§ããããšãã€ãŸããè»èŒªãåçºæããããšã¯ãããã§ããã¹ãã§ãããç®æšã¯ããšããšç°ãªã£ãŠããŸããã ãã®çµæããããžã§ã¯ãã¯Windowsã§ãã·ã£ãŒãåããããŸããïŒçŽ1幎ããããŸããïŒã ããããå¿ èŠãªã¬ãã«ã§å¿çæ§ãšè¡šç€ºå質ãåŸãããŸããã
å èš±
ãã®åŸãåæ¢ããŸãïŒãã ããhabrasocietyã "saga"ãç¶ç¶ããããšã«é¢å¿ãããå Žåã¯ããããç¶ããŸãïŒã 補åã©ã€ã»ã³ã¹ã«ã€ããŠã ã³ããŒã·ã£ã«ã«å ããŠãå ¬åŒã®ç¡æããŒãžã§ã³ã®SqliteDogãå©çšå¯èœã«ããããšã«ããŸããã æéãè¡æ°ãããŒãã«æ°ãããŒã¿ããŒã¹ãµã€ãºãªã©ã«å¶éã¯ãããŸããã30æ¥é䜿çšããåŸã®ç¡æçã§ã¯ããã¶ã€ããŒïŒããŒã¿ããŒã¹ãããŒãã«ãã€ã³ããã¯ã¹ïŒãšäžéšã®ããŒã¿ã€ã³ããŒã/ãšã¯ã¹ããŒãã®ã¿ã䜿çšã§ããªããªããŸãã SqliteDogã€ã³ã¿ãŒãã§ãŒã¹ã¯å®å šã«Russifiedã§ãïŒãã¡ããããã¡ã³åãã®è±èªæŸéããããŸãïŒã ãµã€ãã®ãã·ã¢èªçãååšããŸãã
http://sqlitedog.com
çµè«ãŸãã¯TL; DR
SqliteDogã¯ãå¹ççãªæäœã®ããã®SQLiteããŒã¿ããŒã¹ãããŒãžã£ãŒã§ãã ãã®äœæè ã¯ãéåžžã®ã€ã³ã¿ãŒãã§ã€ã¹ãœãªã¥ãŒã·ã§ã³ãæŸæ£ããå¯èœãªéã察話ãç°¡çŽ åããã³ä¿é²ããããšã決å®ããŸããã ãããã£ãŠã1ã€ã®ã¢ããªã±ãŒã·ã§ã³= 1ã€ã®ããŒã¹ïŒããæ£ç¢ºã«ã¯ã1ã€ã®æ¥ç¶ãä»ã®ããŒã¹ãATTACHã«ã§ããŸãïŒã ãµã³ãã«ããŒã¿ã¯å¯èœãªéãåèæ å ±ãšããŠè¡šç€ºãããã¯ãšãªã®å®è¡äžã«ã¬ã³ãŒãã衚瀺/䞊ã¹æ¿ããããã«ã¯ç·šéããããšãã§ããŸãïŒEscããŒãæŒããšãã€ã§ãããŠã³ããŒããåæ¢ã§ããŸãïŒã SqliteDogã®ããã€ãã®æ©èœã¯ãŠããŒã¯ã§ãã ããšãã°ãæ¥ç¶ããŒã®ãã¿ã³ã䜿çšãããã©ã³ã¶ã¯ã·ã§ã³ç®¡çã ãŸãã¯ãæ°ãããšã³ããªãèªåçã«ããŒããããããŒãã«ç£èŠã¢ãŒãïŒãæåŸã®1000ãéžæããåå ã®ç¢å°ã®ä»ãããã¿ã³ãæŒããŸãïŒã ãŸãã¯ãããŒã¹ãã€ã¢ã°ã©ã ãéããŠã2çªç®ã®ã¢ãã¿ãŒã®å¥ã®ãŠã£ã³ããŠã«åºå®ããæ©èœïŒåžžã«ç®ã®åã«è¡šç€ºããïŒã ãŸãã¯ãåå€ã®ãã£ãªããžå€æãã¯ã³ã¯ãªãã¯ã§UNIX圢åŒããWindows圢åŒã«å€æããæ©èœã
ãã£ãŒãããã¯ãä¿®æ£ã®ææ¡ããåŸ ã¡ããŠãããŸãã ãé¢å¿ããå¯ãããã ãããããšãããããŸãã