ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãå質ä¿è¨¼ãå¦ãã§ããã£ãã㨠/ What software engineers have learned about quality assurance

ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãå質ä¿è¨¼ãå¦ãã§ããã£ãã㨠/ What software engineers have learned about quality assurance
ä¸æ£Androidã¢ããªã®å¤§éçç£ã¯ã©ãããã°é²ããã®ãï¼Androidã»ãã¥ãªãã£æè¡ã®æåç·ï¼3ï¼ï¼1/3 ãã¼ã¸ï¼ Androidã¢ããªããããã»ãã¥ãªãã£å¯¾çæè¡ã«ã¤ãã¦è§£èª¬ããæ¬é£è¼ã第3åã¯ãä¸æ£ã¢ããªãçã¿åºãããä»çµã¿ã¨ããã妨害ããããã®å¯¾çã«ã¤ãã¦è§£èª¬ããã é£è¼ç®æ¬¡ Androidã®ã»ãã¥ãªãã£å¯¾çæè¡ãç´¹ä»ããæ¬é£è¼ã第2åã§ã¯ã主ã«ãã¢ããªããã«ã¦ã§ã¢ã§ãªããããã¢ããªã«èå¼±ï¼ãããããï¼æ§ãåå¨ããªããããå¤å®ããæè¡ã«ã¤ãã¦è§£èª¬ããã 第3åã¨ãªãä»åã¯ãååã¨åæ§ã«ãã¢ããªãã®ã»ãã¥ãªãã£ã«çç®ããããªããã±ã¼ã¸ãã«ãã£ã¦æ£è¦ã®ã¢ããªã«ãªããã¾ãããã«ã¦ã§ã¢ãä½æãããå±éºæ§ãããªããã±ã¼ã¸ã®èªååã«ãããã«ã¦ã§ã¢ã大éçç£ããã¦ããç¾ç¶ã説æããªããã±ã¼ã¸å¯¾çã®ç¾ç¶ããã³ä»å¾ã«ã¤ãã¦è§£èª¬ããã ããªããã±ã¼ã¸ãã«ãã£ã¦ä½æãããAndroidãã«ã¦ã§ã¢ ã
æè¿ãã¹ãã¼ããã©ã³ã¢ããªéçºããã人å¢ãã¦ãã¦ãªã¹ã¹ã¡ã®æ¬ããï¼ã£ã¦èããããã¨å¤ããªã£ã¦ããã®ã§ããããã®äººã®ããã¯ã°ã©ã¦ã³ãã«ããã¨ããã大ããã¨æãã®ã§ãèªåãAndroidã¢ããªéçºãå§ããã¨ãã«èªãã§ã¦å½¹ã«ç«ã£ãããããã¯èªãã§ããããã£ãã¨ããç®ç·ã§ãè¯ãã£ãæ¬ãããã¤ãæãããã¨æãã¾ãã Effective Java Javaçéã§ã¯å¤ãã®äººãèªãã§ããã¨æãã¾ãããAndroidããJavaã«å ¥ã£ã人ã ã¨èªãã ãã¨ããªã人ãããã¨æãã¾ãã Javaãæ¸ãä¸ã§ã®ã¨ãã»ã³ã¹ãè©°ãè¾¼ã¾ãã¦ããã®ã§ãã¾ã èªãã§ããªãæ¹ã¯èªããã¨ããããããã¾ãã JUnitå®è·µå ¥é Androidã ã¨ãã¹ããæ¸ãããªããã¨ãå¤ãã§ããããããæ¸ããæ¹ããããã°ã®æéãçããªãä¸ã«ä¿å®ããããããªãã¾ããããã¹ããæ¸ããããæ§é ãæèããããã«ãªã£ã¦ãä¸éãæ©ããªãã¾ãããè¨è¨ã綺éºã«ãªãã¾ã
Androidãããã¯ã¼ã¯ããã°ã©ãã³ã°ç¨ã©ã¤ãã©ãªãVolleyãã解説ãã¾ãã ã¢ãã¤ã«ã¢ããªãéçºããã«ããã£ã¦ãããã¯ã¼ã¯éä¿¡ã®ç¥èã¯æ¬ ãããªããã®ã¨ãªã£ã¦ããä¸æ¹ããããã¯ã¼ã¯ããã°ã©ãã³ã°ã®ä¸çã«ã¯ãã£ãã·ã¥ãé«éåããã¼ã¿åå¾ããã£ã³ã»ã«å¦çãªã©ããã°ã©ãã³ã°ãã¯ããã¯ãå¤æ°åå¨ãã¦ã¾ãããããã®èª²é¡ãå¹ççã«è§£æ±ºããæ¹æ³ãVolleyã©ã¤ãã©ãªã§ãã Volleyå ¬å¼ãã¼ã¸ https://android.googlesource.com/platform/frameworks/volley/ Volleyã®æ©è½ç´¹ä»ã¨ã¨ãã«ãã£ãã·ã³ã°ããã£ã³ã»ã«å¦çãªã©ãããã¯ã¼ã¯ããã°ã©ãã³ã°ã«æ¬ ãããªãå¦çãVolleyã®å®è£ ãã¤ãã£ã¦é çªã«è§£èª¬ãã¦ããã¾ãã é常ã«é·ãè¨äºã§ãã®ã§å§ãã«ç解ãæ·±ããããã®å é¨å¦çãç´¹ä»ãã¾ããAPIãªã©è©³ç´°ã¯è¨äºã®éä¸ã§éæ解説ãã¾ãã ãããã¯ã¼
â»ç®æã100ã âå°å¤ã¯ç«ã«æ¸¡ããããªã ã便å©ãªã©ã¤ãã©ãªã¨ãOSSéãæãã¦æ¬²ãããã¨ããã³ãã³èãããã®ã§ãããå®éã®ã¨ããåããã¦è©ä¾¡ããªãã¨åãããªããã§ããããæãã¦ããã¼ã¯ã¼ãã®ã¿éµåã¿ã«ãã¦ä½¿ãæ¹ééã£ã¦ã人ã¨ãå¤ãã¦ãçµå±è©¦è¡ã»è©ä¾¡ããããªãã®ã¹ãã¼ãã§åãã人ãããªãã¨ä½¿ãããªããªãã¨ããã...ã ã§ããããç¥ã£ã¦ãã»ç¥ããªãã¨ããã¼ãã¤ãã®å·®ã¯ããã ãããã¨ããææãããããã¾ãã©ãã ãç¥ã£ã¦ãããã®ãã§ãã¯ãªã¹ãã¨ãã¦ã¯ä½¿ããã®ã§ã¯ãªãã ããããã¨ãããã¨ã§ä¸¦ã¹ã¦ã¿ããã¨ã«ãã¾ããã 使ã£ããã¨ãç¡ãã®ã¯æãã¦ãã¾ãããããããããæ°å¹´çµã£ã¦ã¾ãã®ã§ç¶æ³ãå¤ãã£ã¦ãããããã¾ããã 以ä¸ããªã¹ãã Apache Commons http://commons.apache.org/ ã5è¡ï¼ã¨ã©ã¼å¦çãã1è¡ã«æ¸ã¾ãã¦ãããUtil群ã主ä½ã IOãLangãCo
6. JSONãXMLã®ãã¼ã¹ { âidâ : 0, ânameâ : âtsubuâ, âplace_nameâ : âa-teamâ } public class Meeting { private int id; private String name; private String placeName; public void setId(int id) { this.id = id; } public void getId() { return id; } // (çç¥) } JSON POJO ãã¼ã¹ï¼ãã·ãªã¢ã¤ãºï¼ ã·ãªã¢ã©ã¤ãº 7. ãã¼ãµã¼ãæ¸ã public class MeetingParser { private interface Key { String ID = âidâ, String NAME = ânameâ, String PLACE_NAME =
æ¨æ¥ã®ã¨ã³ããªã¼ã«å¼ãç¶ãï¼ããããã¦ãã¦çãªãã®ãç®æ¡æ¸ãã§ã¾ã¨ãã¦ãããæãä»ããé ã«è¿½å ãã¦ããäºå®ã Activityé¢é£ æ°¸ç¶åã¯onPauseã§è¡ã*1ã詳ããã¯Activityã®ã©ã¤ããµã¤ã¯ã«å³ãåç §ã®ãã¨ã onPauseã¨å¯¾ã«ãªã£ã¦ããå¦çã¯ï¼onResumeã§è¡ããã¨ãonStart/onStopã¯ããã¾ã使ããªãï¼æ°ãããã Dialogã¯AlertDialog.Builderã使ã£ã¦å®è£ ããã®ã楽ããã ãï¼è£ã§ä½ããã®å¦çãè¡ãªã£ã¦ããéï¼ã¦ã¼ã¶ã¼ã«æä½ããããªãããã«è¡¨ç¤ºãããã¤ã¢ãã°ï¼ããããProgressDialogï¼ã¯ä½¿ããªãããã«ãããDialogã§ã¯ãªãActivityãæ°ããä½ã£ã¦è¡¨ç¤ºããããã¨ã§ï¼ããã¤ãã®ãã©ãã«ãåé¿ã§ãã*2 *3ã éãã¿ã¹ã¯ã¯UIã¹ã¬ããã§å¦çããªããAsyncTaskãªã©ã使ã£ã¦ã¯ã¼ã«ã¼ã¹ã¬ããã§å®è¡ããããã ãï¼ã¯ã¼ã«
Googleã®ä¸ã®äººãä½ã£ãGoogle I/Oç¨ã®Androidã¢ã㪠iosched ããªã¼ãã³ã½ã¼ã¹ã§å ¬éããã¦ããã®ã§ãããAndroidã¢ããªãéçºããæã«é常ã«åèã«ãªãã®ã§ï¼Table対å¿ãããã¼ã¸ã§ã³ããé£è§£ã«ãªã£ãã®ãããã¯ã§ããï¼ç´¹ä»ãããã®ã§ããããã«ãããã¾ã§å°ãä½æ¥ãå¿ è¦ãªã®ã§ãã¦ã³ãã¼ããã¦ãã«ãããã¨ããã¾ã§æé ãã¡ã¢ã£ã¦ããã¾ãã Mercurialãã¤ã³ã¹ãã¼ã«ãã ã½ã¼ã¹ã³ã¼ãã®ãã§ãã¯ã¢ã¦ããã¼ã¸ã«è¡ã㨠hg clone https://code.google.com/p/iosched/ã¨æ¸ãã¦ãã£ã¦ãsvnãgitã§ã¯ãªãhgãªã®ã§Mercurialãå¿ è¦ã¿ããã§ãã ã¨ãããã¨ã§ãbrewã§ããã£ã¨å ¥ãããããªã¼ã¨æã£ããã©ä½ãå«ãªäºæï¼ä»æãã°ä»åã«éã£ã¦ãªãã§å«ãªäºæãæãããä¸æè°ã§ãããããªããã©ï¼ããã¦ã°ã°ã£ããbrewã§Mercur
id:naoya ããã®è¨äºã§æ°ã¥ãã Titanium ã§ãããã¾ãã«æ¥½ããã®ã§ãã1é±éã»ã©æãããã°ã³ã¼ããæ¸ãã¦ãã¾ããããããããããã¯ãã¬ãã«ã®ã¢ããä»ä¸ãããããªã®ã§ AppStore ã«æåºãããã¨ããã ãã ããiPhoneã¨Andoridã¢ããªãä¸æ°ã«ä½ãããã¨ãæã£ã¦ãããã¨çµæ§æ©ç¨®ä¾åã®ã³ã¼ããæ¸ãå¿ è¦ã«è¿«ãããã®ã§æå¾ ãè£åããã¾ãããã¸ãã¯ã®ã³ã¼ããå ±éåã§ãããããã«èãã¦ããã»ããæ°æ¥½ã ã¨æãã¾ããããã§ããCã§æ¸ãã¦iPhone,Androidã§å ±éåããããã¯ãã£ã½ã©ããã ã¨æãã¾ããã æè¿ã¯ iPhone ã§åããã¨ã ããèãã¦ãå®è£ ãã¦ããã®ã§ãä»å㯠Objective-C ã§å®è£ ãã¦ããæã¨ã®æ¯è¼ ã¯ã¾ãã©ãã PhoneGap ã¨ã®éã ãã¡ã¢ãã¦ããã¾ãã Objective-Cã¨æ¯ã¹ã¦è¯ã ã¡ã¢ãªç®¡çä¸è¦ ããããã ãã§ãåã¯ç§»è¡ããããª
é«æ§è½ã¨ã¯å¦çãæ©ãã¦å¿çæ§ã®é«ãã¢ããªã®ãã¨ã ANRãã¤ãã³ãã«ã¼ãã®åæ¢ãé²ãæè¡ ããã«ããã¯ã¨ãªãI/Oã¢ã¯ã»ã¹ã«ã¤ã㦠ã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹æé©åææ³ ã«ã¤ãã¦è§£èª¬ãAndroidã®ä»å¾ã®äºå®ã«ã¤ãã¦ãQ&Aã§çãã¾ãã é¢é£ãã¼ã¸ AsyncTask http://developer.android.com/intl/ja/reference/android/os/AsyncTask.html (追è¨)TechBoosterã«è§£èª¬è¨äºãè¼ãã¾ãã(via @kacchi0516) TechBooster Asynctaskã使ã£ã¦éåæå¦çãè¡ã http://techbooster.jpn.org/application/1339/ IntentService http://developer.android.com/intl/ja/reference/andr
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}