åçïŒ ã€ã¯ã³ã»ãã¥ãã³
ã¿ãªããããã«ã¡ã¯ïŒ ç§ã®ååã¯Dmitry Isaykinã§ããæè¿ãã¢ãã€ã«éçºã«æºãã£ãŠããŸãã ãªãæè¿ã§ããïŒ 3ãæåãç§ã¯C / C ++ã°ã«ãŒã-Mail.Ru Mailéçºã®ãªãŒããŒã§ããã ããããç§ã¯èªåãããŠããããšããŸããŸã奜ãã§ã¯ãªããšããäºå®ã«ã€ããŠèããŸããã ãã£ã ãªããã®è·åã«ã¯ãã£ãšæéããããå§ããŸããïŒåæ©ãåºæ¿ãå ±åã管çäžã®æžå¿µã ãããŠãç§ã¯æ±ºããŸããïŒäœããå€ããæã§ãã ç§ã¯å±¥æŽæžãæçš¿ããããã€ãã®ã€ã³ã¿ãã¥ãŒã«è¡ããŸããã ãã®éãã£ãšãç§ã¯èªåã欲ãããã®ã«ã€ããŠèããŠããŸããã ç§ã¯ããªã倧ããªäŒç€Ÿã§éçºã®ææ®ããšãããšãç³ãåºãããŸããããå®éã«åæããŸããã ãããããã®æ±ºå®ã§ç ããªãå€ã«ãç ã£ããã®ã§ããã®ãããªä»äºã¯ç§ã®åã³ã§ã¯ãªãããšã«æ°ã¥ããŸããã ãŸããäžçŽéçºè ãšããŠå¥ã®è¯ãäŒç€Ÿã«è¡ããªãã·ã§ã³ããããŸããã ããããåã®å¹Žãšã»ãŒåãäœæ¥ãè¡ãå¿ èŠããããŸãã
åè«ãšããŠããŸãã¯çå£ã«ãç§ã¯iOSéçºè ã®ç«å Žã«å¥ã®éšéã«ç§»åããããšãææ¡ããŸããïŒããã¯ç§ã«ã¯ãŸã£ãã銎æã¿ã®ãªãåéã§ããïŒã ç§ã¯é·ãéäœãæ°ããããšããããããšæã£ãŠããŸãããããã®å Žåã®é¿ããããªãåå ¥ã®äœäžã«æ¢ããããŸããã ãŸããå éšç§»è¡ã«ãããè³éã®äžèœãåé¿ã§ãããããããŸããã å¥è·¡ãèµ·ãã£ã-圌ãã¯ç§ãé£ããŠè¡ã£ãã ã€ã³ã¿ãã¥ãŒãªãã§ãè©Šçšæéãªãã§ïŒå®éãã€ã³ã¿ãã¥ãŒã¯1é±éåŸã«è¡ãããŸããããã®éãããã¥ã¡ã³ãããã¥ãŒããªã¢ã«ãHabrãiOSéçºã«é¢ããããŸããŸãªèšäºã1æ¥12æéèªãã§ããŸãïŒã ãã®ããã«ããŠãã»ãŒ10幎éãè² è·ã®é«ããµãŒããŒãœãªã¥ãŒã·ã§ã³ã®éçºè ã§ãã£ãç§ã¯ããŸã£ããæ°ãããçŽ æŽãããã巚倧ãªã¯ã©ã€ã¢ã³ããµã€ãã®äžçãçºèŠããŸããã
3ãæåŸãç§ã¯æ£ããéžæããããšæèšã§ããŸãã ãã®éã«ç§ã¯å€ãã®ããšãåŠã³ãã¯ã©ã€ã¢ã³ãéçºã®ç¥æµãç解ãå§ããŸããã ãããªã±ãŒãã®å察åŽãã«ãããµãŒããŒãèŠãŸããïŒä»¥åã¯Mail.RuãšMy.comã®ã¡ãŒã«ãµãŒãã¹ã®ãµãŒããŒåŽã§äœæ¥ããŠããŸããããçŸåšã¯ã¢ãã€ã«ããŒãžã§ã³ãéçºããŠããŸãïŒã
ãµãŒããŒãšã¯ã©ã€ã¢ã³ãã®éçºã¯ãå€ãã®ç¹ã§éåžžã«äŒŒãŠããŸãã ããããåãåé¡ã解決ããå ŽåããŸã£ããç°ãªãã¢ãããŒããå¿ èŠãšããéåžžã«å€§ããªéãããããŸãã ç§ã¯ããã«ã¯ã©ã€ã¢ã³ãåŽã®éçºã®ç¬¬äžäººè ã«ãªãããšã¯ãªããšç¢ºä¿¡ããŠããŸãããããã§ãããã«é¢ããç§ã®èããå ±æããããšã«ããŸããã ãã®èšäºã®ç®çã¯ãã¯ã©ã€ã¢ã³ããŸãã¯ãµãŒããŒã®ã©ã¡ããåªããŠããããèŠã€ããããšã§ã¯ãããŸããã ããã©ãããããããã®äžçã¯ããããç¬ç¹ã§ãããéçºè ã¯ããé åããå¥ã®é åãžã®ç§»è¡ãã倧ããªå©çãåŸãããããšã瀺ããããšæããŸãã
äœæ¥ç°å¢
å€å°è€éãªãµãŒããŒã·ã¹ãã ã¯ãããªãå€æ°ïŒæ°åïŒã®é¢é£ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã ãããã¯ãããŒã¿ããŒã¹ïŒäž»ã«MySQLãšTarantoolããããŸããïŒããã¥ãŒãWebãµãŒããŒããããã·ããã©ã³ãµãŒãç£èŠãããã¯ã¢ããã·ã¹ãã ãå¿ èŠãªããžãã¹ããžãã¯ãåããäžé£ã®èªå·±èšè¿°åãµãŒãã¹ã§ãã æ°ããæ©èœãéçºããå Žåãå€ãã®å Žåãè€æ°ã®ã³ã³ããŒãã³ãã®ã³ãŒããäžåºŠã«å€æŽããå¿ èŠããããŸãã ã³ãŒãããã§ãã¯ããã³ãããã°ããã«ã¯ãã·ã¹ãã å šäœãç¬èªã«ã€ã³ã¹ããŒã«ãããšäŸ¿å©ã§ãã å±éãæ§æããã¹ãããŒã¿ã®å ¥åãå¿ èŠã§ãã ãããŠãå€ãã®ã³ã³ããŒãã³ãã掻çºã«éçºãããŠãããããå®æçã«æŽæ°ããã³åæ§ç¯ããŸãã ãšããã§ããµãŒããŒã·ã¹ãã ã®è€éããšç°è³ªæ§ã¯ããã®è€éããäœããã®åœ¢ã§ç®¡çããå¿ èŠãããããšãæå³ããŸãã ãããã¯ããã°ã®å±éã管çãæ§æãç£èŠã蚺æãåéãåæãããã³ä¿ç®¡ã®ããã®ããããçš®é¡ã®ã·ã¹ãã ã§ãã ãããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ã³ããŒãã³ãã®éçºã«ã¯ãæéãšåŽåã®å€§éšåãè²»ãããªããã°ãªããªãå ŽåããããŸãã
ã¯ã©ã€ã¢ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåããã®è€éãã®å€§éšåã¯ãµãŒããŒAPIã®èåŸã«é ããŠããŸãã ã»ãšãã©ã®å Žåãéçšã¯ã©ã¹ã¿ã¯ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãããŒãžã§ã³ã®ãµãŒããŒãšããŠæ©èœãããããã¯ã©ã€ã¢ã³ãéçºè ã¯ããããµããŒãããããã®åŽåãå¿ èŠãšããŸããã éçºã«å¿ èŠãªã®ã¯ãSDKãšIDEãã€ã³ã¹ããŒã«ãããååã«åŒ·åãªã©ãããããã ãã§ãã ããŠããã¹ãé»è©±ã
æ¡åŒµæ§
ãµãŒããŒã©ã€ãã§ãããçºçããé »åºŠïŒäœããã®çç±ïŒãã¬ã³ã¿ã€ã³ããŒã®å€§éã¡ãŒã«éä¿¡ãæ€çŽ¢ãšã³ãžã³ãªããã£ãã€ã¶ãŒã®è©Šè¡ããããŒãžã£ãŒã«ãããã©ãã£ãã¯ã®è³Œå ¥ããŸãã¯å€§èŠæš¡ãªè²©å£²ã®éå§-ç¹å®ã®ã·ããªãªã¯ãµãŒãã¹ã®è©³çŽ°ã«äŸåããŸãïŒã§ããŠãŒã¶ãŒã®æ·±å»ãªæµå ¥ãçºçããŸãã ãµãŒããŒã·ã¹ãã ã®è² è·ãå¢å ããŠããŸãã ãµãã·ã¹ãã ã®1ã€ïŒéåžžã¯ããŒã¿ããŒã¹ïŒã¯ãè² è·ã®å¢å ã«ãããããã«äœäžããå¿çãé ããªãã蚱容å¯èœãªå¿çæéã«åãŸããªããªããŸãã ãã®çµæãããžãã¹ããžãã¯ãµãŒããŒã§ã®1ã€ã®èŠæ±ã®åèšåŠçæéãå¢å ããåæã«åäœããã¯ãŒã«ãŒããã»ã¹ã®æ°ãå¢å ããŸãã ãµãŒããŒã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã空ãã¡ã¢ãªã䜿ãæãããããå€ãã®ããã»ã¹ãåŠçããããšããŠãããäž»ã«ã³ã³ããã¹ãã®åãæ¿ããšã¡ã¢ãªå ã®ããŒãžã®ã·ã£ããã«ãåŠçããŠããŸãã ããã¯ç¶æ³ãããã«æªåãããŸãã ããã§ã¯ããã©ã³ãµãŒãããžãã¹ã«é¢äžããŠãããè² è·ã®ããããªããµãŒããŒãç Žæ£ããŠãã·ã¹ãã å ã®æ®ãã®ãµãŒããŒã®è² è·ãå¢ãããŠããŸãã ããã§ãšãããããŸããç§ãã¡ã®ãµã€ãã¯çéžããŸããããããŠãè² è·ãåãé€ãããšãªããããäžããããšã¯éåžžã«åé¡ãå€ãã§ãããã
ãã¡ããããã®ãããªç¶æ³ã¯éåžžãæ°ãããµãŒãã¹ã®éçºã®æåã®æ®µéã§ã®ã¿çºçããŸãã å°æ¥çã«ã¯ãéçºè ãã·ã¹ãã ã®äžè¶³ãä¿®æ£ãããããµãŒãã¹ãåŸã ã«æ²ãããŸãã
ãã®ãããªéå°ãããŸãä¹ãåãã«ã¯ããµãŒããŒãœãããŠã§ã¢ãååã«ãæè»ãã§ã¹ã±ãŒã©ãã«ã§ãªããã°ãªããŸããã ãã®å Žåãè² è·ã®å¢å ã¯å®å šãªãµãŒãã¹é害ã«ã¯ã€ãªãããŸããããããšãã°ããªã¯ãšã¹ãåŠçã®é床ã®ããããªäœäžã«ã€ãªãããŸãã ãã®å Žåãè² è·ã®äžæçãªå¢å ãåŸ ã€ããšãã§ããè² è·ãæ°žé ã«å¢å ããå ŽåïŒã€ãŸãããµãŒãã¹ãããäžè¬çã«ãªã£ãå ŽåïŒãå¿ èŠãªæ°ã®ãµãŒããŒãé ä¿¡ããããšã§ãããè£ãã ãã§ååã§ãã ãã®ããã«ãã¢ããªã±ãŒã·ã§ã³å šäœã®ã¢ãŒããã¯ãã£ãçå£ã«åèšèšããã·ã¹ãã ã®ããã«ããã¯ãæå³çã«æ€çŽ¢ããŠæé€ããå¿ èŠãããå ŽåããããŸãã
ã¯ã©ã€ã¢ã³ããœãããŠã§ã¢ã®äžçã§ã¯ããã®ãããªåé¡ã¯ãŸã£ãããããŸããã åãŠãŒã¶ãŒã¯ãç¬èªã®ããã»ããµãšã¡ã¢ãªãåããããã€ã¹ãæã¡èŸŒã¿ãŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«æ°ã«é¢ä¿ãªããåã³ããŒã¯ããã€ã¹äžã§æ©èœããŸãã
ããŒããŠã§ã¢é害
ãµãŒããŒãœãããŠã§ã¢ã¯ãããŒããŠã§ã¢é害ã«èããããšãã§ããªããã°ãªããŸããã ãµãŒããŒã®1ã€ã«é害ãçºçããå Žåãã·ã¹ãã ã¯äœãèµ·ãããªãã£ããã®ããã«åäœãç¶ããå¿ èŠããããŸãã ãŠãŒã¶ãŒããŒã¿ã倱ãããªãããã«ããã ãã§ãªããçæ³çã«ã¯ããŠãŒã¶ãŒã¯ãŸã£ããæ°ä»ããªãããã«ããå¿ èŠããããŸãã é«å¯çšæ§ãå®çŸããã«ã¯ãããŒã¿è€è£œãããããã©ã°ãµãŒããŒãåé·æ§ããµãŒããŒã®è€è£œãåäžé害ç¹ã®æé€ãªã©ã®ææ³ã䜿çšãããŸãã ãµãŒããŒã®é害ãåå ã§å€±æããèŠæ±ã¯ãã°ã«ãŒãå ã®å¥ã®ãµãŒããŒã«ãªãã€ã¬ã¯ãã§ããŸãïŒããžãã¹ããžãã¯ã«å¿ããŠïŒã
ãŸããããšãã°ãé»è©±ãã¯ã©ãã·ã¥ããå Žåãã¢ããªã±ãŒã·ã§ã³ããã®ããã€ã¹ã§åäœãç¶ããããšã誰ãèŠæ±ããŸããã ãã¡ããããŠãŒã¶ãŒã¯ãããŒãé£ãã§ããããããããã圌ã¯æ°ããæºåž¯é»è©±ãè²·ãã«è¡ãã§ããããããããããã£ãšã¯ãŒã«ã§ãã¯ãã«ã§ãã ããäžåºŠãå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããŠãäœæ¥ãç¶ããŸãã äž»ãªããšã¯ãã¢ããªã±ãŒã·ã§ã³ãé»è©±ã®æ éã®ããã«ããªãããšã§ãã
垯åå¹ ãšå¿çé床
ãããããã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã®æãéèŠãªéæ©èœèŠä»¶ã®1ã€ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã®å¿çæ§ã§ãã ããã«ãæ¬è³ªçãªã®ã¯å¿çé床ã®äž»èŠ³çãªæèŠã§ãããå®éã®é床ã§ã¯ãããŸããã ãŠãŒã¶ãŒã¯åŸ ã€ããšã奜ã¿ãŸãããã¢ããªã±ãŒã·ã§ã³ã«ç®ãåãããšãä»ã¯äœãéèŠãªããšãããå¿ èŠããã£ãããšãæå³ããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ã®é床ãäœäžãããšãè¿·æã«ãªããŸãã ããªãã家ã«åž°ãããšããŠãããšãã«CIãµãŒããŒãã©ãã ããã£ãããšåãå§ãããããããŠä»åºŠã¯ãã¹ãã確å®ã«æåããããšã確èªãããã ãã§ãã ãŠãŒã¶ãŒã«æ倧ã®ã¢ããªã±ãŒã·ã§ã³ããã©ãŒãã³ã¹ã®å°è±¡ãäžããããã ãã«ãå®éã®äœæ¥é床ãç ç²ã«ããªããã°ãªããªãå ŽåããããŸãã ããã«ã¯ãããšãã°ãã¢ãã¡ãŒã·ã§ã³ãšé²è¡ç¶æ³ã€ã³ãžã±ãŒã¿ã䜿çšãããŸãã
å察ã«ããµãŒããŒãœãããŠã§ã¢ã®å Žåãèšå€§ãªæ°ã®åæãªã¯ãšã¹ããåŠçããèœåãéèŠã§ãïŒå€ãã®ãŠãŒã¶ãŒãããŠããµãŒããŒãå°ãªãïŒã ãã ããå¿ççææéã¯æé©åã®äž»ãªãã©ã¡ãŒã¿ãŒã§ã¯ãããŸããã åŠçæéã®ããããªå¢å ã«ãããã·ã¹ãã å šäœã®ã¹ã«ãŒããããå€§å¹ ã«åäžããå ŽåããããŸãã ããšãã°ãmemcacheã®äžéšã®ã¯ã©ã€ã¢ã³ãã1ã€ã®ãªã¯ãšã¹ãã«ã°ã«ãŒãåããããã«ããªã¯ãšã¹ãã®å®è¡ãæ°åããªç§é ãããããšã¯ãç§ã«ãšã£ãŠå€§ããªå瀺ã§ããã
æŽæ°
å人çã«ã¯ããµãŒããŒéçºã®å€§ããªå©ç¹ã¯ãéçšç°å¢ã§åäœãããœãããŠã§ã¢ããŒãžã§ã³ãæ確ã«å¶åŸ¡ã§ããããšã§ãã éåžžãæŠéã§ã¯2ã€ä»¥äžã®ããŒãžã§ã³ãåæã«å転ããããšã¯ãããŸããïŒç§ã¯ç€Ÿå éçºã«ã€ããŠè©±ããŠããã®ã§ãããç®±å ¥ãã®è£œåã§ã¯ãã¹ãŠãã¯ããã«æªãã§ãïŒã ããã«ãããã³ãŒãããŒã¹ã®é¢é£ããŒãžã§ã³ãèŠããŠããããšãã§ããŸãã ãšã©ãŒãæ€åºããŠä¿®æ£ããåŸããããå®å šã«å¿ããããšãã§ããŸã;ã³ãŒãããã§ã«ã»ãŒå®å šã«äœåºŠãæžãçŽãããŠããããã°ã©ã ã®ä»ã®ãµããŒããããŠããããŒãžã§ã³ã«ç·šéãããã¯ããŒãããå¿ èŠã¯ãããŸããã ãã®ãã°ãããã«ååšãããã©ããããã®ç¹å®ã®ã³ãŒãããªãšãŒã·ã§ã³ã§ãããä¿®æ£ããæ¹æ³ãææ¡ããå¿ èŠã¯ãããŸããã
æŠéããŒãžã§ã³ã®å¶åŸ¡ã«ãããããã€ãã®æ®µéã§æ¯èŒçç°¡åã§äžè²«æ§ã®ããæ°ããããŒã¿ã¹ããŒã ã«ç§»è¡ããããšãã§ããŸãã éåžžã移åã¯3段éã§å®è¡ãããŸãã æåã«ãå€ã圢åŒãšæ°ãã圢åŒã®äž¡æ¹ã®äž¡æ¹ã®åœ¢åŒã§ããŒã¿ãèªã¿åãããšãã§ããããŒãžã§ã³ãããŒã«ã¢ãŠããããŸãã 誰ããã·ã¹ãã ããã°ãªãã§æ£åžžã«åäœããŠããããšã確èªãããã以åã®ããŒãžã§ã³ãšåæ§ã«ãäž¡æ¹ã®åœ¢åŒã§ããŒã¿ãèªã¿åããæ°ãã圢åŒã§ã®ã¿æžã蟌ãããã°ã©ã ã®ããŒãžã§ã³ã«çœ®ãæããããŸãïŒå®éãå±éã¯ç°¡åã§ãæ§æã«ãªãã·ã§ã³ãå«ããå Žå-ç¹å®ã®ã±ãŒã¹ã«äŸåããŸãïŒã 次ã«ãå®å šãªããŒã¿å€æåŸãå€ã圢åŒã®ãµããŒãã³ãŒãã¯å®å šã«åé€ãããŸãã 移åãå®äºããŸããã
ãã®ããããµãŒããŒã§ã¯ãäžéšã®ãµãŒããŒãæ¢ã«æŽæ°ãããŠãããæ°ãã圢åŒã®ããŒã¿ãå¿ èŠã§ãäžéšã®ãµãŒããŒããŸã æŽæ°ãããŠããªãç¶æ³ã§ã·ã¹ãã ãæ£ããæ©èœããããšã確èªããå€ã圢åŒã®ããŒã¿ãæäŸããå¿ èŠããããŸãã ããããã¯ã©ã€ã¢ã³ãã§ã¯ãããŒã¿ã¹ããŒã ã®ç§»è¡ã«é¢ãããã®ãããªåé¡ã¯ãŸã£ããååšããŸããã ãŠãŒã¶ãŒã«ãšã£ãŠéœåã®è¯ãæéã«ã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããå ŽåïŒãŠãŒã¶ãŒèªèº«ãæŽæ°ããã°ã©ã ã®ã€ã³ã¹ããŒã«ã«åæããå°ã蚱容ã§ããç¶æ ã«ãªã£ãŠããå ŽåïŒãããŒã¿ãæä»ã¢ãŒãã§å®å šã«å€æããäžé£ã®å¿ èŠãªå€æãé 次é©çšã§ããŸãã ã€ãŸããäžéããŒãžã§ã³ãéçºããå¿ èŠãããããŸããã çŸäºº
ããããã¯ã©ã€ã¢ã³ãã«ã¯ééããªãåç©åã®ããŒãžã§ã³ããããŸãã ãããŠãç§ã¯ãå ãµãŒããŒéçºè ãšããŠãããã奜ãã§ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠãã誰ãããç§ãä¿®æ£ãããã°ãšããŠ1é±éãŸãã¯1ãæéã€ãŸãããšæ³åãããšããã«...ãã®ãã¡ã«æ £ãããããããŸããããä»ã®ãšããéããæããŠããŸãïŒ
ããšãã°ããµãŒããŒã§é倧ãªãšã©ãŒãæ€åºãããå Žåãè¿ éã«ä¿®æ£ãè¡ããç ŽæããããŒã¿ãä¿®æ£ããããã®äžé£ã®å¯Ÿçãéçºãããã®ä¿®æ£ãæ¬çªãµãŒããŒã«è¿ éã«å±éã§ããŸãã ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåãä¿®æ£ãããããŒãžã§ã³ãããã«æšªã«ãªã£ãŠãããŠãŒã¶ãŒãæ¥ãã§æŽæ°ããä¿èšŒã¯ãããŸããã 誰ããã€ã³ã¿ãŒããããã©ãã£ãã¯ãç¯çŽãã誰ããæŽæ°ããæéããªãã誰ããæŽæ°ããŸã£ããç¡å¹ã«ããŠããã ãŸããããã®ãŒã¢ããªããå®å šã«åé€ã§ãã人ãããŸãã
ãªãœãŒã¹ç®¡ç
çŸä»£ã®æºåž¯é»è©±ã¯éåžžã«æ¬æ Œçãªã³ã³ãã¥ãŒãã£ã³ã°æ©èœãåããŠãããããéçºè ã¯å¹çã ãã§ãªãã³ãŒãã®çŸããã«ãéäžã§ããŸãã ãŸããã¯ã©ã€ã¢ã³ãéçºã§äžè¬çãªèšèªã人æ°ããããŸãã èšèªã§èªååç §ã«ãŠã³ãããã§ã«åºã䜿çšãããŠããä»ãObjective-Cã«åºäŒããŠããããã§ãã C / C ++ã䜿çšãããšããªãœãŒã¹ãéåžžã«å¹ççã«äœ¿çšã§ããŸãããã®æé©åã®æ©äŒã¯ãå€ãã®å Žåãã¢ã«ãŽãªãºã ã®äžèŠãªè€éãã«ã€ãªãããŸã-ä»®æ³é¢æ°ã®åŒã³åºãæ°ãæžããããã ãã«ãããŒãã§ã¯ãªãã¹ã¿ãã¯ã«ã¡ã¢ãªãå²ãåœãŠãã ãã§ãã Objective-Cã®åçãªæ§è³ªã¯ãææå°æ©ãªæé©åã®æ©äŒãã»ãšãã©ãªããããæåã¯å éšæµæãåŒãèµ·ãããŸããããã°ãããããšé»å§ãäœäžããããæè»ã§çŸããç°¡æœãªã³ãŒããååŸãå§ããŸãã
ãããã«
ã芧ã®ãšãããã¯ã©ã€ã¢ã³ããšãµãŒããŒã®ããã°ã©ããŒã¯ãŸã£ããç°ãªãã¿ã¹ã¯ãæã£ãŠããŸãã 圌ãã®ããã°ã©ã ã¯ãŸã£ããç°ãªãæ¡ä»¶ã§åäœããã»ãŒæ£å察ã®èŠä»¶ãæ瀺ãããŠããŸãã ãããã£ãŠã圌ãã¯ããŸããŸãªæ¹æ³ã§åé¡ã解決ããŸãã é©çšãããã¢ãããŒããã¢ãŒããã¯ãã£ã®æ±ºå®ã¯ç°ãªããŸãã 人çã«å¯Ÿããç§ãã¡ã®èŠæ¹ãç°ãªã£ãŠãããšæããŸãã
ããªã±ãŒãã®åããåŽã«è¡ã䟡å€ã¯ãããŸãããïŒ ç§ã®å Žåãããã¯äŸ¡å€ããããŸããã å€ãã®å Žåãç§ãã¡ã®é«ãå°éæ§ã¯çãå°éæ§ãæå³ããŸãã 人ãèªåã®ãšãªã¢ã«çªå ¥ããã°ããã»ã©ããã®äžã§ããéããªããŸãã ããã¯èªç¶ãªããã»ã¹ã§ãã ããããæéã®çµéãšãšãã«ãããã¯äººãæ°ãããã®ãåŠã¶ããã«éçºããã®ãããããšããäºå®ã«ã€ãªãããŸãã 圌ãçŽé¢ããŠãã課é¡ãå¹æçã«è§£æ±ºããã«ã¯ã圌ã®ç¥èãšçµéšã§ååã§ãã 圌ã¯éå±ããŸãã ãã®å Žåãæãæ£ããæåããéžæã¯ãè·æ¥ã®å€æŽããŸãã¯å°ãªããšãæ¹åæ§ã§ãã
ããã§ãããªããããªãã®ä»äºãžã®èå³ã®åªå€±ã«æ°ä»ãå§ããŸãããïŒ å±¥æŽæžãæ¥ãã§æçš¿ããªãã§ãã ãããæåã¯çç±ãç解ããããšããå§ãããŸãã ä»äºã®å€æŽã«ãã£ãŠåé¡ã¯è§£æ±ºããŸããïŒ èªåèªèº«ãšäŒç€Ÿã®çžäºã®å©çã®ããã«ããã®ä»äºã§ããªãã®ç®æšãéæããããªãã®æ¬²æãæºããããšãã§ããŸããïŒ
ããšãã°ãããªãã¯èª°ãããªãã®çµæã«æ°ã¥ããªããšæããŸããããªãã¯å声ãåæããŸãããããã¯æ±ºããŠæ¥ãŸãããïŒ ãã®åŸãå°éã®äŒè°ãæµè¡ã®äŒè°ã§å ±åæžãäœæããããšã¯çã«ããªã£ãŠããŸãã ãŸãã¯ãåããã¬ãŒããã絶ãããåããããšãšèžãããšã«ããããããŠããŸãããïŒ å°æ¥ãã®ãããªééããããªãããã«ããæ¹æ³ãåŠã³ãèšç»ããŠãã ããã ãŸãã¯ãããšãã°ãããå€ãã®æš©éãå¿ èŠã§ããïŒ ã»ãšãã©ã®ãããŒãžã£ãŒïŒå³ã®ãããŒãžã£ãŒïŒã¯ãæèœã§ä¿¡é Œã§ãã責任ã®ãã人ç©ã«åŒãç¶ãããæºåãã§ããŠããå Žåãè·åã®äžéšãåãã§å§ä»»ããŸãã ãã è¡ã£ãŠèããŠãã ããã ããããéåžžãæš©éãå¢ãããšè²¬ä»»ãå¢ããããšãå¿ããªãã§ãã ããã
ããŒã ã«ãã£ãŠãªãªãŒã¹ããã補åã®å質ã«äžæºãããå ŽåããŸãã¯éçºããã¹ãããªãªãŒã¹èšç»ãžã®ã¢ãããŒããæ°ã«å ¥ããªãå ŽåïŒãŸãã¯ãªãªãŒã¹èšç»ããªãå ŽåïŒããã¹ãŠãä¿®æ£ã§ããå¯èœæ§ããããŸãã ãŸãããŸãã¯å°ãªããšãäœããæ¹åããŸãã æ¹åããå¿ èŠããããã®ãåæããŸãã ãã¶ãããŠããããã¹ãã®æžãå§ãã§ãã æ°ããæ©èœã®ãã¹ããããã€ãæžãããšããå§ããŸãã ããªãã¯ãããŒãžã£ãŒãããªãã®ä»äºãäžååã«å®åŒåããã®ãèŠãïŒ åœŒãšäŒãã詳现ãæ確ã«ããåé¡ãæ¬ ç¹ã話ãåããŸãã
ããããèªåã®è·æ¥ã奜ãã§ã¯ãªãããšã«ãŸã æ°ã¥ããŠãããšããŸãã éžã³ãŸãããã äž»ãªããšã¯ããã¡ãã·ã§ã³ããã£ããã«è¡ããªãããšã§ãã çŸä»£ç€ŸäŒã§ã¯æ¬¡ã®ããã«æ瀺ãããŠããŸãããã¡ãããããªãã¯äžåžã«ãªããäžåžã«ãªãå¿ èŠããããŸããã³ãŒããŒã飲ã¿ãäœãããŸããã 第äžã«ãããã¯çå®ã§ã¯ãããŸãã-ããªãã¯å€ãã®ããšãããªããã°ãªããŸããããã 矩åãç°ãªããŸãã ãããŠç¬¬äºã«ãããšãããã ãšããŠããããªãã¯äœæéäœãã§ããªãã®ã§ããããïŒ å€§ããªéãããããŸã-2é±éã®äŒæäžãäžçãäœãããŸããã ã§ãããããŸãããã¹ã«ãªãããã®ããä»ã®äººã«è²¬ä»»ãæã¡ããã®ãããããšããã¡ãã·ã§ã³ãžã®ãªããŒãžã¥ãªã®ããèããŠãã ããã å€ãã®å Žåã人ã ã¯ãã¡ãã·ã§ã³ã®ããã ãã«æãããŠããªãä»äºã«å°±ããŠããŸãã ç§ã®æèŠã§ã¯ãæåã®æ¹æ³ã¯ã以åã®çµéšã§çžä¹å¹æãåŸãããšãã§ãããªãã·ã§ã³ãèŠã€ããããšã§ãã ããšãã°ãããªããåªç§ãªè³Œè²·ç®¡çè ã§ãã£ãå Žåããã®çµéšã¯åªç§ãªè²©å£²ç®¡çè ã«ãªãã®ã«åœ¹ç«ã¡ãŸãã
ããã°ã©ããŒã«ãã¹ããè©Šãããã¢ããã€ã¹ã§ããŸãã éçºã®è©³çŽ°ã«é¢ããã¹ãã«ãšç¥èã¯ãéåžžã«åªãããã¹ã¿ãŒã«ââãªããããšããåžæã«å¯Ÿå¿ããã®ã«åœ¹ç«ã¡ãŸãã å®éããã¹ã¿ãŒã®ã¿ã¹ã¯ã¯ãããã°ã©ã ã宣èšãããç¹æ§ãæºãããŠããããšã確èªããããšã§ãã ããã°ã©ããŒã®ä»äºã¯ãããã°ã©ã ãããããæºããããã«ããããšã§ãã ã¿ã¹ã¯ã¯äŒŒãŠããŸãããç°ãªããŸãã ãããŠãåé¡ã¯ç°ãªããŸãã ãããŠããããã¯ç°ãªãæ¹æ³ã§å¯ŸåŠããå¿ èŠããããŸãã é¢é£åéã§ã®çµéšã¯éåžžã«åœ¹ç«ã¡ãŸãã åæ§ã«ããã¹ã¿ãŒã¯éçºã«æãè©Šãããšãã§ããŸãã 圌ã®ãã¹ãã¹ãã«ãšå質ä¿èšŒãšå質管çã®èŠ³ç¹ããã®ã·ã¹ãã ã®èŠæ¹ã¯ã圌ãéåžžã«åªããããã°ã©ããŒã«ãªãã®ã«åœ¹ç«ã¡ãŸãã ç¹°ãè¿ããŸããã欲æãšèœåã®ååšäžã§ã
iOSåãã®ã¯ã©ã€ã¢ã³ãéçºãè¡ãããšã«æ±ºããå Žåã¯ãé ãããªãã§ãã ããã åºæ¬çãªç¥èã«ã€ããŠã¯ãAppleã®å ¬åŒWebãµã€ãã§ããã€ãã®ã¬ã€ãããèªã¿ãã ããã ããã«ãGitHubã«ã¯ãã»ãŒãã¹ãŠã®ãããã¯ã«é¢ããæ¢è£œã®ãããžã§ã¯ãããããããããŸãã 圌ãã®ã³ãŒããèªãã§ãã ãã-ããã«ãããiOSã®éçºã®å®çšçãªåŽé¢ãšç§å¯ããã°ãããããå®å šã«ç解ããããšãã§ããŸãã
ãããŠäœ¿çšãããããã€ãã®æç®
- Objective-Cã䜿çšããããã°ã©ãã³ã°
- èšèªã©ã³ã¿ã€ã ã®æŠèŠ
- iOSçšã¢ããªããã°ã©ãã³ã°ã¬ã€ã
- ã€ã³ã¿ãŒãã§ã€ã¹èšèšã¬ã€ãã©ã€ã³ïŒHIGïŒ
- ã©ã³ã¿ã€ã èšèªã«é¢ããæçšãªèšäºïŒ Objective-C Runtimeã çè«ãšå®çšå ã æ¢åã®ã¡ãœããã®æ¡åŒµïŒMethod SwizzlingïŒ ã Objective-Cå®éã«ã¡ãœãããšã¯äœã§ããïŒ +ã©ã³ã¿ã€ã ã å éšããã®Objective-Cã©ã³ã¿ã€ã
- UIViewControllerã®ã©ã€ããµã€ã¯ã«
- iOS Navigation View Controllerã®äŸ
- iOS 9ã®èªåã¬ã€ã¢ãŠããã¥ãŒããªã¢ã«ããŒã1ïŒã¯ããã«
- iOS 9ã®ã¢ãããã£ãã¬ã€ã¢ãŠããã¥ãŒããªã¢ã«ïŒã¯ããã«
- éçºã®ç¬¬äžäººè ã®ããã°å šäœãèªãããšãã§ããŸãïŒ NSBlogãç±æ°éšéã®å€±æã
- ãŸããéåžžã«è¯ããµã€ãã§ããNSHipsterã¯ãObjective-CãSwiftãããã³Cocoaã®èŠèœãšãããã¡ãªéšåã®ãžã£ãŒãã«ã§ãã
- ã¡ã¢ãªç®¡ç ãããæ·±ãæ²¡å ¥ïŒ ã¡ã¢ãªç®¡çã«ã€ããŠ
- åãå ¥ãããããšã©ãŒåŠçæ¹æ³ïŒ ãšã©ãŒåŠçããã°ã©ãã³ã°å ¥éCocoa