å€ãã®äŒæ¥ã蚪åããã®ã§ãæè¡é¢æ¥ãæœåšçãªååãšã®è©±ãåããªã©ãå°é家ã®æ¡çšãæãé »ç¹ã«è¡ãããæ¹æ³ã«ã€ããŠã®æèŠãå ±æããããšã«ããŸããã ãããŠãäžè¬ã«åãå ¥ããããŠããããã»ã¹ãæ¹åããããã®ã¢ã€ãã¢ãæäŸããŸãã
ãã®ãããæçµçã«é¢æ¥ã¯ç³è«è ã次ã®ããã«æ¢ããŸããã
ãŸã第äžã«ããã®èšäºã¯ãiOSéçºç°å¢ã§ä»äºãæ¢ããŠããããäœããã®åœ¢ã§ITã¹ãã·ã£ãªã¹ãã®æ¡çšã«é¢ä¿ããŠãããã¹ãŠã®äººã«åœ¹ç«ã¡ãŸããæè¡é¢æ¥ãªã©ãè¡ããŸãã
ãããŠç«ãžããããã
ãšã³ããªãŒ
ç§ã¯èªåèªèº«ãçµæè ãšèããŠããããšã«æ³šæãããã ç¬åŠãå«ãè¡åã¯ãç¹å®ã®ç®æšãéæããããç¹å®ã®åé¡ã解決ããããšãç®çãšãã¹ãã§ãã ç§ã®äŒç€Ÿã§é¢æ¥ãè¡ãããšãã§ãããšããç§ã¯åžžã«å®éã«åœ¹ç«ã€äœããå°ããŠããæµæãã§ã®å¿åè ã®æ¯ãèãã圌ããã®ã¢ãžã¥ãŒã«ãŸãã¯ãã®ã¢ãžã¥ãŒã«ãå®è£ ããããã«äœãããããç¹å®ã®ãã°ã«ã©ã®ããã«å¯ŸåŠããããç解ããããšããŸããã
ã§ããããç§ã蚪ãã12ãè¶ ããéåžžã«å€§ããªçµç¹ã®ãã¡ãäžå€®ã«ãªãã£ã¹ãèšå€§ãªç§æžãã«ãŒãªã³ã°ã¢ã€ãã³ããã®ä»ã®ããã¹ãªãã£ã¹ã®å±æ§ãããã誰ããç©ã ããæ±ããŠãããšããäºå®ã«æéãåããŸããã
å®è·µãšã¯é¢ä¿ã®ãªããæŽç·ŽãããŠããªã100ïŒ ã®çè«ã ã©ã®ããã«èããã¿ã¹ã¯ã«ã¢ãããŒãããæšæºå€ã®ã¯ã©ãã·ã¥ãã©ã®ããã«æããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹äœäžã®åå ãæ¢ããéçºè ãæ¯æ¥çŽé¢ãããã®ä»ã®æ¥åžžçãªåé¡ã解決ãããã«ã€ããŠã¯èª°ãå°ããŸããã§ããã 誰ããARCãšMRCã®éããšãç§ã®äººçã§æ±ºããŠå¿ èŠãšãããªãã£ãæ§ã ãªéãã ãã«èå³ããããŸããã äŸïŒxibãã¡ã€ã«ã®æ§é ã¯ãã¹ããŒãªãŒããŒããã¡ã€ã«ã®æ§é ãšã©ã®ããã«ç°ãªããŸããã ãã¡ã€ã«ã§ãã ãã®ãããªäŸ¿å©ãªãã®ã æ¯æ¥xmlã調ã¹ãŠããŸãã
ããã¯ã圌ããç§ãã©ãã«ã§ãéã£ãŠãHabrã§æ³£ãèšãèšãããã«ãªã£ããšããæå³ã§ã¯ãããŸããã ã»ãšãã©ã®å Žåãããã€ãã®äŸå€ãé€ãããã¹ãŠãããŸããããŸããã ãããŠãã©ããã§ççŽãªç¥èã®ã®ã£ããã«ééããå Žåã次ã®ã€ã³ã¿ãã¥ãŒãŸã§ã«åœŒã¯ãã§ã«éŠå°Ÿããç¿åŸããŠããã æã«ã¯ãå°æ¥ã®ãªãŒããŒã·ãããšã®ç°¡åãªäŒè©±ã§ãããæè¡çãªé¢æ¥ãè£ã£ãŠãããŸããïŒç§ã®æèŠã§ã¯ïŒã
ãã®èšäºã¯äžçã®äžå®å šãã«ã€ããŠã®æ®éã®å£å®ã«ãªããããããŸããããæ倧ã®å©çãåºããåè£è ã®çè«çãªç¥èã®ã¬ãã«ã ãã§ãªããåè£è ã®å®éã®æçšæ§ãæ¬åœã«è©äŸ¡ã§ãã質åã®ãªã¹ããäœæããããšã«ããŸããã é¢å¿ã®ãããããã¯ã«ã€ããŠã¯ãå®çšçãªã¿ã¹ã¯ãå®åŒåã§ããŸãã
ã質å
ç§ã®æèŠã§ã¯ããiOSã§ã®ã¡ã¢ãªç®¡çã¯ã©ã®ããã«æ©èœããŸããïŒããšããçŽæ¥çãªè³ªåããããå€ãã®éçºè ã®ã¹ãã«ãæããã«ãã質åã®äŸãæããŸãã åé¡ãããã«è§£æ±ºããã ãã§ãªãããã®æ¹æ³ãããããªãå Žåã¯ããã®è§£æ±ºçãèŠã€ããããšãã§ããŸãã
- ãã®ãããªç»é¢ãã©ã®ããã«æ§æããŸããïŒ ã©ã®ãããªããã«ããã¯ããããã©ã®ããã«è§£æ±ºããŸããïŒ
çä¿¡æ å ±ïŒ
Productãªããžã§ã¯ãããããŸããããã¯ãããããŒã«ããããã€ãã®äžè¬æ å ±ãšããã©ã¡ãŒã¿ãŒã®é åã§æ§æãããŠããŸãã åãã©ã¡ãŒã¿ãŒã¯ãæååãã£ãŒã«ãã®ååãšå€ã§ãã å€ã¯æãäžè¬çãªæååã§ãåå€ã¯çžŠæ£ã§åºåãããŠããŸãã ããšãã°ããVM 505 | BWMãžã°ã¶ã°3 | SOLID REKT101ãã åå€ã¯ããOEMä»æ§ãã®ããã«æ°ããè¡ã«ããå¿ èŠããããŸãã
泚æããŠãã ããïŒ
ååãšå€ã®å¢çç·ãæåã®åèªã«å°éããŸãã ã¹ããªãããéåžžã®ãã¥ãŒãšããŠäœæãããå€ãã£ãŒã«ããã©ãã«ãšããŠäœæãããŠããå Žåãã¹ããªããã¯æåã§ã¯ãªãæé·ã¯ãŒãã§çµäºããŸãã
ã¬ãã« ïŒäžé以äžã
解決çãŸããéçºè ã®æèã®æµããèãå¿ èŠããããŸãã ã»ãšãã©ã®äººã¯ãã®ã¿ã¹ã¯ã«ãã ãã£ãŠãããå€ãã®è©³çŽ°ãèŠèœãšããŠããŸãã
ç§ã®æèŠã§ã¯ãæè¯ã®éžæè¢ã¯ãã¶ã€ããŒã«ããçŽããŠãããããšã§ãã
åé¡ãæè¡çã«è§£æ±ºããå Žåãããã©ãã«ã®æ«å°Ÿããå¥ã®ã©ãã«ã®æ«å°ŸãŸã§ç·ãåŒããŸãã ãã®ãããè¡ã¯å€ãæã€ã©ãã«ãæ£ç¢ºã«è¶ ããŸãã 次ã«ãèæ¯è²ã®å±æ§ãã©ãã«ã«è¿œå ããŸãã ãã®çµæãèæ¯è²ã¯ãã®äžã®ãã¥ãŒãå¡ãã€ã¶ããŸãã
å¥ã®ãªãã·ã§ã³ã¯ãåèªãé·ãã§ãœãŒãããæãé·ããã®ãäžã«äžŠã¹ãã©ãã«å€ã®å é ã«è¡ãæããããšã§ãã
ããå€ãã®è§£æ±ºçãèŠã€ããŠãã ããã
- ã¢ããªã±ãŒã·ã§ã³ãèµ·åããåŸã¯ã©ããªããŸããïŒ
func application(_ application: UIApplication, didFinishLaunchingWithOptions...) -> Bool { DispatchQueue.global().async { Timer.scheduledTimer(timeInterval: 0.4, target: self, selector: #selector(self.tickTimer), userInfo: nil, repeats: true) } return true } func tickTimer() { print("Tick-Tack") }
ç§ã¯éåžžããç»åå ã®ã³ãŒãã®åé¡ã¯äœã§ããïŒããšããã¹ã¿ã€ã«ã®ã¿ã¹ã¯ã®ãµããŒã¿ãŒã§ã¯ãããŸããããéåžžã«äžå¿«ã§ãšããã©ããã®ãªããã°ãçºçããã¿ã€ããŒãšã©ã³ã«ãŒãã®ååã誀解ããããããšããããããŸãã
質åã¯ã¿ã¹ã¯ã«åå®åŒåã§ããŸãããããã¯ã°ã©ãŠã³ãã§æ¯ååŒã³åºãããç¹°ãè¿ãå¯èœãªã¿ã€ããŒãäœæããå¿ èŠããããŸãã ãã£ãã¯ã®ç §æºç²ŸåºŠã¯éèŠã§ã¯ãªããããªãäžå®ã®é »åºŠã§ãã ãããè¡ãæ¹æ³ã¯ïŒ
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
解決çäœãèµ·ãããŸããã 圌ããèšãããã«ãRanlupã¯ã³ãã¯ãããŠããŸããã ãŸããå°ããªã¡ã¢ãªãªãŒã¯ãçºçããŸãããããã¯ã°ã«ã¡åãã§ãã
ããã¯ã°ã©ãŠã³ãã§ã¿ã€ããŒãäœæããå¿ èŠãããå Žåã¯ãå®è¡äžã®ranloopãæã€ã¹ããªãŒã ãéžæããå¿ èŠããããŸãã ãŸãã¯ãGCDçšã®æ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããŸãã
- åä¿¡ããã¿ã¹ã¯ã ãµãŒããŒäžã§é
è²ãèšå®ãããŠããã¢ããªã±ãŒã·ã§ã³ãäœæããå¿
èŠããããŸãã ã€ãŸããã¢ããªã±ãŒã·ã§ã³ã¯ãè²ã®ã»ãããã¢ã€ã³ã³ã®äžžã¿ã®åºŠåããªã©ãå«ãæ§æãåãåããŸãã ãã®ãããªã¢ããªã±ãŒã·ã§ã³ãäœæããæè¯ã®æ¹æ³ã¯äœã§ããïŒ äœã䜿çšããŸããïŒ ãã®ãœãªã¥ãŒã·ã§ã³ãŸãã¯ãã®ãœãªã¥ãŒã·ã§ã³ã®å¶éã¯äœã§ããïŒ
ã¬ãã« ïŒãžã¥ãã¢/ããã«ä»¥äžã
泚æïŒåè£è ãUIAppearanceã«ã€ããŠæ²é»ããŠããããšãç¥ã¯çŠããŸãã ã¡ããã©cc *** mi ragsã§ãããé§åããŸãïŒç¹ã«äžéããã³ãªã³ã®å ŽåïŒã ããã§ã¯ãObj-Cåºåºã¯ã©ã¹ã«ã€ããŠãçè«ã®å°ããªäœè«ãšããŠè³ªåã§ããŸãã
åè£è ã¯ãUIAppearanceã®åäœã«ã€ããŠè©³ãã説æããå¿ èŠããªãããšã«æ³šæããŠãã ããã 圌ã¯æ±ºããŠããã䜿çšããããšã¯ã§ããŸããã§ãããã圌ã¯ãããäœã§ããããç¥ããªããã°ãªããŸããã
解決çã«ã©ãŒã¹ããŒã ã¯ã©ã¹ãäœæããUIAppearanceã䜿çšããŠãã¹ãŠã®UIèŠçŽ ãæ§æããŸãã ã«ã¹ã¿ã ãã¥ãŒã®å Žåããã®ãããã³ã«ãå®è£ ããŸãã ãã®ããŒãã«é¢ããåªããèšäºããããŸãã
- AppStoreã«åå ããã«ã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããæ¹æ³ã¯ïŒ ããšãã°ãæ°ããç»é¢ãšããžãã¯ãè¿œå ããŸãã ãã®ãããªãœãªã¥ãŒã·ã§ã³ã®å¶éã¯äœã§ããïŒ ã©ã¡ãã®å Žåãè¯ãã§ããïŒ ãã®ã¡ã«ããºã ãæ¬åœã«å¿
èŠã«ãªãã®ã¯ãã€ã§ããïŒ
ã¬ãã« ïŒã·ãã¢ã
解決çäžçŽè åãã®ã¿ã¹ã¯ã¯è§£æ±ºçãªãã«é²ã¿ãŸãã çµéšãç©ãã§ãã ããã玳士ã
- ããŒãã«ãæã€ã¢ããªã±ãŒã·ã§ã³ããããŸãã ã¹ã¯ããŒã«äžãå®æçã«è»œããã¬ãŒããããããŸãã ãã¹ã¿ãŒã¯æ確ãªãã¿ãŒã³ãæããã«ããŸããã§ããããåé¡ã¯å®æçã«çºçããŸãã ãã¡ãã¡ã§ãäžå¿«ãªé
ããçºçããŸãã 圌ãæãŸããæ¹æ³ã¯ïŒ äœã«æ³šæããŸããïŒ
ã¬ãã« ïŒäžé以äžã
解決çé»å®³ã®åå ã¯æ¬¡ã®ãšããã§ãã
- ã¡ã€ã³ã¹ã¬ããã®ãªãŒããŒããŒãã
- ããã»ã¹å
ã®ã€ã³ã¹ã¿ã³ã¹ã»ã«ã ããŒãã«ãè€æ°ã®ã¿ã€ãã®ã»ã«ã§æ§æãããŠããå Žåããã¥ãŒã«å¿
èŠãªã»ã«ããªããã°ãæåã«äœæãããŸããããã«ã¯ãªãœãŒã¹ãå¿
èŠã§ãã ç¹ã«ãã³å
ãã解åãããšãã
ãã€ãŠã圌ã¯libãäœæããŸãããããã«ãããã¹ã¯ããŒã«ãããšãã«ãžã£ã³ãããªãããã«ããã¹ãŠã®ã»ã«ãäºåã«äœæã§ããŸãã - æç»ãé«ãã®èšç®ãããã³åå©çšããããªãœãŒã¹ã«é¢ãããã¹ãŠã ãã®ç¹ã100ïŒ éããé©ãã¹ãç 究ããããŸãã
- ã¬ã«ã ã«ãã質åã åããã£ããïŒä»ã®äŸã䜿çšã§ããŸãïŒã䜿çšããã¢ããªã±ãŒã·ã§ã³ããããŸãããã®å ŽåãããŒãã«ã«ã¯æ¥ä»ãŸãã¯ãã®ä»ã®ãªãã·ã§ã³ã®åœ¢åŒã§ããã€ãã®åºåãèšå·ããããŸãã ã»ã¯ã·ã§ã³ã«åå²ããæãçç£çãªæ¹æ³ã¯äœã§ããïŒ ãªãã·ã§ã³ã¯äœã§ããïŒ
ã¬ãã« ïŒäžé以äžã
- CoreDataã«é¢ãã質åã åããã£ããã®ã¢ããªã±ãŒã·ã§ã³ããããŸãã ã¡ãã»ãŒãžã¯ãããã¯ã°ã©ãŠã³ãã¹ã¬ããã®1ã€ã®ãœã±ããããéä¿¡ãããŸãã åä¿¡ããã¡ãã»ãŒãžãããŒãã«ã«è¿œå ããå¿
èŠããããŸãã ã©ãããïŒ ãªãã·ã§ã³ã¯äœã§ããïŒ ããªãã¯ã©ããªå°é£ã«çŽé¢ããããšãã§ããŸããïŒ
ã¬ãã« ïŒãžã¥ãã¢/ããã«ä»¥äžã
- ç»é¢ãããããã®å
¥åã¯ãµãŒããŒãžã®ããã€ãã®èŠæ±ã«äŸåããŸãã ã€ãŸããã³ã³ãã³ãã¯ãã¹ãŠå®äºãããšãã«ã®ã¿è¡šç€ºãããå¿
èŠããããŸãã ããšãã°ãVKontakteããŒãžã ãŠãŒã¶ãŒã«é¢ããæ
å ±ãå£ããã®ã¡ãã»ãŒãžãåçã®æåã®ã¹ããªãŒã ãèªã¿èŸŒãŸãããŸã§ãé²è¡ç¶æ³ã€ã³ãžã±ãŒã¿ãŒãå転ããŸãã ããžãã¯ãã©ã®ããã«æ§ç¯ããŸããïŒ
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
泚æïŒããã§ã¯ãç¹ã«gcdã°ã«ãŒããç解ããOperation Queueã®ã¿ã¹ã¯ãåæããå¿ èŠæ§ã匷調ããŸãã åè£è ãããã決å®ãšå¥ã®æ±ºå®ã®éããäœã§ãããããŸã äŒããŠããã°ãçŽ æŽãããããšã§ãã
解決çãã£ã¹ãããã°ã«ãŒããåææäœã
- åé¡ããããŸããã é£ã®ããŒã ã®éçºè
ãé§ãã€ããŠå©ããæ±ããŠããŸããããªãªãŒã¹ã§ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ãå§ããŸãããããããã°ã§ã¯åé¡ãªãåäœããŸãã ã©ã®ããã«ééããèŠã€ããŸããïŒ äœã ããïŒ
ã¬ãã« ïŒäžé以äžã
泚æïŒåè£è ãçµæã«éäžããããšãéèŠã§ãã åé¡ãä¿®æ£ãããšããäºå®ã§ãããåå ã®æ€çŽ¢ã§ã¯ãããŸããã ãŸãããOKãGoogleããããŠå®éã«ã¯äœãã¯ã©ãã·ã¥ããªãã£ãç¬éããäœãå€ãã£ãã®ãïŒããšå°ããå¿ èŠããããŸãããããŠããšããµã€ãã£ã³ã°ãªãããã°ããã»ã¹ãéå§ããŸãã
ãªãããããšãŠãéèŠãªã®ãïŒããã»ã¹ã«ã¯äººãããŸãããçµæããããŸãã ããã»ã¹éçºè ã¯äŒç€Ÿã®ãéã䜿ãã ãã§ããããã¯ãäºçŽ°ã§ãªããã°ãèŠã€ãããšãã«ç¹ã«é¡èã§ãã 圌ãïŒéçºè ïŒã¯ãç¬èªã®èœåã享åããäžç¬ã®æµ·ããããåºããã³ã³ãã€ã©ã®ã¯ã©ãã·ã¥ãšãšã©ãŒã«é¢ããèšäºãèªã¿ãçãããã³ãŒããåé€ããã ãã§ååã ã£ããããã¡ã€ã©ãŒã«æ²¡é ããŸãã ããã¯ããããã¡ã€ã©ãŒãšãã¬ãŒã¯ã䜿çšããå¿ èŠããªããšããæå³ã§ã¯ãããŸããã ãããè¡ãç®çãç解ããå¿ èŠããããŸãã
解決çæåã«ãåºçºå°ãèšç®ããå¿ èŠããããŸãã å€ãã®å Žåãçãããã³ãŒããè¡šé¢ã«ãããæ€çŽ¢ãçµã蟌ãå¿ èŠããããŸãã
ãããã°ãå¿ èŠãªå Žåã¯ãã¢ãžã¥ãŒã«å šäœã®æé©å+é«éãèšå®ããã¯ã©ãã·ã¥ã確èªããŸãïŒSwiftã®å ŽåïŒã 90ïŒ ã®ç¢ºçã§ãããã°ã§åçŸãããŸãã é«åºŠãªãããã°ã¯æå³ããããŸããã
ã¢ãžã¥ãŒã«å šäœã®æé©åã®ã¿ãè©Šã¿ãããšãã§ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãé·ããµã€ã¯ã«ã§å€æ°ã®æäœãå®è¡ããç¹å®ã®ã¢ãžã¥ãŒã«ããããŸãã ããæç¹ã§ã¯ã©ãã·ã¥ãçºçããã¢ããªã±ãŒã·ã§ã³ãçµäºããã ãã§ãã 1è¡ããåºåãããªãå Žåã§ããåé¡ã¯æ®ããŸããã äŸãšããŠã³ãŒãã瀺ããŸãããå®éã«ã¯ãæäœã¯ã¯ããã«è€éã§ãªããã§ãããåºçºã¯ããé«éã§ãã
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { for index in 0...1000000 { let string = NSString(format: "test + %d", index) print(string) } return true }
äœã ããïŒ ãããæ²»ãæ¹æ³ã¯ïŒ
ã¬ãã« ïŒäžé以äžã
泚æïŒã¡ã¢ãªç®¡çã®ååãç解ããã å°ãªããšãäžè¬çã«ã
質åããã®ç¶æ³ã¯éåžžã«ãŸãã§ãããã¿ã¹ã¯ã¯å®å šã«æããããŸãã眲åè ã«ã®ã¿äœ¿çšãããã¹ãã§ãããä»ã®èª°ããä¿æ/解æŸ/ä¿æã«ãŠã³ããšä¿æãµãŒã¯ã«ã®ååšã«ã€ããŠç¥ãå¿ èŠããããšæããŸãã
解決çãã€ã³ãã¯autoreleasepoolã§ãã ç¬èªã®ããŒã«ãäœæããããèªå解æŸãããŠããªããªããžã§ã¯ãã䜿çšããŠåŠçãããŸãã
- å°ãã¯ã©ã·ãã¯ã ã¢ããªã±ãŒã·ã§ã³ã®ã«ã¬ã³ããŒã¯ã©ã¹ãäœæãã6æç
æ£ã®ã³ãŒãã¬ãã¥ãŒãå®æœãããšã次ã®ã³ãŒããèŠã€ãããŸãã
protocol CalendarDelegateProtocol { func didSelect(date: Date) } public class Calendar: UIView { var delegate: CalendarDelegateProtocol! ... func didReceiveTouchForDate(date: Date) { self.delegate.didSelect(date: date) print("Did touch: \(date)") } }
didReceiveTouchForDate-ç¹å®ã®æ¥ä»ãã¯ãªãã¯ããããšãã«åŒã³åºãããå éšã«ã¬ã³ããŒã¡ãœããã ããªãã®æèŠã§ã¯å€§äžå€«ã§ããïŒ
泚æããŠãã ããïŒå€ãã®åé¡ããããŸããã»ãšãã©ãã¹ãŠã®è¡ãæãäžããããšãã§ããŸãã ç³è«è ããã詳现ã«èŠãã»ã©ãããè¯ãã§ãã
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
解決ç// 'Protocol'. 'CalendarDelegate' protocol CalendarDelegateProtocol { // ? . optional. func didSelect(date: Date) } // public ? . public class Calendar: UIView { // weak? ':class' . // delegate force-unwrapped var delegate: CalendarDelegateProtocol! ... // . Swift 3 : didReceiveTouch(date:) // func didReceiveTouchForDate(date: Date) { // . self.delegate.didSelect(date: date) // . print("Did touch: \(date)") } }
- ãã¹ã¿ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãããã·ã¥ãããã°ãiOS 10ã§ã®ã¿çºçããiOS 9ã§ã¯çºçããªãããšãçºèŠããŸãããã©ã®ããã«ä¿®æ£ããŸããïŒ äœãåé¡ãªã®ã§ããããïŒ
åãã·ãªãŒãºã®å¥ã®åé¡ïŒããã·ã¥ã¯ãã¢ããªã±ãŒã·ã§ã³ãããã€ã¹ã«çŽæ¥ã€ã³ã¹ããŒã«ãããšãã«çºçããŸãããTestflight / Crashlytics / HockeyAppããã§ã¯ãããŸããã ãããšäžç·ã«æ®ããã«ã¯ïŒ
泚æïŒç³è«è ãåé¡ã®æ£ç¢ºãªå 容ã«ããã«çããããªãå Žåã¯ãã©ããããããæž¡ããŠè§£æ±ºçãèŠã€ããããšãææ¡ã§ããŸãã ã©ãããããã«è€æ°ã®ãã©ãŠã¶ãŒãåæã«ã€ã³ã¹ããŒã«ãããŠããå Žåã¯ãåé¡ãããŸããã ãã·ã¢èªãŸãã¯è±èªã§ãã©ã®æ€çŽ¢ãšã³ãžã³ã§æ€çŽ¢ã奜ãããã¯ãšãªã®äœææ¹æ³ãªã©ãç解ã§ããŸãã
ã¬ãã« ïŒäžé以äžã
解決çãããããéç¥ã¯éçºèšŒææžãšãšãã«ã®ã¿éä¿¡ãããŸãã ç³è«è ãã©ã®ããã«è§£æ±ºçã暡玢ãããã«ãã£ãšæ³šæãæãå¿ èŠããããŸãã
- 1次å
ã®æååé
åããããããããããŒã¿ãããŒãã«ã«è¡šç€ºãããŸãã ãã®å Žåãé
åã¯å€éšã®ã©ãããã§ãå€æŽã§ããŸãã é
åã®å€æŽã«å¿ããŠããŒãã«ã®ããŒã¿ãæŽæ°ããæ¹æ³ã¯ïŒ ããšãã°ããªããžã§ã¯ããé
åã«è¿œå ãããå Žåãæ°ããè¡ãããŒãã«ã«è¡šç€ºãããŸãã
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
解決çKVO å®å šã«ã¯ãªãŒã³ãªãœãªã¥ãŒã·ã§ã³ãå¿ èŠãªå Žåã§ããããã€ãã®ã¡ãœããã鳎ããããšãã§ããŸãã
- èªåã¬ã€ã¢ãŠãã䜿çšããŠãã¹ããŒãªãŒããŒãã§Skypeã®èªèšŒç»é¢ãäœæããŠããŸãã ããã¯ãšãŠãèµ·ãããŸããã ãã¹ãŠãã·ã³ãã«ã§ã-æ£æ¹åœ¢ã®ããŽããã®äžã®ããã¹ãããã¯ã¹ãšãã¿ã³ã
ããªãã¯ã¯ãŒã«ã§ããã¹ãŠãå®äºããŸããããããã§ãã¶ã€ããŒã¯ã暪åãã§ã¯ããŽã¯äžã§ã¯ãªãå³ã«ããã¹ãã ãšèšã£ãŠããŸãã ã©ãããïŒ
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
解決ç
- ç¹å®ã®ãµã€ãºã®2ã€ã®ç»åãäžäžã«äžŠã¹ãŠã¹ã¯ããŒã«ãã¥ãŒãäœæããç»é¢ã®ç«¯ãã30pxã§ã€ã³ãã³ãããå¿
èŠããããŸãã å®æ°ãšãªããã®ãã·ãŒãã«æããŸãã
泚ïŒåè£è ã¯ãscrollViewã®ã³ã³ãã³ããµã€ãºã®æ±ºå®æ¹æ³ãç解ããŠããŸããïŒ ãããŠã圌ãã€ã³ã»ããã«ã€ããŠèŠããŠããã°ãããã¯äžè¬çã«çŽ æŽãããã§ãã ã³ã³ãã³ããã€ã³ãã³ãããã«ãã®ãµã€ãºå šäœã«ã¹ã¯ããŒã«ããç»é¢ã®ç«¯ããã®è·é¢ã¯ããŒãžã³ãä»ããŠè¡ãããšããå§ãããŸãã
ã¬ãã« ïŒãžã¥ãã¢ä»¥äžã
質åã¯äŸãšããŠäžããããŠããŸãã ãããããå Žåã¯ãããäžåºŠç¢ºèªããŸãã
UPD1ïŒã»ãšãã©ã®åé¡ã«å¯Ÿãããœãªã¥ãŒã·ã§ã³ãè¿œå ããŸããã ååšããªãå Žåãã¿ã¹ã¯ã¯ç°¡åã«ã°ãŒã°ã«æ€çŽ¢ãŸãã¯åå¥ã«è§£æ±ºãããŸãã
ç§ã®ã¡ãã»ãŒãžã¯æ¬¡ã®ãšããã§ã-å®çšçãªã¿ã¹ã¯ã䜿çšããŠãã ããã é©åãªãã®ãèŠã€ãããªãã£ãå Žåã¯ãèªåã§äœæããŠãã ããã çŸç§äºå žã§ã¯ãªããäžçã®ãã¹ãŠãç¥ã£ãŠããã ãã§ãªããä»äºãããå°é家ãéããŸãã ããã«ãæ°ç§ã§Googleã§èŠã€ããããšãã§ãããã®ãå¿ããªãã§ãã ããã äž»ãªããšã¯ãäœãæ¢ãã¹ãããç解ããããšã§ãã
ã·ã£ãŒããã¯ã»ããŒã ãºæ°ãèšã£ãããã«ãå¿ èŠãªéå ·ã ããç§ã®å±æ ¹è£éšå±ã«ããã¹ãã§ãã
ç®ã«èŠããªãæª
ããããçããã質åã ããåé¡ã§ã¯ãããŸããã æåããåè£è ã§ããæããããããšãã§ããå¥ã®èŠå ããããŸãã ããã¯ç¡ç€Œã,æ ¢ããŸãã¯rogæ ¢ãªæ 床ã§ãã ãããŠãç§ã¯å¥³ã®åã®æéãéèŠãªå¹¹éšã®è©±ã§ã¯ãããŸããã ãããŠãå°æ¥ã®ååã«ã€ããŠã
ã€ã³ã¿ãã¥ãŒãåããå€ãã®å Žæã§ã¯ãæè¡é¢æ¥ã¯ã人äºãã¬ã€ãããã®ãªãã¶ãŒããŒã®ç«ã¡äŒããªãã«è¡ãããŸãã å šäœãšããŠäœãèªç¶ãªã®ããçšèªã®åèªãç解ããŠããªã人ãã質åãšåçã®ã¹ã¿ã€ã«ã§éå±ãªäŒè©±ãããã®ã«1æéãè²»ãããªããã°ãªããªãã®ã¯ãªãã§ããïŒ
ãããããªãã å€ãã®éçºè ã¯ãã€ã³ã¿ãã¥ãŒãèªåèªèº«ã䞻匵ããæ©äŒãšèããŠããŸãã ãããŠç¥èã®ãã¹ãã¯ãåè£è
xkcdã«ã¯ã錻ãèšãããšãããããã¯ã«é¢ããçŽ æŽãããåçããããŸãã
ããããããã¯ãã¹ãŠã颚å€ãããªäººã ããéçºã«è¡ãããšãæå³ããããã§ã¯ãããŸããã æè¡è ã«äº€æžãã€ã³ã¿ãã¥ãŒã®å®æœãæ¬æã®ãã察話ã®æ§ç¯ãåã«æãã人ã¯ããŸããã ãããŠãåçŽã«å²ãŸããæã«ã¯è©°ãŸã人ã«äŒãããšãçãããããŸããã çµå¶é£ã¯ãããã®ç·ãç§ãã¡ã«åã£ãŠãããã©ããã«é¢ä¿ãªãããã®ç·ã®ã¬ãã«ããã§ãã¯ããŠãã ããããšããèšèã§åœŒãã容赊ãªãæã蟌ã¿ãŸãã
ãã ããæšæºãèšèšããŸãã¯èŠä»¶ã¯ãããŸããã ãã£ãŒãããã¯ããŸã£ãããªãç¶æ ã§ãå šå¡ãç解ãšæ 床ã®ç¯å²ã§ã€ã³ã¿ãã¥ãŒãå®æœããŸãã çµå±ã®ãšããããã®ãã£ãŒãããã¯ãæäŸã§ããã®ã¯èª°ã§ããïŒ ãªãŒããŒã·ãã/人äºããã³åè£è ã åè ã¯ããã»ã¹ã«åå ãããäœãèšãããšãã§ãããåè£è ã¯ç¢ºãã«ãããŸã§ã§ã¯ãããŸããã ããããåãå ¥ããããå Žåããã¹ãŠãæ£åžžã§ãã ããã§ãªãå Žåãããã«è©±ãããæå³ã¯äœã§ããïŒ
ããããã¹ãŠãäŒæ¥ãšåéçºè ã«åå¥ã«äŒããããšæããŸããé¢æ¥ã®æ¹æ³ã ãã§ãªããéšäžãååãšã®ã³ãã¥ãã±ãŒã·ã§ã³æ¹æ³ã«ã泚æãæã£ãŠãã ããã çºããæ§ã®æ 床ã¯ãç³è«è ã ãã§ãªã瀺ãããšãã§ããŸãã
誰ãã«ããã€ãã®ã€ã³ã¿ãã¥ãŒã«åå ããŠãããããã£ãŒãããã¯ããé¡ãããŸãã åè£è èªèº«ã«ããããäžå¿«ã§ãããäœãä»ã®ãã®ã§ãããã©ãããåŸã§ã©ã®ããã«è¡ã£ãããå°ããŸãã ããã¯ã³ãŒãã¬ãã¥ãŒã®ãããªãã®ã§ãããã§ã¯æ¥ãã¹ãããšã¯äœããããŸããã ããªãã¯ã¹ãã·ã£ãªã¹ããšããŠã®ã¿è¯ããªããŸãã
æ¬æãè¡šããã³ãã¥ãã±ãŒã·ã§ã³ã¯ãæè¡åéã®æšæºã§ããã¹ãã§ãã
ãããã«
ãã®èšäºãå°ãªããšã1ã€ã®äŒç€Ÿã®ç¶æ³ãå€ãããªããç§ã®åªåã¯ç¡é§ã§ã¯ãããŸããã§ããã
æã圹ã«ç«ã€è³ªåãèŠã€ããããšããŸããã ãªã¹ããããã«è£å ããå¿ èŠãããå Žåã¯ã次åã¯ããã«å¥ã®åºçç©ãæ§ããŸãã
ã¹ãã·ã£ãªã¹ãã確èªããããã«ã€ã³ã¿ãã¥ãŒã§åºãã質åãã¿ã¹ã¯ãå ±æããŠããã ããã°çŽ æŽãããããšã§ãã çµå±ãã¬ãã«ãç解ããã®ã«5åããå¿ èŠãšããããããã1æéå挬ããŸãã
ãããŠåœŒããèšãããã«ããäºããå°éããŸãã çŽ æã®ç¥èã®æ·±ãã«é¢ä¿ãªããããã¯ä»äººãèŠäžãçç±ã§ã¯ãããŸããã ã¢ãŒã¡ã³