X86-64 ã§ã®ã¯ãã¹ãã©ãããã©ãŒã éçº: WindowsãLinuxãmacOS ã®ããªããžã³ã°
WindowsãLinuxãmacOS ã«ããããœãããŠã§ã¢ã®æ Œå·®ãåããããã®æŽå¯ãåŸãããšã§ãX86-64 ã¢ãŒããã¯ãã£ã§ã®ã¯ãã¹ãã©ãããã©ãŒã éçºã®åŸ®åŠãªéããæ¢ããŸãã

X86-64 ã¢ãŒããã¯ãã£: å ±éç¹
X86-64 ã¢ãŒããã¯ãã£ã¯ãx64ãAMD64ãIntel 64 ãšãåŒã°ããããŸããŸãªãã©ãããã©ãŒã ã«ãããææ°ã®ã³ã³ãã¥ãŒãã£ã³ã°ã®åºç€ã§ããåµèšä»¥æ¥ã ãœãããŠã§ã¢éçºã® çµ±äžåãšããŠæ©èœããã¢ããªã±ãŒã·ã§ã³ãäžåºŠäœæããã°ãè€æ°ã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«å±éã§ããããã«ãªããŸããæ¬è³ªçã«ãX86-64 㯠x86 ã¢ãŒããã¯ãã£ã® 64 ãããæ¡åŒµã衚ããWindowsãLinuxãmacOS ãªã©ã®è€æ°ã®ãã©ãããã©ãŒã ãšäºææ§ããããŸãã
äœããããå¯èœã«ããã®ã§ãããã? X86-64 ã¯ãå©çšå¯èœãªèšç®ã¹ããŒã¹ãå¢ããã ãã§ã¯ãããŸããããŸãã倿°ã®æ±çšã¬ãžã¹ã¿ãŒãä»®æ³ããã³ç©çã¡ã¢ãªãŒã®ã¢ãã¬ãã·ã³ã°æ©èœã®å¢å ãé©åã«å©çšããã°ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžã§ããåœä»€ã»ããã®æ¡åŒµãªã©ã®æ°æ©èœãå°å ¥ãããŠããŸãã
ããŒããŠã§ã¢ã®æ©èœã«ã€ããŠã®å ±éã®çè§£ã¯ãX86-64 ã§ã®ã¯ãã¹ãã©ãããã©ãŒã éçºã®äžæ žã«ãããŸããããã«ãããã¡ã¢ãªç®¡çãåæå®è¡æ§ãããã³ I/O æäœã«å¯Ÿããå ±éã®ã¢ãããŒãã容æã«ãªããŸããéçºè ã¯ãX86-64 ã¢ãŒããã¯ãã£ã«ãã£ãŠæäŸãããåäžæ§ãå©çšããŠããã©ãããã©ãŒã éã§é«ãäºææ§ãç¶æããªãããäœã¬ãã«ã§ã³ãŒããæé©åã§ããŸãã
ãã®ã¢ãŒããã¯ãã£ã¯åŸæ¥ã® x86 ã¢ããªã±ãŒã·ã§ã³ãšäºææ§ããããã¢ããªã±ãŒã·ã§ã³ã¯å€§å¹ ãªå€æŽãå ããããšãªãåŸæ¥ã® 32 ããã ã·ã¹ãã ãšææ°ã® 64 ããã ã·ã¹ãã ã®äž¡æ¹ã«å¯Ÿå¿ã§ãããããå¹ åºãåžå Žå±éãä¿èšŒãããŸããéçºè ã¯å€ãã®å Žåããã®ã¢ãŒããã¯ãã£ã䜿çšããŠãããŸããŸãªã·ã¹ãã è² è·ã®äžã§å¹ççã«å®è¡ããå€§èŠæš¡ãªããŒã¿ã»ããã管çããå¿ èŠãããè€éãªãµãŒããŒããã³ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãéçºããŸãã
ãã ãããã®äœæ¥ã«ã¯åŸ®åŠãªç¹ãã€ããã®ã§ããåºç€ãšãªã CPU ã¢ãŒããã¯ãã£ã¯åäžæ§ã®åºç€ãæäŸããŸãããåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãããŒããŠã§ã¢ãšå¯Ÿè©±ããæ¹æ³ã¯ç°ãªããŸãããããã®éãã«ããããã©ãããã©ãŒã ã®ç¬èªã®æ©èœãšå¶éãæ·±ãçè§£ããå¿ èŠããããŸããããšãã°ãã·ã¹ãã ã³ãŒã«ãšãWindows ã® PEãLinux ã® ELFãmacOS ã® Mach-O ãªã©ã®ãã€ããªåœ¢åŒã¯å€§ããç°ãªããéçºè ãã¢ãããŒãã調æŽããå¿ èŠãããéèŠãªé åã§ãã
ããã«ãã³ã³ãã€ã©ããããã¬ãããŒã«ãã§ãŒã³ãªã©ãX86-64 ã¢ãŒããã¯ãã£ãåãå·»ããšã³ã·ã¹ãã ã¯ãã¯ãã¹ãã©ãããã©ãŒã éçºããµããŒãããããã«æçããŸããã GCC ã Clang ãªã©ã®ã³ã³ãã€ã©ã¯ã3 ã€ã®äž»èŠãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãã¹ãŠã§å©çšã§ãããããéçºè ã¯åããœãŒã¹ ã³ãŒããããã©ãããã©ãŒã åºæã®å®è¡å¯èœã³ãŒããçæã§ããŸããããã¯ãéçºããŒã ãç°ãªãã¿ãŒã²ãã ãã©ãããã©ãŒã ã䜿çšããŠããå Žåã§ããå ±åäœæ¥ããŠã³ãŒãããŒã¹ãå ±æã§ããããšãæå³ãããããç¶æ³ã倧ããå€ãããã®ã§ããã
ãã®ã¢ãŒããã¯ãã£ã®æ®éæ§ã«ãããX86-64 ã®ãã¯ãŒãå©çšããŠããã¯ãšã³ã ã·ã¹ãã ãWeb ã¢ããªãã¢ãã€ã« ã¢ããªãçæãã AppMaster ãªã©ã®ã¯ãã¹ãã©ãããã©ãŒã éçºç°å¢ã®å°é ãå¯èœã«ãªããŸããããããã®ç°å¢ã¯ãäžåºŠäœæããã°ã©ãã«ã§ãå±éã§ããããŒã«ãéçºè ã«æäŸããããšã§ãã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢ã®äœæãå€§å¹ ã«ç°¡çŽ åãããœãããŠã§ã¢éçºã®å ±éãã©ãããã©ãŒã ãšããŠã® X86-64 ã¢ãŒããã¯ãã£ã®åœ¹å²ãããã«åŒ·åããŸãã
ã¯ãã¹ãã©ãããã©ãŒã éçºã«ããã課é¡
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ã3 ã€ã®ç°ãªãããã¯ã«å®å šã«é©åããããŒãäœæããããšã«äŒŒãŠããŸãããœãããŠã§ã¢ã WindowsãLinuxãmacOS äžã§ã·ãŒã ã¬ã¹ã«å®è¡ããã«ã¯ãéçºè ã¯åãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®å€æ§ãªãšã³ã·ã¹ãã (OS) ããçãã課é¡ãä¹ãè¶ããå¿ èŠããããŸãã X86-64 ã¢ãŒããã¯ãã£ãåäžãªããŒããŠã§ã¢åºç€ãæäŸãããããéçºè ã®äž»ãªããŒãã«ã¯ããŒããŠã§ã¢ããããœãããŠã§ã¢ã«é¢ä¿ããããšããããããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢éçºã®äž»ãªèª²é¡ã¯æ¬¡ã®ãšããã§ãã
ã·ã¹ãã ã³ãŒã«ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãµãŒãã¹
å OS ã«ã¯ãããŒããŠã§ã¢ãã¡ã¢ãªãããã»ã¹ã管çããããã®ç¬èªã®ã·ã¹ãã API ãšãµãŒãã¹ããããŸãã Windows ã®é¢æ°åŒã³åºãã¯ãLinux ã macOS ã§ã¯ãŸã£ããç°ãªã颿°åŒã³åºããæã€å ŽåããããŸãããããã¯ã颿°åŒã³åºãããŸã£ããååšããªãå ŽåããããŸããããŸããŸãªç°å¢ã«ããã£ãŠæ©èœã確ä¿ããã«ã¯ããããã®ã·ã¹ãã ã¬ãã«ã®å¯Ÿè©±ãæœè±¡åãããœãããŠã§ã¢ãèšèšããããšãéèŠã§ãã

ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ (UI) ã®äžè²«æ§
UI ãã©ãã€ã ã¯ãã©ãããã©ãŒã ã«ãã£ãŠå€§ããç°ãªããŸãã Windows ã¢ããªã±ãŒã·ã§ã³ã¯ãç¬ç¹ã®çŸåŠãèªã macOS ãšã¯ç°ãªãã«ã㯠ã¢ã³ã ãã£ãŒã«ã瀺ãããšããããããŸããã倿°ã®ãã¹ã¯ãããç°å¢ãèæ ®ãããšãLinux ã¯ãã倿§ãªããªãšãŒã·ã§ã³ãæäŸããå¯èœæ§ããããŸããäžè²«æ§ã®ãããã€ãã£ããªå€èгãå®çŸããåãã©ãããã©ãŒã ã§ã®äœ¿ããããã®åºæºãç¶æããããšã¯ãè€éãªå ŽåããããŸãã
ãã¡ã€ã«ã·ã¹ãã ãšãã¹ã®åŠç
ãã¡ã€ã« ã·ã¹ãã ãšãã¹æ§é ã®éãã«ããã倧ããªèª²é¡ãçããŸãã Linux ã§ã¯å€§æåãšå°æåãåºå¥ããããã¡ã€ã« ã·ã¹ãã ãWindows ã§ã¯å€§æåãšå°æåãåºå¥ãããªããã¡ã€ã« ã·ã¹ãã ãããã³ macOS ã§ã¯ãã€ããªãã ã¢ãããŒããåªå ããããããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®å®å®æ§ãæãªãå¯èœæ§ã®ããåé¡ãåé¿ããããã«ãã¡ã€ã«æäœãæ éã«ç®¡çããå¿ èŠããããŸãã
ããã«ãŠã§ã¢ãšãµãŒãããŒãã£ã©ã€ãã©ãªã®äºææ§
å€ãã®ã©ã€ãã©ãªã¯ã¯ãã¹ãã©ãããã©ãŒã éçºã®ãµããŒããç®çãšããŠããŸããããã¹ãŠã®ã©ã€ãã©ãªãåçã«ãµããŒããããŠããããã§ã¯ãªããOS å šäœã§äžè²«ããŠåäœããããã§ããããŸãããããŒã¿ããŒã¹ ãšã³ãžã³ãéä¿¡ãã¬ãŒã ã¯ãŒã¯ãªã©ã®ããã«ãŠã§ã¢ãåã¿ãŒã²ãã ãã©ãããã©ãŒã å ã§ç¢ºå®ã«åäœããããšã確èªããã«ã¯ã峿 Œãªè©äŸ¡ãšãã¹ããå¿ èŠã§ãã
æ§èœèª¿æŽ
ããŸããŸãªæé©åææ³ãã³ã³ãã€ã©ã®åäœã«ãããåãã³ãŒãã§ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã éã§åäœãç°ãªãå ŽåããããŸãããããã¡ã€ãªã³ã°ãšããã©ãŒãã³ã¹ã®ãã¥ãŒãã³ã°ã§ã¯ãå¯èœãªéãæé«ã®ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãå®çŸããããã«ãåãã©ãããã©ãŒã ã®ç¹æ§ã詳现ã«çè§£ããå¿ èŠããããŸãã
ãœãããŠã§ã¢ã®é åžãšæŽæ°ã®ã¡ã«ããºã
ãã©ãããã©ãŒã ãç°ãªãã°ããœãããŠã§ã¢ãé åžããããã®æšæºåœ¢åŒãç°ãªããŸã (Windows ã®å Žå㯠EXE ãŸã㯠MSIãmacOS ã®å Žå㯠DMGãLinux ã®å Žå㯠DEB ãŸã㯠RPM ãªã©ã®ããã±ãŒãž)ãããã«ãæŽæ°ã¡ã«ããºã ã¯ç°ãªããããåã·ã¹ãã ã®ãããã³ã«ãšãŠãŒã¶ãŒã®æåŸ ã«å¿ããæŠç¥ãå¿ èŠã«ãªããŸãã
ãããã®èª²é¡ã«å¯ŸåŠããã«ã¯ãéçºè ã«ã¯æè»æ§ãåµé æ§ãå¿èåãæ±ããããŸãã ElectronãQtãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã©ãããã©ãŒã åºæã®è©³çŽ°ãæœè±¡åããããšã§æ¯æŽã§ããŸãããããã®ããŒã«ã¯å€ãã®è€éãã軜æžã§ããŸãããéçºè ãæ·±ãçè§£ããå¿ èŠãããæœè±¡åã¬ã€ã€ãŒã远å ããŸããããããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®å©äŸ¿æ§ãšç¯å²ã®åºãã«ããããããã®èª²é¡ãå æãã䟡å€ã¯ãããŸãã
ãããã®æè¡çãªããŒãã«ã«å ããŠã1 ã€ã® OS ã«ãã粟éããŠããªãéçºããŒã éã®åŠéçãªã³ãã¥ãã±ãŒã·ã§ã³ãéèŠã§ããéçºè ã¯ã察象ãšãªããã¹ãŠã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ã€ããŠå¹ åºãçè§£ãããã©ãããã©ãŒã åºæã®ãã°ã®äŸµå ¥ãé¿ããããã«ç¶ç¶çã«ã³ãã¥ãã±ãŒã·ã§ã³ããšãå¿ èŠããããŸããããã«ãæ¥çã®æé·ã«ããAppMasterã®ãããªãã©ãããã©ãŒã ãèªçããŸãããããã¯ãç¹ã«å¯Ÿè±¡ãšãããã¹ãŠã® OS ã®å°éç¥èãæããªãããŒã ã«ãšã£ãŠãã¯ãã¹ãã©ãããã©ãŒã éçºã«äŒŽãè€éãã®å€ããæœè±¡åããã®ã«åœ¹ç«ã¡ãŸãã
ã¯ãã¹ãã©ãããã©ãŒã äºææ§ã®ããã®ããŒã«ã®æŽ»çš
ã¯ãã¹ãã©ãããã©ãŒã ã®äºææ§ãå®çŸããã«ã¯ãç¹ã« WindowsãLinuxãmacOS ã«ããã X86-64 ã¢ãŒããã¯ãã£ã察象ãšããå Žåãé©åãªããŒã«ãæãéèŠã§ãããããã®ããŒã«ã¯éçºããã»ã¹ãåçåããåé·æ§ãé²ããæéãšãªãœãŒã¹ãç¯çŽããŸããããã§ã¯ãéçºè ãããŸããŸãªãã©ãããã©ãŒã éã§ã·ãŒã ã¬ã¹ã«æ©èœããã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«åœ¹ç«ã€ããã€ãã®éèŠãªããŒã«ãšã¢ãããŒããæ€èšããŸãã
çµ±åéçºç°å¢ (IDE)
ææ°ã® IDE ã¯åºç¯ãªã¯ãã¹ãã©ãããã©ãŒã ãµããŒããæäŸããå€ãã®å Žåããã©ãããã©ãŒã åºæã®ããŒãºãå¹ççã«ç®¡çããããã®ããŒã«ãè£ åãããŠããŸããããšãã°ã Eclipse ã Visual Studio ãããã³JetBrainsã¹ã€ãŒã ( IntelliJ IDEAãCLionãªã©) ã¯ãæ¡ä»¶ä»ããã¬ãŒã¯ãã€ã³ããç°å¢åºæã®æ§æãªã©ã®æ©èœãæäŸããéçºè ãåäžã®ç°å¢å ã§è€æ°ã®ãã©ãããã©ãŒã çšã®ã³ãŒããç°¡åã«äœæããã³ãããã°ã§ããããã«ããŸãã
ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãª
C++ çšã®Qtã C# çšã®.NET Coreãªã©ã®ã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ã«ãããéçºè ã¯æ¬è³ªçã«ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãOS åºæã®æ©èœãçŽæ¥åŠçããããšã«é¢é£ããè€éãã®å€ããæœè±¡åããåºç¯ãªã©ã€ãã©ãªãæäŸããŸãã
ä»®æ³åãšã³ã³ããå
å Žåã«ãã£ãŠã¯ãç°å¢ã®å€æ§æ§ã«å§åãããããšããããŸããã Docker ãVirtualBoxãªã©ã®ä»®æ³åããã³ã³ã³ããåããŒã«ã䜿çšãããšãã©ã®ãã©ãããã©ãŒã ã§ãäžè²«ããŠå®è¡ãããç°å¢å ã«ã¢ããªã±ãŒã·ã§ã³ãã«ãã»ã«åã§ããŸãããã®ã¢ãããŒãã«ããããèªåã®ãã·ã³ã§åäœãããçå矀ãæå°éã«æããããå±éæé ãæšæºåãããŸãã
ãã«ãããã³äŸåé¢ä¿ç®¡çããŒã«
CMake ã Bazel ãªã©ã®ã¯ãã¹ãã©ãããã©ãŒã ãã«ã ã·ã¹ãã ã¯ãçµ±äžããããã«ã ããã»ã¹ã®ç¶æã«åœ¹ç«ã¡ãä»»æã® X86-64 ã·ã¹ãã ã§ã®ã³ã³ãã€ã«ãå¯èœã«ããŸãã C/C++ ã®ã³ãã³ã .NET ã® NuGet ãªã©ã®äŸåé¢ä¿ç®¡çãã©ãããã©ãŒã ã¯ããã©ãããã©ãŒã ã«äŸåããªãããã±ãŒãžç®¡çããµããŒãããŠããŸããããã¯ãéçºç°å¢ãšéçšç°å¢å šäœã§äžè²«æ§ãç¶æããããã«éèŠã§ãã
ã¹ã¯ãªããèšèªãšã¯ãã¹ã³ã³ãã€ã©ãŒ
Python ã®ãããªã¹ã¯ãªããèšèªã¯ãã³ãŒãããŒã¹ã«æå°éã®å€æŽãå ããã ãã§ãããŸããŸãªãã©ãããã©ãŒã äžã§å®è¡ã§ããã³ããåããŠããŸããäžæ¹ãã¯ãã¹ã³ã³ãã€ã©ãŒã䜿çšãããšãéçºè ã¯ãéçºäžã®ã¿ãŒã²ãã ã·ã¹ãã ãšã¯ç°ãªãã¿ãŒã²ãã ã·ã¹ãã çšã®å®è¡å¯èœã³ãŒããçæã§ãããããã¯ãã¹ãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ç¹ã«æçã§ãã
ããŒãžã§ã³ç®¡çã·ã¹ãã
Gitã®ãããªããŒã«ã¯åã«ããŒãžã§ã³ç®¡çãè¡ãã ãã§ã¯ãããŸããããããã¯ãã¡ã€ã³ ã³ãŒãããŒã¹ããã®çžéãæå°éã«æããªããããã©ãããã©ãŒã åºæã®ã³ãŒãã«å¯Ÿå¿ããå岿Šç¥ããµããŒãããŸãããã« ãªã¯ãšã¹ããšã³ãŒã ã¬ãã¥ãŒããæœåšçãªã¯ãã¹ãã©ãããã©ãŒã äºææ§ã®åé¡ãæµ®ã圫ãã«ããå¯èœæ§ããããŸãã
No-Codeãã©ãããã©ãŒã ã®åœ¹å²
é«åºŠã«å°éåããããœãããŠã§ã¢ã«ã¯å¿ ãããé©ããŠããããã§ã¯ãããŸãããã AppMasterã®ãããªno-codeãã©ãããã©ãŒã ã¯ããã©ãããã©ãŒã åºæã®ã³ãŒãã®è€éããæ·±ãæãäžããããšãªããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãèŠèŠçã«äœæã§ããç°å¢ãæäŸããŸãããã®ãããªãã©ãããã©ãŒã ã¯ãäºææ§ã«é¢ããå€ãã®èª²é¡ãèªåçã«åŠçããããŸããŸãªããžãã¹ ããŒãºã«å®éã«å¿ããæé©åãããããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãçæããŸãã
ã¹ã¯ãªããããã³èªååããŒã«
èªååã¹ã¯ãªããã¯ãç°å¢ã®å·®ç°ã調æŽããäŸåé¢ä¿ã管çãããã«ãã調æŽããŠãã·ãŒã ã¬ã¹ãªã¯ãã¹ãã©ãããã©ãŒã æäœã«è²¢ç®ããŸããããšãã°ãAnsible ã®ãããªããŒã«ã䜿çšãããšãããŸããŸãª OS ã«ããã£ãŠéçºç°å¢ãšæ¬çªç°å¢ã®ã»ããã¢ãããæšæºåã§ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã éçºãæåãããéµã¯ããœãããŠã§ã¢ã®èŠä»¶ãšããŒã ã®ã¯ãŒã¯ãããŒã«åãããŠãããã®ããŒã«ãè³¢æã«äœ¿çšããããšã«ãããŸãããããã®ãŠãŒãã£ãªãã£ã广çã«æŽ»çšãããšãè€æ°ç°å¢ã§ã®å±éã®è€éãã軜æžããããäžåºŠæžãã°ã©ãã§ãå®è¡ã§ããããšããååãäœçŸãããŸãã
ã¯ãã¹ç°å¢ãœãããŠã§ã¢ã®èšèšæŠç¥
WindowsãLinuxãmacOS ãªã©ãããŸããŸãªç°å¢ã§åäœãããœãããŠã§ã¢ãéçºããã«ã¯ãæ éãªæ€èšãå¿ èŠã§ããç®æšã¯ãäžè²«æ§ãä¿ã¡ãªãããåã¿ãŒã²ãã ãã©ãããã©ãŒã ã®åŸ®åŠãªéãã«é©å¿ã§ããã³ã¢æ©èœãåããã¢ããªã±ãŒã·ã§ã³ãäœæããããšã§ãã以äžã¯ãç°å¢ã广çã«æ©æž¡ãããã®ã«åœ¹ç«ã€èšèšæŠç¥ã§ãã
- æåããç§»æ€æ§ãèšç»ãã: ãã©ãããã©ãŒã éã§ç§»æ€å¯èœãªèšèšãå®è£ ããã«ã¯ãäºåã®æ€èšãå¿ èŠã§ãããŸããã¢ããªã±ãŒã·ã§ã³ã«å¿ é ã®æ©èœã®æŠèŠã説æããæ¬¡ã«ã¿ãŒã²ãã ãã©ãããã©ãŒã éã®å ±éç¹ãç¹å®ããŸããå¿ é ã§ãªãéããã©ãããã©ãŒã åºæã®æ©èœã«é床ã«äŸåããªãèšç»ãäœæãããã©ãããã©ãŒã åºæã®ã³ãŒããæ¡ä»¶ä»ãã§äœ¿çšã§ããããã«æºåããŠãã ããã
- ã¯ãã¹ãã©ãããã©ãŒã ã®ããŒã«ãšã©ã€ãã©ãªã䜿çšãã: ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã éã®éããæœè±¡åããããã«èšèšããããã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã掻çšããŸããã°ã©ãã£ã«ã« ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹çšã® Qt ãã¢ããªã±ãŒã·ã§ã³æ§é çšã® .NET Core ãªã© ã®ããŒã«ã䜿çšãããšãããã»ã¹ãå€§å¹ ã«ç°¡çŽ åã§ããŸãããããã®ããŒã«ã¯å€ãã®å Žåãçžäºäºææ§ãéèŠããŠèšèšãããŠããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«é¢ä¿ãªã X86-64 ã¢ãŒããã¯ãã£ã§ç¢ºå®ã«åäœããŸãã
- ãã©ãããã©ãŒã ã«äŸåããªãèšèšååãæ¡çšãã: ãã©ãããã©ãŒã ã®ä»æ§ã«äŸåããªãèšèšååãéµå®ããŸãããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãããžãã¹ ããžãã¯ããåé¢ãããModel-View-Controller (MVC) ãã¿ãŒã³ãªã©ã®ã¯ãªãŒã³ãªã¢ãŒããã¯ãã£ã匷調ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢æ©èœã倿Žããããšãªããåãã©ãããã©ãŒã ã® UI ãç°¡åã«èª¿æŽã§ããããã«ãªããŸãã
- ã¢ãžã¥ãŒã«åéçºã¢ãããŒã: ä»ã®ã³ã³ããŒãã³ãã«åœ±é¿ãäžããããšãªããã³ã³ããŒãã³ããç°¡åã«äº€æãŸãã¯æŽæ°ã§ããã¢ãžã¥ãŒã«åãœãããŠã§ã¢ã®äœæã«éç¹ã眮ããŸãããã®ã¢ãããŒãã«ãããã¢ããªã±ãŒã·ã§ã³ã®äžå€®æäœãäžæããããšãªããå¿ èŠã«å¿ããŠãã©ãããã©ãŒã åºæã®ã¢ãžã¥ãŒã«ã亀æã§ããŸãã
- ãã©ãããã©ãŒã åºæã®æœè±¡å: ãã©ãããã©ãŒã åºæã®æ©èœãŸã㯠API åŒã³åºããçºçããå Žåã¯ãããããæœè±¡åã¬ã€ã€ãŒå ã§ã©ããããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ãšå¯Ÿè©±ããããã®å ±éã€ã³ã¿ãŒãã§ã€ã¹ãäœæãããã®ã€ã³ã¿ãŒãã§ã€ã¹ã®èåŸã§ãã©ãããã©ãŒã åºæã®æ©èœãå®è£ ããããšãæå³ããŸãã
- ãã©ãããã©ãŒã åºæã®ãã¹ãã«ããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI): éçºããã»ã¹ã®åææ®µéã§ CI ã·ã¹ãã ãçµ±åããŸããèªåãã¹ãã¯ãããç°å¢ã§æ©èœãä¿®æ£ãŸãã¯æ¹åããªãããå¥ã®ç°å¢ã§å€æŽã«ãã£ãŠæ©èœãæãªãããŠããªãããšã確èªããããã«éèŠã§ãã CI ã·ã¹ãã ã¯ããã¹ãŠã®ã¿ãŒã²ãã ãã©ãããã©ãŒã ã«ããã£ãŠãã¹ããå®è¡ã§ããå¿ èŠããããŸãã
- 倿§ãª UI/UX èŠç¯ã«åãã: UI ãš UX ã«å¯ŸãããŠãŒã¶ãŒã®æåŸ ã¯ãWindowsãLinuxãmacOS ã®éã§å€§ããç°ãªãå ŽåããããŸããå OS ãæšå¥šãããã¥ãŒãã³ ã€ã³ã¿ãŒãã§ã€ã¹ ã¬ã€ãã©ã€ã³ã®éããèæ ®ããŠãæè»æ§ãèæ ®ããŠèšèšããŸããããã¯ãããŸããŸãªããã²ãŒã·ã§ã³æ§é ãèŠèŠèŠçŽ ããŸãã¯å¯Ÿè©±ã¹ã¿ã€ã«ãæå³ããå¯èœæ§ããããŸãã
- ããŒãžã§ã³ç®¡çãšããã¥ã¡ã³ã: Git ãªã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšããŠãã³ãŒãããŒã¹ã广çã«ç®¡çããŸããç¹ã«ãã©ãããã©ãŒã åºæã®ã³ãŒããæ¡ä»¶ä»ãã§ããã³ãŒãéšåã«ã€ããŠã¯ã培åºçãªããã¥ã¡ã³ããç¶æããŠãã ãããããã«ãããéçºè ã¯ãã©ãããã©ãŒã åºæã®æ±ºå®ã®èåŸã«ããçè«çæ ¹æ ãçè§£ã§ããããã«ãªããŸãã
- æ©èœãã©ã°ãšæ¡ä»¶ä»ãã³ã³ãã€ã«: æ©èœãã©ã°ãšæ¡ä»¶ä»ãã³ã³ãã€ã«ã䜿çšããŠããã©ãããã©ãŒã åºæã®æ©èœã管çããŸãããã®æŠç¥ã¯ãè€æ°ã®ã³ãŒãåå²ãå¿ èŠãšããã«æ©èœã®ãªã³ãšãªããåãæ¿ããã®ã«åœ¹ç«ã¡ãã¡ã³ããã³ã¹ãšãã¹ããç°¡çŽ åããŸãã
ãããã®èšèšæŠç¥ã«åŸããšãã¯ãã¹ãã©ãããã©ãŒã éçºããã»ã¹ãããã¹ã ãŒãºã«ãªããWindowsãLinuxãmacOS å šäœã§ããäžè²«ãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãåŸãããŸãã AppMasterã¯ãã¹ãã©ãããã©ãŒã éçºã®å²åŠãæ¡çšãããã©ãããã©ãŒã ã®äŸãšããŠãããã©ãŒãã³ã¹ãç¶æããç°å¢å šäœã§ã®éçºãä¿é²ããno-codeã¢ãããŒãã§ããã¯ãšã³ã ã·ã¹ãã ãWeb ãµãŒãã¹ãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããæ©ææ§ãšè¿ éãªå±éãæ±ããäŒæ¥ã¯ããã®ãããªé©æ°çãªãœãªã¥ãŒã·ã§ã³ã®æ©æµãåããããšãã§ããŸãã
ãã©ãããã©ãŒã å šäœã«ããããã¹ããšå質ä¿èšŒ
å®å šãªãœãããŠã§ã¢è£œåã WindowsãLinuxãmacOS äžã§é©åã«åäœããããšã確èªããã®ã¯è€éã§ããåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ã¯ãç¬èªã®æ©èœããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãããã³åäœããããŸããéçºè ã¯ãã·ãŒã ã¬ã¹ãªãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãšäžè²«ãããã©ãããã©ãŒã æ©èœãæäŸããããã«ããããã®éããèæ ®ããå¿ èŠããããŸãã
X86-64 ã·ã¹ãã çšã«éçºãããã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢ã®å質ä¿èšŒã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããããåŽé¢ãã«ããŒãããã¹ã ã·ããªãªãèšèšããåºç¯ãªèšç»æ®µéããå§ãŸããŸããããã«ã¯ãåã¿ãŒã²ãã OS ã®ç¹æ§ã«å¯ŸåŠããããã«èª¿æŽãããèªåãã¹ãæŠç¥ãšæåãã¹ãæŠç¥ã®çµã¿åãããå«ãŸããŸãã
èªååãããã¯ãã¹ãã©ãããã©ãŒã ãã¹ã
ã¯ãã¹ãã©ãããã©ãŒã éçºã§ã¯èªåãã¹ããäžå¯æ¬ ã§ãããæåä»å ¥ãªãã§ãã¹ã ã±ãŒã¹ãç¹°ãè¿ãå®è¡ã§ããŸãã Web ã¢ããªã±ãŒã·ã§ã³çšã® Selenium ãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³çšã® Appium ãªã©ã®ããŒã«ã¯ãããŸããŸãªç°å¢ã«ããããœãããŠã§ã¢ãšã®ãŠãŒã¶ãŒæäœãã·ãã¥ã¬ãŒãã§ããŸãã C++ ã® Google Test ã .NET ã¢ããªã±ãŒã·ã§ã³ã® NUnit ãªã©ã®åäœãã¹ã ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãéçºè ã¯ããŸããŸãªã·ã¹ãã äžã§ã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢ ããžãã¯ãæ€èšŒã§ããŸãã
èªåãã¹ããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ã (CI/CD) ãã€ãã©ã€ã³ã«çµ±åãããšããã¹ãŠã®ã³ãŒãã®ã³ãããããã¹ãŠã®ãã©ãããã©ãŒã ã§ãã¹ããããããã«ãªããéçºãµã€ã¯ã«ã®åææ®µéã§åé¡ã匷調衚瀺ãããŸããããã¯ãåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ã¹ã¬ããåŠçãã¡ã¢ãªç®¡çããŸã㯠I/O æäœã®åŸ®åŠãªéãããœãããŠã§ã¢ã®ãã°ã«ã€ãªããå¯èœæ§ããã X86-64 éçºã§ã¯ç¹ã«éèŠã§ãã
ãã©ãããã©ãŒã åºæã®æ©èœã®æåãã¹ã
èªååã«ãã£ãŠå€ãã®ãã°ãæ€åºã§ããäžæ¹ã§ããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã®å質ã確ä¿ããã«ã¯æåãã¹ããäžå¯æ¬ ã§ããããããã®å質㯠WindowsãLinuxãmacOS ã«ãã£ãŠå€§ããç°ãªãå ŽåããããŸããæåãã¹ã¿ãŒã¯ãã°ã©ãã£ãã¯èŠçŽ ãæåŸ ã©ããã§ããããšãããã³ã¯ãŒã¯ãããŒãåãã©ãããã©ãŒã ã§ã¹ã ãŒãºã§çŽæçã§ããããšã確èªããå¿ èŠããããŸãã
åæ§ã«éèŠãªã®ã¯ããã€ãã£ãçµ±åã«ããåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§å€èгãåäœãç°ãªãå¯èœæ§ããããŠã£ãžã§ãããšãã€ã¢ãã°ãè©äŸ¡ããããšã§ããããã§ã¯ãæåãã¹ã¿ãŒãå®çšçãªãã£ãŒãããã¯ãéçºè ã«æäŸããŠãå¿ èŠã«å¿ããŠåãã©ãããã©ãŒã ã® UI ã調æŽã§ããŸãã
ç°ãªããªãã¬ãŒãã£ã³ã° ã·ã¹ãã éã§ã®ããã©ãŒãã³ã¹ ãã¹ã
X86-64 ã¢ãŒããã¯ãã£ã¯ããªãã®ããã©ãŒãã³ã¹èœåãæäŸããŸãããåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã¯ããŒããŠã§ã¢ã®å©ç𿹿³ãç°ãªããŸããã¢ããªã±ãŒã·ã§ã³ãåãã©ãããã©ãŒã ã§ã·ã¹ãã ãªãœãŒã¹ãå¹ççã«å©çšããŠããããšã確èªããã«ã¯ãããã©ãŒãã³ã¹ ãã¹ãã宿œããå¿ èŠããããŸãã
JMeter ã LoadRunner ãªã©ã®ããŒã«ã¯ãããŸããŸãªã¬ãã«ã®è² è·ãã·ãã¥ã¬ãŒãããŠã¹ãã¬ã¹äžã§ã®ãœãããŠã§ã¢ã®åäœãè©äŸ¡ã§ããŸãããŸãããããã¡ã€ã©ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã®éšåã CPU ãŸãã¯ã¡ã¢ãªãæãå€ã䜿çšããŠãããã«ã€ããŠã®æŽå¯ãéçºè ã«æäŸããŸããããã«ãããéçºè ã¯å¿ èŠãªæé©åãè¡ãããšãã§ãããã¹ãŠã®ãã©ãããã©ãŒã ã§äžè²«ããããã©ãŒãã³ã¹ã確ä¿ã§ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã®ä¿¡é Œæ§ã匷åããã»ãã¥ãªãã£ãã¹ã
ã»ãã¥ãªãã£ãžã®åœ±é¿ã¯ãæš©éããã¡ã€ã« ã·ã¹ãã ãOS åºæã®è匱æ§ã®éãã«ããããã©ãããã©ãŒã ã«ãã£ãŠç°ãªãå ŽåããããŸããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«ã€ããŠã¯ãå OS ã§åŸ¹åºçã«ãã¹ãããå¿ èŠããããŸããããã«ã¯ãéçåæããŒã«ãšåçã¢ããªã±ãŒã·ã§ã³ ã»ãã¥ãªã㣠ãã¹ã (DAST) ããŒã«ã䜿çšããŠãã»ãã¥ãªãã£äžã®æ¬ é¥ãç¹å®ããŠä¿®æ£ããããšãå«ãŸããŸãã
äŸµå ¥ãã¹ãã宿œããŠã¢ããªã±ãŒã·ã§ã³ã®é²åŸ¡ã®åŒ±ç¹ãç©æ¥µçã«çºèŠããããšãã§ãããããéçºè ã¯æœåšçãªãã©ãããã©ãŒã åºæã®ãšã¯ã¹ããã€ãã«å¯ŸããŠãœãããŠã§ã¢ã匷åã§ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã 補åã®ãŠãŒã¶ãŒåãå ¥ããã¹ã
補åã宿ãããåã«ãçŸå®äžçã®ã·ããªãªãšå®éã®ãŠãŒã¶ãŒãå«ããŠãŒã¶ãŒåãå ¥ããã¹ã (UAT) ã宿œããããšãäžå¯æ¬ ã§ãã UAT ã¯ã補åãããžãã¹èŠä»¶ãæºããããããããã©ãããã©ãŒã ã«ããã£ãŠãšã³ã ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã確å®ã«åäžããããã«æ¯æŽããŸãã UAT ããã®ãã£ãŒãããã¯ã«ãã£ãŠãéçºãŸãã¯åæãã¹ã段éã§ã¯æããã§ã¯ãªãã£ããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã®åé¡ãæ©èœã®ã®ã£ãããæããã«ãªãããšããããããŸãã
äºææ§ãã¹ãã¯ãããŸããŸãªç°å¢ã§ãœãããŠã§ã¢ãæ£ããæ©èœããããšã確èªããããšã«éç¹ã眮ãã UAT ã®äžéšã§ããããã«ã¯ãããŸããŸãªåšèŸºæ©åšãä»ã®ãœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³ãããã³ããŸããŸãªãããã¯ãŒã¯æ§æã§ã®åäœã®æ€èšŒãå«ãŸããŸãã
ããŒã«ãªãŒãŒã·ã§ã³ãšåœéåãã¹ã
ã°ããŒãã«åžå Žã§ã¯ãå€ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯è€æ°ã®èšèªãšå°åèšå®ããµããŒãããå¿ èŠããããŸããããŒã«ãªãŒãŒã·ã§ã³ããã³åœéåãã¹ãã«ããããœãããŠã§ã¢ãããŸããŸãªèšèªãéè²šãæ¥ä»åœ¢åŒãããã³æåçèŠç¯ã«æ£ããé©å¿ããŠããããšã確èªãããŸãããã®ãã¹ãã§ã¯ããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ããããã¥ã¡ã³ãã«è³ããŸã§ããœãããŠã§ã¢ã®ãã¹ãŠã®åŽé¢ããŠãŒã¶ãŒã®ãã±ãŒã«èšå®ã«åºã¥ããŠé©åã«åäœãããã©ããããã§ãã¯ããŸãããã±ãŒã«èšå®ã¯ãWindowsãLinuxãmacOS éã§å€§ããç°ãªãå ŽåããããŸãã
X86-64 ã·ã¹ãã äžã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããšå質ä¿èšŒã«ã¯ãèªåãã¹ããšç¶¿å¯ãªæåãã¹ããçµã¿åãããå æ¬çãªæŠç¥ãå¿ èŠã§ããé©åãªããŒã«ãšå®è·µæ¹æ³ãå©çšããããšã§ãéçºè ã¯ãã©ãããã©ãŒã ã«é¢ä¿ãªããã¢ããªã±ãŒã·ã§ã³ãé«å質ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ã®æšæºãç¶æã§ããããã«ãªããŸãã
ãããã€ã¡ã³ããšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ã (CI/CD)
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ãšç¶ç¶çãããã€ã¡ã³ã (CD) ã®å®è·µã¯ãã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢éçºã«ãããŠéåžžã«éèŠã§ãã CI/CD æŠç¥ã¯ãããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãããã¢ããªã±ãŒã·ã§ã³ã®å¹ççãªå±éãä¿é²ãããšåæã«ããœãããŠã§ã¢ãå®è¡ãããŠãããã©ââãããã©ãŒã ã«é¢ä¿ãªãããœãããŠã§ã¢ã®åå埩ãé«å質ã®åºæºãç¶æããããšãä¿èšŒããŸããèšå€§ãªçš®é¡ã® WindowsãLinuxãmacOS ãã·ã³ãå«ã X86 ïœ 64 ã·ã¹ãã ã«çŠç¹ãåœãŠãå Žåã匷å㪠CI/CD ãã€ãã©ã€ã³ã«ãããåãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãžã®å±éã®è€éããå€§å¹ ã«è»œæžãããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®å®è£
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã§ã¯ããã¹ãŠã®éçºè ã®äœæ¥ã³ããŒã 1 æ¥ã«æ°åãå ±æã¡ã€ã³ã©ã€ã³ã«ããŒãžããå¿ èŠããããŸãããã®å®è·µã¯ãã³ãŒãããŒã¹ã®ãã©ãããã©ãŒã åºæã®å€æŽããçºçããå¯èœæ§ã®ããåé¡ãæ©æã«æ€åºã§ãããããã¯ãã¹ãã©ãããã©ãŒã éçºãæ±ãå Žåã«ç¹ã«éèŠã§ããé »ç¹ã«çµ±åããããšã§ãç¹å®ã®ãã©ãããã©ãŒã äžã§ã®ã¢ããªã±ãŒã·ã§ã³ã®æ©èœç¶æ ãã倧ããéžè±ãããçµ±åã®ãã°ãè¿ éã«çºèŠã§ããããã«ãªããŸãã
çµ±åã«ãããèªååããããã«ãããã³ãã¹ã ã·ãŒã±ã³ã¹ãããªã¬ãŒãããå¿ èŠããããŸããããšãã°ãWindows ã§ã¯ãMSBuild ãŸã㯠PowerShell ã¹ã¯ãªããã䜿çšããŠã³ãŒããã³ã³ãã€ã«ãããã¹ããå®è¡ã§ããŸãã Linux ãš macOS ã§ã¯ãmake ãããŒã«ãšããŠéžæãããããšãããã°ãCMake ã Bazel ãªã©ã®ãã©ãããã©ãŒã ã«äŸåããªãã·ã¹ãã ãå©çšããããšãã§ããŸãã CI ã䜿çšãããšããœãŒã¹ ã³ãŒã ãªããžããªå ã§è¡ããããã¹ãŠã®ã³ããããèªåçã«æ§ç¯ããã³ãã¹ããããéçºã®åææ®µéã§ éçºããŒã ã«åé¡ãèŠåããŸãã
ç¶ç¶çãªå°å ¥ã®ä¿é²
ç¶ç¶çãããã€ã¡ã³ãã«ãããæ€èšŒãããã³ãŒãã®ãªããžããªãžã®ãªãªãŒã¹ããŸãã¯é¡§å®¢ãžã®çŽæ¥ãªãªãŒã¹ãèªååãããŸãã WindowsãLinuxãmacOS ã§ã¯ãããã±ãŒãžç®¡çã·ã¹ãã ããŠãŒã¶ãŒã®æåŸ ãç°ãªããããå±éæŠç¥ã¯å€§ããç°ãªããŸããããšãã°ããœãããŠã§ã¢ã¯ãWindows ã§ã¯ EXE ãŸã㯠MSI ãã¡ã€ã«ãšããŠãLinux ã§ã¯ DEB ãŸã㯠RPM ããã±ãŒãžãšããŠããŸã㯠macOS ã§ã¯ DMG ãšããŠé åžãããå ŽåããããŸããè€æ°ã®ç°å¢åãã®ãœãããŠã§ã¢ã®ããã±ãŒãžåãšé åžã«å¯Ÿå¿ããå°å ¥ããŒã«ãå©çšãããšããããã®æé ã調åãããã®ã«åœ¹ç«ã¡ãŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®å Žåãã³ã³ããåãå©çšããŠå±éãç°¡çŽ åã§ããŸãã Docker ã®ãããªãœãªã¥ãŒã·ã§ã³ã¯ãã¢ããªã±ãŒã·ã§ã³ãšãã®ç°å¢ãã«ãã»ã«åããŠãã¢ããªã±ãŒã·ã§ã³ãã©ãã«ãããã€ãããŠãããã«é¢ä¿ãªããåãããã«å®è¡ã§ããããã«ããŸãã X86-64 ã¢ãŒããã¯ãã£ã®å Žåãã¢ããªã±ãŒã·ã§ã³ã®ã©ã³ã¿ã€ã ã®äžè²«ããç°å¢ãä¿é²ããªãããDocker ã€ã¡ãŒãžãã¿ãŒã²ãã ã·ã¹ãã ãšäºææ§ãããããšã確èªããå¿ èŠããããŸãã
ã¯ã©ãŠããµãŒãã¹ãšã®çµ±å
JenkinsãTravis CIãGitLab CIãGitHub Actions ãªã©ã®ãµãŒãã¹ãæ§æããŠãè€æ°ã®ãã©ãããã©ãŒã ã«ãããã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ããã¹ãããããã€ã®ããã»ã¹ãèªååã§ããŸãããŸããããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãã·ãã¥ã¬ãŒãã§ããã¯ã©ãŠã ããŒã¹ã®ãã«ãããã³ãã¹ãç°å¢ãæäŸããŸããããã¯ãã¯ã©ãŠã ãµãŒãã¹ã«ããã X86-64 ã¢ãŒããã¯ãã£ã®æ®åãèæ ®ãããšç¹ã«äŸ¿å©ã§ãããããã®ããŒã«ã䜿çšãããšãã³ãŒãããŒã¹ãã³ã³ãã€ã«ãã察象ãšãªããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ããŸããŸãªããŒãžã§ã³ã«å¯ŸããŠãã¹ããããããªãã¯ã¹ ãã«ããã»ããã¢ããã§ããŸãã
AppMasterã® ããŒã³ãŒã ãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ãCI/CD ããã»ã¹ã¯ããã«å¹ççã«ãªããŸãããœãŒã¹ ã³ãŒããçæããã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ãããã©ãããã©ãŒã ã®æ©èœã«ããã éçºã©ã€ããµã€ã¯ã« ãè¿ éåãããéçºè ã¯ããžãã¯ãšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã®å®æã«æéãéäžã§ããããã«ãªããŸãã AppMasterã®æ©èœã掻çšããããšã§ãããŒã ã¯ãœãããŠã§ã¢ã®ãã«ããšãããã€ã¡ã³ããèªååããããã®ããã«äœ¿ãããœãªã¥ãŒã·ã§ã³ãå©çšã§ããŸããããã¯ãããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ããããããã€ã¡ã³ããåŠçããå Žåã«ç¹ã«æçã§ãã
èªåãã¹ãæé ã®æŽ»çš
èªåãã¹ãã¯ãé©åã«èšå®ããã CI/CD ãã€ãã©ã€ã³ã«ãããŠæ¥µããŠéèŠãªåœ¹å²ãæãããŸãããœãããŠã§ã¢ã察象ãšãããã©ãããã©ãŒã ã®ç¯å²ãã«ããŒããããã«ãã¹ããèæ¡ããå¿ èŠããããŸããã·ã¹ãã åºæã®æŽæ°ã倿Žã«ãã£ãŠæ©èœãäžæãããªãããã«ãåäœãã¹ããçµ±åãã¹ããUI ãã¹ãããšã³ãããŒãšã³ã ãã¹ããçµã¿åãããŠå®æœããå¿ èŠããããŸããä»®æ³ãã·ã³ãŸãã¯ãšãã¥ã¬ãŒã¿ã¯ããã¹ãäžã«ããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ç°å¢ãã·ãã¥ã¬ãŒãã§ããŸããããã¯ãå®éã®ããŒããŠã§ã¢ã§ã®ãã¹ãã«ä»£ãããã®ã§ã¯ãããŸããããåé¡ãæ©æã«æ€åºããããã®é«éãã€ã¹ã±ãŒã©ãã«ãªã¢ãããŒããæäŸããŸãã
ãããã®å±éãš CI/CD ã®å®è·µãæ¡çšããããšã§ãX86-64 ã¢ãŒããã¯ãã£ã§ã®ã¯ãã¹ãã©ãããã©ãŒã éçºã¯ãææ°ã®ãœãããŠã§ã¢éçºããã»ã¹ã§èŠæ±ãããè¿ éãªé ä¿¡ãšé«å質ã®åºæºãæºããããšãã§ããŸããããã«ãããã¢ããããŒããæ°æ©èœãé »ç¹ãã€ç¢ºå®ã«ãªãªãŒã¹ã§ããããã«ãªããWindowsãLinuxãmacOS ãã©ãããã©ãŒã å šäœã§ã·ãŒã ã¬ã¹ã§äžè²«ãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãä¿èšŒãããŸãã
X86-64 ã·ã¹ãã ã®ããã©ãŒãã³ã¹ã®æé©å
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã x86-64 ã·ã¹ãã ã«å±éããå Žåãæé©ãªããã©ãŒãã³ã¹ãéæããã«ã¯ãæ±çšæŠç¥ãšãã©ãããã©ãŒã åºæã®æŠç¥ãæ éã«çµã¿åãããå¿ èŠããããŸãããã®ã¢ãŒããã¯ãã£ã¯ãã»ãšãã©ã® WindowsãLinuxãmacOS ç°å¢ã®ããã¯ããŒã³ã§ããããœãããŠã§ã¢éçºã®ããã®ããªã¢ã¬ã¹åºç€ãæäŸããŸãããã ããéçºè ã¯ããã® CPU ã¢ãŒããã¯ãã£ããæå€§ã®ããã©ãŒãã³ã¹ãåŒãåºãããã«ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã éã®éãã«æ³šæããå¿ èŠããããŸãã
æé©åã«åããæåã®ã¹ãããã® 1 ã€ã¯ãx86-64 ã¢ãŒããã¯ãã£ãšãã®æ©èœ (ãã倧ããªã¬ãžã¹ã¿ã远å ã¬ãžã¹ã¿ãã¹ããªãŒãã³ã° SIMD æ¡åŒµæ©èœ (SSE) ãã¢ããã³ã¹ã ãã¯ãã«æ¡åŒµæ©èœ (AVX) ãªã©ã®åœä»€ãªã©) ã培åºçã«çè§£ããããšã§ãããããã®æ©èœã掻çšããããã«ã³ãŒããé©åã«æé©åãããŠããå Žåãããããå©çšããŠèšç®èœåã匷åã§ããŸãã
ã³ã³ãã€ã«ã¯ãæé©åãããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããã 1 ã€ã®åŽé¢ã§ããã³ã³ãã€ã©èšå®ãšæé©åãã©ã°ã調æŽããããšã¯åãã©ãããã©ãŒã ã«ãšã£ãŠäžå¯æ¬ ã§ãããããã¯ã³ãŒããããŒããŠã§ã¢ãšã©ã®ããã«å¯Ÿè©±ãããã«åœ±é¿ãäžããå¯èœæ§ããããŸããããšãã°ãGCC ãš Clang ã¯æé©åã®ããã®ããŸããŸãªãã©ã°ãæäŸããŠãããMicrosoft ã® Visual Studio ã«ã¯ Windows ã®è€éãã«åãããŠèª¿æŽãããã³ã³ãã€ã©ããããŸãã
ã¡ã¢ãªç®¡çãåæ§ã«éèŠã§ããã¹ã¿ãã¯ãšããŒãã广çã«äœ¿çšãããã£ãã·ã¥ã®äœ¿çšç¶æ³ãçè§£ãããã£ãã·ã¥æ±æãåé¿ããããšã¯ãããã©ãŒãã³ã¹ã®åäžã«åœ¹ç«ã¡ãŸãã Valgrind for LinuxãInstruments for macOSãPerformance Monitor for Windows ãªã©ã®ãããã¡ã€ãªã³ã° ããŒã«ã¯ãã¡ã¢ãªäœ¿çšã«é¢é£ããããã«ããã¯ã®çºèŠã«åœ¹ç«ã¡ãŸãã
éçºè ã¯ãåã ã®ããŒã«ããã©ãããã©ãŒã ã®ç¹æ®æ§ãè¶ ããŠãããã©ãŒãã³ã¹ã念é ã«èšèšãããã¯ãã¹ãã©ãããã©ãŒã ã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãæ¡çšã§ããŸããããšãã°ãBoost ã©ã€ãã©ãª ã³ã¬ã¯ã·ã§ã³ã¯ãx86 ïœ 64 ã·ã¹ãã çšã«æé©åãããããŒã¿ãã« ã³ã³ããŒãã³ããæäŸãããã©ãããã©ãŒã åºæã®ããã©ãŒãã³ã¹ ãã¥ãŒãã³ã°ã®å€ããæœè±¡åããŸãã
åæå®è¡æ§ãšãã«ãã¹ã¬ããåŠçã仿¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠæãéèŠã§ãããx86-64 ã·ã¹ãã ã¯ãã®ãããªäžŠååŠçã匷åã«ãµããŒãããŸãã Unix ããŒã¹ã®ã·ã¹ãã ã® POSIX ã¹ã¬ãã (pthread) ã Windows ã® Win32 ã¹ã¬ãããªã©ã®ã¹ã¬ãã ã©ã€ãã©ãªãå©çšããããšã§ãéçºè ã¯è€æ°ã® CPU ã³ã¢ãæå€§éã«æŽ»çšãããœãããŠã§ã¢ãæ§ç¯ã§ããŸãã
æåŸã«ãå®çŸå¯èœãªå Žåã«ã¯ããã³ããŒåºæã®æé©åã远æ±ãã䟡å€ããããŸãã Intel ã®ãã¹ ã«ãŒãã« ã©ã€ãã©ãª (MKL) ã AMD ã®ããã©ãŒãã³ã¹ ã©ã€ãã©ãªãªã©ã¯ãããããã®ããŒããŠã§ã¢ã®æ©èœãæå€§éã«æŽ»çšããŠããŸããåžžã«ç§»æ€å¯èœã§ãããšã¯éããŸãããããã©ãããã©ãŒã åºæã®å±éã蚱容ãããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãé倧ãªããã©ãŒãã³ã¹åäžãå®çŸã§ããŸãã
æé©åã¯å埩çãªããã»ã¹ã§ããããšãåžžã«å¿µé ã«çœ®ããŠãã ãããç¶ç¶çãªãããã¡ã€ãªã³ã°ããã³ãããŒã¯ããã¹ãã«ããããœãããŠã§ã¢éçºè ã¯æ®µéçãªæ¹åãè¡ãããšãã§ããæéã®çµéãšãšãã«ãx86-64 ã·ã¹ãã äžã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããŸããããã«ã AppMasterã®ãããªãã©ãããã©ãŒã ã¯ãè€æ°ã®ãã©ãããã©ãŒã ã«ãããããã©ãŒãã³ã¹ã®èæ ®äºé ãæ¬è³ªçã«èæ ®ããé«åºŠãªno-codeãœãªã¥ãŒã·ã§ã³ãæäŸããéçºã©ã€ã ãµã€ã¯ã«ã«ãããªãå¹çæ§ã远å ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã éçºã«ãããæ°ããªãã¬ã³ã
ã¯ãã¹ãã©ãããã©ãŒã éçºã®é åã¯ãæ°ããªãã¯ãããžãŒãšãŠãŒã¶ãŒã®æåŸ ã®å€åã«ãã£ãŠåžžã«é²åããŠããŸãã X86-64 ã¢ãŒããã¯ãã£äžã® WindowsãLinuxãmacOS ã§ã·ãŒã ã¬ã¹ã«åäœãããœãããŠã§ã¢ãæ§ç¯ããã³ä¿å®ããããšãç®æãéçºè ã«ãšã£ãŠããããã®ãã¬ã³ããåžžã«ææ¡ããããšã¯éåžžã«éèŠã§ãã以äžã¯ãã¯ãã¹ãã©ãããã©ãŒã éçºã®å°æ¥ã圢äœãæå 端ã®ãã¬ã³ãã®äžéšã§ãã
ã¯ã©ãŠãããŒã¹ã®éçºç°å¢ã®æ¡çšã®å¢å
GitHub Codespaces ãAWS Cloud9 ãªã©ã®ã¯ã©ãŠãããŒã¹ã®éçºç°å¢ã¯ãã¯ãã¹ãã©ãããã©ãŒã ãããžã§ã¯ãã®éçºè ã®éã§æ³šç®ãéããŠããŸãããããã®ç°å¢ã¯ãã€ã³ã¿ãŒãããæ¥ç¶ãåããã©ã®ã·ã¹ãã ããã§ãã¢ã¯ã»ã¹ã§ãããçµ±åãããéçºãšã¯ã¹ããªãšã³ã¹ãæäŸããŸããããŒã«ã« ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããç¬ç«ããŠæ©èœãããããã³ãŒããç°ãªããã©ãããã©ãŒã éã§äžè²«ããŠåäœããããšãä¿èšŒãããŸãã
ããã°ã¬ãã·ã Web ã¢ã㪠(PWA) ã®å°é
äŒæ¥ãå€ãã®ããã€ã¹ã®ãŠãŒã¶ãŒã«ãªãŒãããããšããäžãWeb ãã©ãŠã¶ãŒã§ãã€ãã£ãã«è¿ãã¢ã㪠ãšã¯ã¹ããªãšã³ã¹ãæäŸã§ãã ããã°ã¬ãã·ã Web ã¢ã㪠(PWA) 㮠人æ°ãé«ãŸã£ãŠããŸãã PWA ã¯ãææ°ã® Web API ãšåŸæ¥ã®é²æ©çãªæ¡åŒµæŠç¥ã掻çšããŠãããŸããŸãªãã©ãããã©ãŒã éã§ã®äºææ§ãšæ©èœã®åçæ§ãä¿èšŒããŸãã
ã³ã³ããåãšãã€ã¯ããµãŒãã¹
Docker ã Kubernetes ãªã©ã®ã³ã³ããåãã¯ãããžã¯ãã¯ãã¹ãã©ãããã©ãŒã é åã§æ¡å€§ããŠããŸããéçºè ã¯ãå¿ èŠãªãã€ããªãã©ã€ãã©ãªãæ§æãã¡ã€ã«ããã¹ãŠå«ãã³ã³ããã«ã¢ããªã±ãŒã·ã§ã³ãã«ãã»ã«åããããšã§ãåºç€ãšãªãã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢ä¿ãªããœãããŠã§ã¢ãåäžã«å®è¡ãããããšãä¿èšŒã§ããŸãã
ãã©ãããã©ãŒã ã«äŸåããªããã¬ãŒã ã¯ãŒã¯ãšèšèª
ã¢ãã€ã«åãã® Flutter ããã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³åãã® Electron ãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã¯ãåäžã®ã³ãŒãããŒã¹ã䜿çšããŠè€æ°ã®ãã©ãããã©ãŒã ãã¿ãŒã²ããã«ã§ããããããŸããŸã人æ°ãé«ãŸã£ãŠããŸããåæã«ãRust ã Go ãªã©ã®ãã©ãããã©ãŒã ã«äŸåããªãèšèªã¯ããã®ããã©ãŒãã³ã¹ãä¿¡é Œæ§ãã¯ãã¹ãã©ãããã©ãŒã æ©èœã«ãããã·ã¹ãã ã¬ãã«ã®ããã°ã©ãã³ã°ã§äººæ°ãé«ãŸã£ãŠããŸãã
AI ãšæ©æ¢°åŠç¿ã®çµ±å
人工ç¥èœ (AI) ããã³æ©æ¢°åŠç¿ (ML) ã©ã€ãã©ãªã¯ãã¯ãã¹ãã©ãããã©ãŒã äºææ§ã念é ã«çœ®ããŠæ§ç¯ãããããšãå¢ããŠããŸããã¢ããªã±ãŒã·ã§ã³éçºã«ãã㊠AI/ML ã®çµ±åãããæ®åããã«ã€ããŠããããã®ã©ã€ãã©ãªã®ã¯ãã¹ãã©ãããã©ãŒã ãµããŒãã®å¿ èŠæ§ãäžå¯æ¬ ã«ãªããŸããããšãã°ãTensorFlowãPyTorchãScikit-learn ã¯ãäž»èŠãª OS ãã©ãããã©ãŒã ã§ç°¡åã«å©çšã§ããããã«ãªããŸããã
é«åºŠãªä»®æ³åãã¯ãããžãŒ
QEMU ãVirtualBoxãªã©ã®ä»®æ³åãã¯ãããžã䜿çšãããšãéçºè ãäž»èŠãªéçºç°å¢å ã§ããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãã¢ãŒããã¯ãã£ããšãã¥ã¬ãŒãã§ãããããã¯ãã¹ãã©ãããã©ãŒã éçºã®ããã»ã¹ãç°¡çŽ åãããŸããããã«ãããåå¥ã®ç©çãã·ã³ãå¿ èŠãšããã«ãè€æ°ã®ãã©ãããã©ãŒã ã«ããããã¹ããšãããã°ã容æã«ãªããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã«ããã DevOps ãšèªåå
DevOps ã® å®è·µãšèªååããŒã«ã¯ãã¯ãã¹ãã©ãããã©ãŒã éçºã®è€éãã«å¯ŸåŠããããã«èª¿æŽãããŠããŸãã Jenkins ã GitHub Actions ãªã©ã® CI/CD ãã©ãããã©ãŒã ã®æé·ã«äŒŽããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ããã¹ãããããã€ã®èªååãããæŽç·ŽããããªãªãŒã¹é »åºŠãšä¿¡é Œæ§ãåäžããŸããã
æšæºåãšãªãŒãã³ãœãŒã¹ã®ã³ã©ãã¬ãŒã·ã§ã³
ã¯ãã¹ãã©ãããã©ãŒã éçºã«ãããæçåãæžããããã«ãéçºããŒã«ãã§ãŒã³ãšã©ã€ãã©ãªã®æšæºåãåŒ·ãæšé²ãããŠããŸãããªãŒãã³ ãœãŒã¹ ãœãããŠã§ã¢ (OSS) éåãªã©ã®åãçµã¿ã¯ãã³ãã¥ããã£äž»å°ã®éçºã奚å±ããããšã§ããã«è²¢ç®ããããŸããŸãªã·ã¹ãã éã§ã®äºææ§ãšçžäºéçšæ§ãä¿é²ããŸãã
ã»ãã¥ãªãã£ã®åŒ·å
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãäžè¬çã«ãªãã«ã€ããŠãã»ãã¥ãªãã£ã®åé¡ã¯ããã«è€éã«ãªããŸããç¹ã«ãã©ãããã©ãŒã åºæã®è匱æ§ã«å¯ŸåŠããããã«ãã¢ããªã±ãŒã·ã§ã³éçºã©ã€ããµã€ã¯ã«ã®äžæ žã³ã³ããŒãã³ããšããŠã»ãã¥ãªãã£ãçµ±åããåŸåãé«ãŸã£ãŠããŸãã OWASPã® Zap ãªã©ã®ããŒã«ããã©ãããã©ãŒã åºæã®ã¬ã€ãã©ã€ã³ã¯ããã®ãããªãªã¹ã¯ãç¹å®ããŠè»œæžããäžã§æ¥µããŠéèŠã§ãã
ãããã®æ°ããªãã¬ã³ãã¯ãã¯ãã¹ãã©ãããã©ãŒã éçºã®åçãªæ§è³ªã匷調ããŠããŸããæ¥çã鲿©ããã«ã€ããŠããããã®ãã¬ã³ãã广çã«æŽ»çšããããšããé¢é£æ§ãç¶æããã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®æåã確å®ã«ããäžã§éèŠãªåœ¹å²ãæããå¯èœæ§ããããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãç¶æããããã®ãã¹ã ãã©ã¯ãã£ã¹
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãå¹ççã«ç¶æããããšã¯ãã¢ããªã±ãŒã·ã§ã³ãè¯å¥œãªããã©ãŒãã³ã¹ãç¶ç¶ãããµããŒããããŠãããã¹ãŠã®ãã©ãããã©ãŒã ã§ã·ãŒã ã¬ã¹ãªãšã¯ã¹ããªãšã³ã¹ãæäŸããããã®éµãšãªããŸãã WindowsãLinuxãmacOS ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®é·æä¿å®ã®ããã«èæ ®ãã¹ããã¹ã ãã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãã
ã³ãŒãã®åå©çšæ§ãšã¢ãžã¥ãŒã«æ§ãéèŠãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãç¶æããããã®åºæ¬ååã® 1 ã€ã¯ãã³ãŒãããŒã¹ãã¢ãžã¥ãŒã«åããŠããããšã§ãããã©ãããã©ãŒã åºæã®ã³ãŒãããã©ãããã©ãŒã ã«äŸåããªãã³ãŒãããåé¢ããŸãããã®ã¢ãããŒãã«ãããã·ã¹ãã å šäœã«åœ±é¿ãäžããããšãªããåãã©ãããã©ãŒã ã®ã³ãŒãã®ç®¡çãšæŽæ°ã容æã«ãªããŸãã
åäžã®çå®ã®æ å ±æºãè²æãã
ã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªç°å¢ã«åãããŠèª¿æŽããå Žåã§ããã³ã¢ ããžãã¯ãäžå åããããšã§äžè²«æ§ã確ä¿ãããŸããå¯èœãªå Žåã¯ã³ãŒãããŒã¹ã®åäžãªããžããªãç¶æãããã©ã³ããŸãã¯ãã©ã°ã䜿çšããŠãã©ãããã©ãŒã éã®å·®ç°ãåŠçããŸãããã®æŠç¥ã«ãããéè€ãæå°éã«æããããã¡ã³ããã³ã¹ã®åé¡ã«ã€ãªããå¯èœæ§ã®ããäžäžèŽã®å¯èœæ§ãæå°éã«æããããŸãã
æ¡ä»¶ä»ãã³ã³ãã€ã«ãå©çšãã
ãã©ãããã©ãŒã åºæã®æ©èœãå¿ èŠãªå Žåãæ¡ä»¶ä»ãã³ã³ãã€ã«ã¯äŸ¿å©ãªææ³ã§ãã C# ã C++ ãªã©ã®èšèªã«ã¯ãã¿ãŒã²ãã ãã©ãããã©ãŒã ã«åºã¥ããŠã³ãŒããéžæçã«ã³ã³ãã€ã«ã§ããããªããã»ããµ ãã£ã¬ã¯ãã£ããçšæãããŠããŸãããã®æ¹æ³ã«ããããã«ã ããã»ã¹äžã«ç¹å®ã®ã³ãŒã ãã¹ãå«ãããé€å€ãããããããšãç°¡åã«ãªããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã®ãã¬ãŒã ã¯ãŒã¯ãšããŒã«ã«æè³ãã
ããã«äœ¿ããã¯ãã¹ãã©ãããã©ãŒã ã®ãµããŒããæäŸãããã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãããŒã«ãéžæããŠãã ããã Xamarin ã Qt ã .NET Core ãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã©ãããã©ãŒã åºæã®å€ãã®éããå éšã§åŠçããªãããè€æ°ã®ãã©ãããã©ãŒã éã§ã®ã³ãŒãã®å ±æã容æã«ããŸãã
ç°å¢å šäœã§ã®ãã¹ãã®èªåå
广çãªã¡ã³ããã³ã¹ãè¡ãã«ã¯ããã¹ãŠã®ã¿ãŒã²ãã ãã©ãããã©ãŒã ãã«ããŒããèªåãã¹ã ãã¬ãŒã ã¯ãŒã¯ãå®è£ ããŸãã Selenium ã Appium ãä»®æ³åãã¹ãç°å¢ãªã©ã®ããŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãäžè²«ããŠåäœããããšãæ€èšŒããæŽæ°ãé©çšããããšãã«ãªã°ã¬ãã·ã§ã³ãè¿ éã«æ€åºããã®ã«åœ¹ç«ã¡ãŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çãããã€ã¡ã³ã (CI/CD)
CI/CD ã®å®è·µã¯ãã¯ãã¹ãã©ãããã©ãŒã ã®ã¡ã³ããã³ã¹ã«äžå¯æ¬ ã§ãããã«ããšå±éã®ããã»ã¹ãèªååããŠã倿Žããã¹ãããŠãã¹ãŠã®ãã©ãããã©ãŒã ã«è¿ éã«å±éã§ããããã«ããŸãããã®ã¢ãããŒãã¯ãã¢ããªã±ãŒã·ã§ã³ãåžžã«ææ°ã®ç¶æ ã«ä¿ã¡ãæ°æ©èœããã°ä¿®æ£ã®åžå Žæå ¥ãŸã§ã®æéãççž®ããã®ã«åœ¹ç«ã¡ãŸãã
ãã©ãããã©ãŒã åºæã®èæ ®äºé ãææžåãã
ãã©ãããã©ãŒã åºæã®åäœãšãå®è£ ãããŠããåé¿çãç¹å¥ãªèæ ®äºé ã«é¢ããè©³çŽ°ãªææžãä¿ç®¡ããŠãã ãããåªããããã¥ã¡ã³ãã¯ãæ°ããéçºè ããªã³ããŒãã£ã³ã°ããããç¹å®ã®èšèšäžã®æ±ºå®ã®èåŸã«ããçç±ã远跡ãããããã®ã«éåžžã«è²Žéã§ãã
ãã©ãããã©ãŒã éçºã®ææ°æ å ±ãå ¥æãã
ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã¯é²åãããããäºææ§ãç¶æããã«ã¯ãææ°ã®ã¢ããããŒããéæšå¥šã®æ©èœã«é¢ããæ å ±ãåžžã«å ¥æããããšãéèŠã§ãããã©ãããã©ãŒã ã®ãªãªãŒã¹ ããŒãã宿çã«ç¢ºèªããæ°ãããã¯ãããžãŒãšãã¹ã ãã©ã¯ãã£ã¹ãåãå ¥ããããã«ã¢ããªã±ãŒã·ã§ã³ã調æŽããŸãã
ã³ãã¥ããã£ãšè²¢ç®è ãšã®é¢ãã
ãã©ãŒã©ã ããŠãŒã¶ãŒ ã°ã«ãŒããåé¡è¿œè·¡ããŒã«ãªã©ã®ãªãŒãã³ãªã³ãã¥ãã±ãŒã·ã§ã³ ãã£ãã«ã掻çšããŸãããŠãŒã¶ãŒ ã³ãã¥ããã£ãè²¢ç®è ãšé£æºããããšã§ãçŽæ¥ã®ãã£ãŒãããã¯ããã° ã¬ããŒããããã«ã¯ã¡ã³ããã³ã¹ã«è²Žéãªã³ãŒãã®è²¢ç®ãæäŸããããšãã§ããŸãã
åæãšã¢ãã¿ãªã³ã°ã掻çšãã
ç£èŠããŒã«ã䜿çšããŠããã©ãããã©ãŒã å šäœã§ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšå®å®æ§ã远跡ããŸããåæã¯ãã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«äœ¿çšãããŠãããã«ã€ããŠã®æŽå¯ãæäŸããæ¹åãŸãã¯æé©åãå¿ èŠãªé åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
AppMasterãã©ãããã©ãŒã èªäœã¯ãã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã³ããã³ã¹ãæ¯æŽã§ããããŒã«ã®äžäŸã§ãã AppMasterã®no-codeæ©èœã«ãããéçºè ã¯åãã©ãããã©ãŒã ã®ããã°ã©ãã³ã°èšèªã SDK ã®åŸ®åŠãªéããæ·±ãæãäžããããšãªãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã³ä¿å®ã§ããããã«ã¹ã±ãŒã©ãã«ã§ããã©ãŒãã³ã¹ãæé©åãããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãç¶æããããã®ãããã®ãã¹ã ãã©ã¯ãã£ã¹ã«åŸãããšã§ãéçºããŒã ã¯å¹çãåäžããããµããŒããããã¹ãŠã®ãã©ãããã©ãŒã ã«ããã£ãŠãœãããŠã§ã¢ã®ä¿¡é Œæ§ãããã©ãŒãã³ã¹ãäžè²«æ§ã確ä¿ã§ããŸãã
ãããã質å
ã¯ãã¹ãã©ãããã©ãŒã éçºãšã¯ãäºææ§ãããããã©ãããã©ãŒã ããšã«åå¥ã®ã³ãŒãããŒã¹ãå¿ èŠãšããã«ãWindowsãLinuxãmacOS ãªã©ã®è€æ°ã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã äžã§å®è¡ã§ãããœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³ãäœæããããã»ã¹ãæããŸãã
X86-64 ã¢ãŒããã¯ãã£ã¯ãéçºè ãåãããã»ããµ ã¢ãŒããã¯ãã£äžã®è€æ°ã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãã¿ãŒã²ããã«ã§ããå ±éã®ããŒããŠã§ã¢ ãã©ãããã©ãŒã ãæäŸããããŒããŠã§ã¢é¢é£ã®èª²é¡ãæžãããŠã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢ã®äœæã容æã«ããŸãã
äž»ãªèª²é¡ã«ã¯ãããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®åäœããã©ãããã©ãŒã éã§äžè²«æ§ã®ãªã APIãããŸããŸãªãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹æšæºã®åŠçãããã³ãã¹ãŠã®ã¿ãŒã²ããç°å¢ã§äžè²«ããããã©ãŒãã³ã¹ãšæ©èœã確ä¿ããããšã®é£ãããå«ãŸããŸãã
éçºãã¬ãŒã ã¯ãŒã¯ (Qtã.NET Core ãªã©)ãã¯ãã¹ãã©ãããã©ãŒã ã©ã€ãã©ãªãDocker ãªã©ã®ã³ã³ããåãã©ãããã©ãŒã ãä»®æ³ãã·ã³ãªã©ã®ããŒã«ã¯ãéçºè ãããŸããŸãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§åäœãããœãããŠã§ã¢ãäœæããã®ã«åœ¹ç«ã¡ãŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã«ã¯ãå€ãã®å Žåãåã¿ãŒã²ãã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§ã®ãœãããŠã§ã¢ã®æ€èšŒãäžè²«ãã UX/UI ã®ç¢ºä¿ããã©ãããã©ãŒã åºæã®æ¡ä»¶ã«ãã£ãŠçºçããå¯èœæ§ã®ããããã©ãŒãã³ã¹ãšã»ãã¥ãªãã£ã®åé¡ã®ãã§ãã¯ãå«ãŸããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çããã〠(CI/CD) ã«ãããããŸããŸãªãã©ãããã©ãŒã ã«ããããœãããŠã§ã¢ã®èªåãã¹ããšãããã€ãå¯èœã«ãªãããªãªãŒã¹ ããã»ã¹ãåçåãããã¢ããããŒããšä¿®æ£ã®è¿ éãªé ä¿¡ãä¿èšŒãããŸãã
æé©åæŠç¥ã«ã¯ããã©ãããã©ãŒã åºæã®ã³ã³ãã€ã©ãŒãšæé©åãã©ã°ã®äœ¿çšãåãã©ãããã©ãŒã ã§ã®ãããã¡ã€ãªã³ã°ãšãã³ãããŒã¯ãSIMD åœä»€ãªã©ã® X86-64 ã¢ãŒããã¯ãã£ãŒã®æ©èœã掻çšããŠããã©ãŒãã³ã¹ãåäžãããããšãå«ãŸããŸãã
ã¯ã©ãŠãããŒã¹ã®éçºç°å¢ãAI ãšæ©æ¢°åŠç¿ã®æ¡çšãä»®æ³åãã¯ãããžãŒã®é²æ©ãªã©ã®æ°ããªãã¬ã³ãã¯ããœãããŠã§ã¢ãæ§ç¯ããã³ç®¡çããããã®æ°ããããŒã«ã𿹿³è«ãæäŸããããšã«ãããã¯ãã¹ãã©ãããã©ãŒã éçºã«åœ±é¿ãäžããŠããŸãã
泚ç®ãã¹ãäŸã® 1 ã€ã¯ãMicrosoft ã«ãã Visual Studio Code ãšãã£ã¿ãŒã®éçºã§ãããã®ãšãã£ã¿ãŒã¯ WindowsãLinuxãmacOS äžã§æ£åžžã«åäœãã3 ã€ã®ãã©ãããã©ãŒã ãã¹ãŠã§äžè²«ãã匷åãªéçºãšã¯ã¹ããªãšã³ã¹ãæäŸããŸãã
ãã¹ã ãã©ã¯ãã£ã¹ã«ã¯ãã³ãŒãããŒã¹ãã¢ãžã¥ãŒã«åããŠåé¢ããç¶æ ã«ä¿ã€ããšãæœè±¡åã¬ã€ã€ãŒãå©çšããããšããã©ãããã©ãŒã åºæã®æŽæ°ã倿Žãææ°ã®ç¶æ ã«ä¿ã€ããšããã©ãããã©ãŒã ã®çžéã«å¯ŸåŠããããã®å æ¬çãªãã¹ãæŠç¥ãæ¡çšããããšãå«ãŸããŸãã


