ã°ããŒãã«ãŠãŒã¶ãŒåãã«å ç¢ã§ä¿¡é Œæ§ã®é«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãããã³ããšã³ããšã©ãŒè¿œè·¡ãæ¬çªç°å¢ãšã©ãŒç£èŠãããã³åŸ©æ§æŠç¥ã«é¢ããå æ¬çãªã¬ã€ãã
ããã³ããšã³ããšã©ãŒè¿œè·¡: ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®æ¬çªç°å¢ãšã©ãŒç£èŠãšåŸ©æ§
仿¥ã®ããŒã¹ã®éãããžã¿ã«äžçã§ã¯ããŠãŒã¶ãŒã¯ã·ãŒã ã¬ã¹ã§ä¿¡é Œæ§ã®é«ããŠã§ãäœéšãæåŸ ããŠããŸããå°ããªããã³ããšã³ããšã©ãŒã§ãããŠãŒã¶ãŒæºè¶³åºŠã«å€§ããªåœ±é¿ãäžãããã©ã³ãã®è©å€ãæãªããæçµçã«ã¯åçã«æªåœ±é¿ãåãŒãå¯èœæ§ããããŸããããã¯ããããã¯ãŒã¯ç¶æ³ããã©ãŠã¶ã®äºææ§ãå°åããŒã¿ã®å·®ç°ã«ãã£ãŠäºæãã¬åé¡ãçºçãããã°ããŒãã«ãŠãŒã¶ãŒåãã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ç¹ã«é¡èã§ããå ç¢ãªããã³ããšã³ããšã©ãŒè¿œè·¡æŠç¥ã®å®è£ ã¯ããã¯ãèŽ æ²¢ã§ã¯ãªããæåãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã»ç¶æããããã«äžå¯æ¬ ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãããã³ããšã³ããšã©ãŒè¿œè·¡ã®äžçãæ·±ãæãäžããæ¬çªç°å¢ã§ã®ãšã©ãŒç£èŠãåŸ©æ§æŠç¥ããããŠäžçäžã§å®ç§ãªãŠãŒã¶ãŒäœéšãä¿èšŒããããã®ãã¹ããã©ã¯ãã£ã¹ãã«ããŒããŸãã
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãããŠããã³ããšã³ããšã©ãŒè¿œè·¡ãéèŠã§ããçç±
ããã³ããšã³ããšã©ãŒã¯ãJavaScriptã®äŸå€ãç»åç ŽæãããUIã®äžå ·åãAPIãªã¯ãšã¹ãã®å€±æãŸã§ãããŸããŸãªåœ¢ã§çŸããå¯èœæ§ããããŸãããããã®ãšã©ãŒã¯ã以äžãå«ãç°ãªãåå ããçºçããå¯èœæ§ããããŸãã
- ãã©ãŠã¶ã®éäºææ§: ç°ãªããã©ãŠã¶ã¯ãŠã§ãæšæºã®è§£éãç°ãªããã¬ã³ããªã³ã°ã®äžæŽåãJavaScriptå®è¡ãšã©ãŒãåŒãèµ·ãããŸããå€ããã©ãŠã¶ããŒãžã§ã³ã¯ç¹ã«åé¡ãšãªãããšããããŸãã
- ãããã¯ãŒã¯ã®åé¡: é ãããŸãã¯ä¿¡é Œæ§ã®äœããããã¯ãŒã¯æ¥ç¶ã¯ãã¢ã»ããã®ããŒã倱æãAPIãªã¯ãšã¹ãã®ã¿ã€ã ã¢ãŠããJavaScriptã³ãŒãã®äžæ£ç¢ºãªå®è¡ãåŒãèµ·ããå¯èœæ§ããããŸããããã¯ãã€ã³ã¿ãŒãããã€ã³ãã©ãæªçºéãªå°åã§ç¹ã«éèŠã§ãã
- ãµãŒãããŒãã£ã©ã€ãã©ãªãšAPI: ãµãŒãããŒãã£ã©ã€ãã©ãªãAPIã®ãã°ããäºæãã¬ãšã©ãŒãã¢ããªã±ãŒã·ã§ã³ã«ããããããšããããŸãã
- ãŠãŒã¶ãŒå ¥å: ç¡å¹ãŸãã¯äºæãã¬ãŠãŒã¶ãŒå ¥åã¯ããã©ãŒã æ€èšŒãããŒã¿åŠçã«ãããŠãšã©ãŒãåŒãèµ·ããå¯èœæ§ããããŸãã
- ã³ãŒãã®æ¬ é¥: ã¿ã€ãã誀ã£ãããžãã¯ãªã©ã®åçŽãªããã°ã©ãã³ã°ãã¹ããã©ã³ã¿ã€ã äŸå€ã«ã€ãªããããšããããŸãã
- ããã€ã¹åºæã®åé¡: ç»é¢ãµã€ãºãåŠçèœåããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãç°ãªãã¢ãã€ã«ããã€ã¹ã¯ãç¬èªã®èª²é¡ãæç€ºããå¯èœæ§ããããŸãã
- ããŒã«ãªãŒãŒã·ã§ã³ããã³åœéå (i18n) ã®åé¡: 誀ã£ãããŒã«ã©ã€ãºã³ã³ãã³ããæ¥ä»/æå»ãã©ãŒãããã®ãšã©ãŒããŸãã¯æåãšã³ã³ãŒãã£ã³ã°ã®åé¡ã¯ãUIãç Žå£ãããŠãŒã¶ãŒãèç«ãããããšããããŸãã
ã°ããŒãã«ãŠãŒã¶ãŒã察象ãšããã¢ããªã±ãŒã·ã§ã³ã§ã¯ããããã®èª²é¡ã¯å¢å¹ ãããŸãããããã¯ãŒã¯é床ãããã€ã¹ã®çš®é¡ãããŒã«ãªãŒãŒã·ã§ã³èŠä»¶ã®éãã¯ãæœåšçãªãšã©ãŒã®è€éãªç¶æ³ãçã¿åºãå¯èœæ§ããããŸããé©åãªãšã©ãŒè¿œè·¡ãè¡ãããŠããªããšããŠãŒã¶ãŒããŒã¹ã®å€§éšåã«å£ããããŸãã¯äžè²«æ§ã®ãªããšã¯ã¹ããªãšã³ã¹ãæäŸããŠããŸããªã¹ã¯ããããŸããç±³åœäžå¿ã®æ¥ä»è§£ææ©èœã«ãããæ¥æ¬ã®ãŠãŒã¶ãŒãå£ããæ¥ä»ãã©ãŒãããã«ééããããæé©åãããŠããªãç»åã®ããã«ãã©ãžã«ã®ãŠãŒã¶ãŒãèªã¿èŸŒã¿ã®é ãã«çŽé¢ãããããç¶æ³ãæ³åããŠã¿ãŠãã ããããããã®äºçްã«èŠããåé¡ãã察åŠãããªããã°å€§ããªåé¡ãžãšçºå±ããå¯èœæ§ããããŸãã
广çãªããã³ããšã³ããšã©ãŒè¿œè·¡ã¯ã以äžã«åœ¹ç«ã¡ãŸãã
- åé¡ã®ç¹å®ãšåªå é äœä»ã: ãšã©ãŒãèªåçã«æ€åºãããã°ã«èšé²ããããšã§ãååé¡ã®çºçé »åºŠã圱é¿ãæ ¹æ¬åå ã«é¢ãã貎éãªæŽå¯ãæäŸããŸãã
- 解決ãŸã§ã®æéççž®: ãã©ãŠã¶ããŒãžã§ã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãªã©ã®ã³ã³ããã¹ãæ å ±ãåéãããšã©ãŒãè¿ éã«èšºæãä¿®æ£ããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäž: ãŠãŒã¶ãŒã«é倧ãªåœ±é¿ãäžããåã«åé¡ãç©æ¥µçã«å¯ŸåŠããããšã§ãããã¹ã ãŒãºã§ä¿¡é Œæ§ã®é«ããšã¯ã¹ããªãšã³ã¹ãå®çŸããŸãã
- ã³ã³ããŒãžã§ã³çã®åäž: ãã°ã®ãªãã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã®ä¿¡é Œãé«ããã³ã³ããŒãžã§ã³çã®åäžã«ã€ãªãããŸãã
- ããŒã¿ã«åºã¥ããæææ±ºå®: ãšã©ãŒããŒã¿ã䜿çšããŠãã³ãŒãããŒã¹ãéçºããã»ã¹ã«ãããæ¹åç¹ââãç¹å®ããŸãã
- ã°ããŒãã«ãªããã©ãŒãã³ã¹ç£èŠ: å°åããšã®ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã远跡ããããŒã«ã©ã€ãºãããåé¡ãç¹å®ããŠå¯ŸåŠããŸãã
ããã³ããšã³ããšã©ãŒè¿œè·¡ã·ã¹ãã ã®äž»èŠã³ã³ããŒãã³ã
å æ¬çãªããã³ããšã³ããšã©ãŒè¿œè·¡ã·ã¹ãã ã«ã¯ãéåžžã以äžã®ã³ã³ããŒãã³ããå«ãŸããŸãã
1. ãšã©ãŒãã£ããã£
ãšã©ãŒè¿œè·¡ã·ã¹ãã ã®äž»ãªæ©èœã¯ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã§çºçãããšã©ãŒããã£ããã£ããããšã§ããããã¯ã以äžã®ããŸããŸãªææ³ã§å®çŸã§ããŸãã
- ã°ããŒãã«ãšã©ãŒãã³ããªã³ã°: æªææã®äŸå€ããã£ãããããšã©ãŒè¿œè·¡ã·ã¹ãã ã«ãã°ãèšé²ããã°ããŒãã«ãšã©ãŒãã³ãã©ãŒãå®è£ ããŸãã
- Try-Catchãããã¯: ãšã©ãŒãçºçããããå¯èœæ§ã®ããã³ãŒããããã¯ãtry-catchã¹ããŒãã¡ã³ãã§å²ã¿ãäŸå€ãé©åã«åŠçããŸãã
- Promiseãªãžã§ã¯ã·ã§ã³ãã³ããªã³ã°: æªåŠçã®Promiseãªãžã§ã¯ã·ã§ã³ããã£ããã£ãããµã€ã¬ã³ããªå€±æãé²ããŸãã
- ã€ãã³ããªã¹ããŒãšã©ãŒãã³ããªã³ã°: ã€ãã³ããªã¹ããŒã®ãšã©ãŒãç£èŠããããã«å¿ããŠãã°ãèšé²ããŸãã
- ãããã¯ãŒã¯ãšã©ãŒãã³ããªã³ã°: 倱æããAPIãªã¯ãšã¹ãããã®ä»ã®ãããã¯ãŒã¯é¢é£ãšã©ãŒã远跡ããŸãã
ãšã©ãŒããã£ããã£ããéã«ã¯ãå¯èœãªéãå€ãã®ã³ã³ããã¹ãæ å ±ãåéããããšãéèŠã§ããããã«ã¯ä»¥äžãå«ãŸããŸãã
- ãšã©ãŒã¡ãã»ãŒãž: ã¹ããŒãããå®éã®ãšã©ãŒã¡ãã»ãŒãžã
- ã¹ã¿ãã¯ãã¬ãŒã¹: ãšã©ãŒãåŒãèµ·ãããã³ãŒã«ã¹ã¿ãã¯ã§ããããã°ã®ããã®è²ŽéãªæããããæäŸããŸãã
- ãã©ãŠã¶ãšOSæ å ±: ãŠãŒã¶ãŒã®ãã©ãŠã¶ããŒãžã§ã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããã€ã¹ã¿ã€ãã
- ãŠãŒã¶ãŒID: ãšã©ãŒãçµéšãããŠãŒã¶ãŒã®IDïŒå©çšå¯èœãªå ŽåïŒã
- URL: ãšã©ãŒãçºçããããŒãžã®URLã
- ã¿ã€ã ã¹ã¿ã³ã: ãšã©ãŒãçºçããæå»ã
- ãªã¯ãšã¹ããã€ããŒã: APIãªã¯ãšã¹ãäžã«ãšã©ãŒãçºçããå Žåããªã¯ãšã¹ããã€ããŒãããã£ããã£ããŸãã
- ã¯ãããŒ: ãšã©ãŒã®åå ãšãªã£ãŠããå¯èœæ§ã®ããé¢é£ã¯ãããŒã
- ã»ãã·ã§ã³ããŒã¿: ãŠãŒã¶ãŒã®ã»ãã·ã§ã³ã«é¢ããæ å ±ã
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®å ŽåããŠãŒã¶ãŒã®ãã±ãŒã«ãšã¿ã€ã ãŸãŒã³ããã£ããã£ããããšãéèŠã§ããããã«ãããããŒã«ã©ã€ãŒãŒã·ã§ã³é¢é£ã®åé¡ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
äŸ:
```javascript
window.onerror = function(message, source, lineno, colno, error) {
// ãšã©ãŒæ
å ±ããšã©ãŒè¿œè·¡ãµãŒãã¹ã«éä¿¡
trackError({
message: message,
source: source,
lineno: lineno,
colno: colno,
error: error,
browser: navigator.userAgent,
url: window.location.href
});
return true; // ããã©ã«ãã®ãã©ãŠã¶ãšã©ãŒåŠçã鲿¢
};
```
2. ãšã©ãŒã¬ããŒã
ãšã©ãŒããã£ããã£ãããããäžå€®ã®ãšã©ãŒè¿œè·¡ã·ã¹ãã ã«å ±åããå¿ èŠããããŸããããã¯ã以äžãå«ãããŸããŸãªæ¹æ³ã§è¡ãããšãã§ããŸãã
- HTTPãªã¯ãšã¹ã: HTTPãªã¯ãšã¹ãïŒäŸ: POSTãªã¯ãšã¹ãïŒã䜿çšããŠãå°çšã®ãšã³ããã€ã³ãã«ãšã©ãŒããŒã¿ãéä¿¡ããŸãã
- ãã©ãŠã¶API: `navigator.sendBeacon`ã®ãããªãã©ãŠã¶APIãæŽ»çšããŠããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããããã¯ããã«ããã¯ã°ã©ãŠã³ãã§ãšã©ãŒããŒã¿ãéä¿¡ããŸãã
- WebSockets: WebSocketæ¥ç¶ã確ç«ããŠããšã©ãŒããŒã¿ããªã¢ã«ã¿ã€ã ã§ã¹ããªãŒãã³ã°ããŸãã
ãšã©ãŒãå ±åããéã«ã¯ã以äžã®èŠçŽ ãèæ ®ããããšãéèŠã§ãã
- ããŒã¿ã»ãã¥ãªãã£: ãŠãŒã¶ãŒãã¹ã¯ãŒããAPIããŒãªã©ã®æ©å¯ããŒã¿ããšã©ãŒã¬ããŒãã«å«ãŸããªãããã«ããŸãã
- ããŒã¿å§çž®: ãããã¯ãŒã¯åž¯åå¹ ã®äœ¿çšéãåæžããããã«ããšã©ãŒããŒã¿ãå§çž®ããŸãã
- ã¬ãŒãå¶é: éå°ãªãšã©ãŒã¬ããŒãã«ãã£ãŠãšã©ãŒè¿œè·¡ã·ã¹ãã ãéè² è·ã«ãªãã®ãé²ãããã«ãã¬ãŒãå¶éãå®è£ ããŸãã
- éåæã¬ããŒã: ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããããã¯ããªãããã«ããšã©ãŒãéåæã§ã¬ããŒãããŸãã
3. ãšã©ãŒã®éçŽãšéè€æé€
æ¬çªç°å¢ã§ã¯ãåããšã©ãŒãè€æ°åçºçããå¯èœæ§ããããŸããéè€ããã¬ããŒãã§ãšã©ãŒè¿œè·¡ã·ã¹ãã ãç ©éã«ãªãã®ãé¿ããããããšã©ãŒãéçŽããã³éè€æé€ããããšãéèŠã§ããããã¯ããšã©ãŒã¡ãã»ãŒãžãã¹ã¿ãã¯ãã¬ãŒã¹ãããã³ãã®ä»ã®é¢é£å±æ§ã«åºã¥ããŠãšã©ãŒãã°ã«ãŒãåããããšã«ãã£ãŠè¡ãããŸãã
广çãªéçŽãšéè€æé€ã¯ã以äžã«åœ¹ç«ã¡ãŸãã
- ãã€ãºã®åæž: éè€ããã¬ããŒãã«å§åãããããšãªãããŠããŒã¯ãªãšã©ãŒã«çŠç¹ãåœãŠãŸãã
- æ ¹æ¬åå ã®ç¹å®: é¢é£ãããšã©ãŒãã°ã«ãŒãåããŠãæ ¹åºã«ãããã¿ãŒã³ãšæ ¹æ¬åå ãæããã«ããŸãã
- åé¡ã®åªå é äœä»ã: ãŠãŒã¶ãŒã«æå€§ã®åœ±é¿ãäžãããæãé »ç¹ã«çºçãããšã©ãŒã«çŠç¹ãåœãŠãŸãã
4. ãšã©ãŒåæãšèŠèŠå
ãšã©ãŒè¿œè·¡ã·ã¹ãã ã¯ããšã©ãŒããŒã¿ãåæããã³èŠèŠåããããã®ããŒã«ãæäŸããå¿ èŠããããŸããããã«ã¯ä»¥äžãå«ãŸããŸãã
- ãšã©ãŒããã·ã¥ããŒã: ãšã©ãŒçã圱é¿ãåãããŠãŒã¶ãŒãäžäœã®ãšã©ãŒã¿ã€ããªã©ãäž»èŠãªãšã©ãŒã¡ããªã¯ã¹ãèŠèŠåããŸãã
- ãšã©ãŒãã£ã«ã¿ãªã³ã°ãšæ€çŽ¢: ãšã©ãŒã¡ãã»ãŒãžããã©ãŠã¶ãOSãURLããŠãŒã¶ãŒIDãªã©ãããŸããŸãªåºæºã«åºã¥ããŠãšã©ãŒããã£ã«ã¿ãªã³ã°ããã³æ€çŽ¢ããŸãã
- ã¹ã¿ãã¯ãã¬ãŒã¹åæ: ã¹ã¿ãã¯ãã¬ãŒã¹ãåæããŠãã³ãŒãããŒã¹å ã®ãšã©ãŒã®æ£ç¢ºãªå Žæãç¹å®ããŸãã
- ãŠãŒã¶ãŒã»ãã·ã§ã³ãã©ããã³ã°: ãŠãŒã¶ãŒã»ãã·ã§ã³ã远跡ããŠããšã©ãŒãçºçããã³ã³ããã¹ããçè§£ããŸãã
- ã¢ã©ãŒããšéç¥: æ°ãããšã©ãŒãçºçããå Žåããšã©ãŒçãç¹å®ã®ãããå€ãè¶ ããå Žåã«éç¥ããã¢ã©ãŒããèšå®ããŸãã
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåããšã©ãŒè¿œè·¡ã·ã¹ãã ã¯ãå°åãšãã±ãŒã«å¥ã«ãšã©ãŒããŒã¿ãåæããããã®ããŒã«ãæäŸããå¿ èŠããããŸããããã«ãããç¹å®ã®å°ççå°åã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããŠããå¯èœæ§ã®ããããŒã«ã©ã€ãºãããåé¡ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
5. ãšã©ãŒåŸ©æ§
ãšã©ãŒã远跡ããã³åæããã ãã§ãªãããŠãŒã¶ãŒãžã®ãšã©ãŒã®åœ±é¿ãæå°éã«æããããã®ãšã©ãŒåŸ©æ§ã¡ã«ããºã ãå®è£ ããããšãéèŠã§ããããã«ã¯ä»¥äžãå«ãŸããŸãã
- ãã©ãŒã«ããã¯ã¡ã«ããºã : 倱æããAPIãªã¯ãšã¹ããç Žæããã³ã³ããŒãã³ãã«å¯Ÿãããã©ãŒã«ããã¯ã¡ã«ããºã ãæäŸããŸããããšãã°ãããŒã¿ã®ãã£ãã·ã¥ããŒãžã§ã³ã衚瀺ãããããŠãŒã¶ãŒãå¥ã®ããŒãžã«ãªãã€ã¬ã¯ããããã§ããŸãã
- ã°ã¬ãŒã¹ãã«ãã°ã©ããŒã·ã§ã³: ãšã©ãŒçºçæã«ã¢ããªã±ãŒã·ã§ã³ãé©åã«æ©èœäœäžããããã«èšèšããŸããããšãã°ãç¹å®ã®æ©èœãç¡å¹ã«ããããUIã®ç°¡æããŒãžã§ã³ã衚瀺ãããã§ããŸãã
- ãªãã©ã€ããžãã¯: äžæçãªãããã¯ãŒã¯åé¡ãåå ã§ããå¯èœæ§ã®ãã倱æããAPIãªã¯ãšã¹ãããã®ä»ã®æäœã«å¯ŸããŠããªãã©ã€ããžãã¯ãå®è£ ããŸãã
- ãšã©ãŒå¢ç: ã³ã³ããŒãã³ããéé¢ãããšã©ãŒãã¢ããªã±ãŒã·ã§ã³å šäœã«æ³¢åããã®ãé²ãããã«ãšã©ãŒå¢çã䜿çšããŸããããã¯ReactãVue.jsã®ãããªã³ã³ããŒãã³ãããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ç¹ã«éèŠã§ãã
- ãŠãŒã¶ãŒãã¬ã³ããªãŒãªãšã©ãŒã¡ãã»ãŒãž: ãŠãŒã¶ãŒã«åœ¹ç«ã€æ å ±ãšã¬ã€ãã³ã¹ãæäŸããããŠãŒã¶ãŒãã¬ã³ããªãŒãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ããŸããå°éçšèªãã¹ã¿ãã¯ãã¬ãŒã¹ã®è¡šç€ºã¯é¿ããŠãã ããã
äŸ (Reactãšã©ãŒå¢ç):
```javascript
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError(error) {
// 次ã®ã¬ã³ããŒã§ãã©ãŒã«ããã¯UIã衚瀺ãããããã«ç¶æ
ãæŽæ°ããŸãã
return { hasError: true };
}
componentDidCatch(error, errorInfo) {
// ãšã©ãŒããšã©ãŒå ±åãµãŒãã¹ã«ãã°ããããšãã§ããŸã
logErrorToMyService(error, errorInfo);
}
render() {
if (this.state.hasError) {
// ã«ã¹ã¿ã ã®ãã©ãŒã«ããã¯UIãã¬ã³ããªã³ã°ã§ããŸã
return äœããããŸããããŸããã§ããã
;
}
return this.props.children;
}
}
// 䜿çšäŸ:
```
é©åãªãšã©ãŒè¿œè·¡ããŒã«ã®éžæ
ããã€ãã®åªããããã³ããšã³ããšã©ãŒè¿œè·¡ããŒã«ãå©çšå¯èœã§ãããããã«é·æãšçæããããŸãã人æ°ã®ãããªãã·ã§ã³ã«ã¯ä»¥äžãå«ãŸããŸãã
- Sentry: ãšã©ãŒãã£ããã£ãã¬ããŒããéçŽãåæã®ããã®å æ¬çãªæ©èœãæäŸãããåºãå©çšãããŠãããšã©ãŒè¿œè·¡ãã©ãããã©ãŒã ã§ããSentryã¯å¹ åºãããã°ã©ãã³ã°èšèªãšãã¬ãŒã ã¯ãŒã¯ããµããŒããã人æ°ã®ããéçºããŒã«ãšã·ãŒã ã¬ã¹ã«çµ±åããŸãã
- Rollbar: Sentryãšåæ§ã®æ©èœãæäŸãããããäžã€ã®äººæ°ã®ãšã©ãŒè¿œè·¡ãã©ãããã©ãŒã ã§ããRollbarã¯ããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ãŒã¹ãšåŒ·åãªãšã©ãŒã°ã«ãŒãåããã³éè€æé€æ©èœã§ç¥ãããŠããŸãã
- Bugsnag: ãããã°ãšæ ¹æ¬åå åæã®ããã®é«åºŠãªæ©èœãæäŸããå ç¢ãªãšã©ãŒè¿œè·¡ãã©ãããã©ãŒã ã§ããBugsnagã¯ã詳现ãªãšã©ãŒã¬ããŒããã¹ã¿ãã¯ãã¬ãŒã¹ããŠãŒã¶ãŒã»ãã·ã§ã³ãã©ããã³ã°ãæäŸããŸãã
- Raygun: ãªã¢ã«ãŠãŒã¶ãŒã¢ãã¿ãªã³ã°ãšãšã©ãŒè¿œè·¡ãäžã€ã®å Žæã§æäŸããããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒãžã®åœ±é¿ã«çŠç¹ãåœãŠãŠããŸãã
- trackjs: ãªã¢ã«ã¿ã€ã 远跡ãšå æ¬çãªèšºæãæäŸããJavaScriptãšã©ãŒç£èŠããŒã«ã§ãã
- LogRocket: å³å¯ã«ã¯ãšã©ãŒè¿œè·¡ããŒã«ã§ã¯ãããŸããããLogRocketã¯ããã³ããšã³ããšã©ãŒã®ãããã°ã«éåžžã«è²Žéãªã»ãã·ã§ã³ãªãã¬ã€æ©èœãæäŸããŸããLogRocketã¯ãŠãŒã¶ãŒã»ãã·ã§ã³ãèšé²ãããšã©ãŒçºçæã«ãŠãŒã¶ãŒãäœãçµéšããããæ£ç¢ºã«åçããŠç¢ºèªããããšãã§ããŸãã
ãšã©ãŒè¿œè·¡ããŒã«ãéžæããéã«ã¯ã以äžã®èŠçŽ ãèæ ®ããŠãã ããã
- æ©èœ: ãšã©ãŒã®ãã£ããã£ãã¬ããŒããéçŽãåæã埩æ§ã«å¿ èŠãªãã¹ãŠã®æ©èœãããŒã«ã«åãã£ãŠããŸããïŒ
- çµ±å: æ¢åã®éçºããŒã«ãã¯ãŒã¯ãããŒãšã·ãŒã ã¬ã¹ã«çµ±åã§ããŸããïŒ
- äŸ¡æ Œ: äºç®ã«åã£ãæéãã©ã³ãæäŸããŠããŸããïŒ
- ã¹ã±ãŒã©ããªãã£: ã¢ããªã±ãŒã·ã§ã³ãçæãã倧éã®ãšã©ãŒããŒã¿ãåŠçã§ããŸããïŒ
- ãµããŒã: ååãªãµããŒããšããã¥ã¡ã³ããæäŸããŠããŸããïŒ
- ã³ã³ãã©ã€ã¢ã³ã¹: ããŒã«ã¯ã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ïŒäŸ: GDPRãHIPAAïŒãæºãããŠããŸããïŒ
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãããããã³ããšã³ããšã©ãŒè¿œè·¡ã®ãã¹ããã©ã¯ãã£ã¹
以äžã«ãã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã§ããã³ããšã³ããšã©ãŒè¿œè·¡ãå®è£ ããããã®ãã¹ããã©ã¯ãã£ã¹ãããã€ã瀺ããŸãã
- å æ¬çãªãšã©ãŒè¿œè·¡æŠç¥ãå®è£ ãã: ã°ããŒãã«ãšã©ãŒãã³ãã©ãŒã ãã«é Œããªãã§ãã ãããtry-catchãããã¯ãPromiseãªãžã§ã¯ã·ã§ã³ãã³ããªã³ã°ããã®ä»ã®ææ³ã䜿çšããŠããšã©ãŒãç©æ¥µçã«ãã£ããã£ããŸãã
- 詳现ãªã³ã³ããã¹ãæ å ±ãåéãã: ãã©ãŠã¶ããŒãžã§ã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããŠãŒã¶ãŒIDãURLãã¿ã€ã ã¹ã¿ã³ããªã©ãå¯èœãªéãå€ãã®ã³ã³ããã¹ãæ å ±ããã£ããã£ããŸãã
- ãšã©ãŒãéçŽããéè€ãæé€ãã: é¢é£ãããšã©ãŒãã°ã«ãŒãåããŠãæ ¹æ¬çãªãã¿ãŒã³ãšæ ¹æ¬åå ãæããã«ããŸãã
- å°åãšãã±ãŒã«å¥ã«ãšã©ãŒããŒã¿ãåæãã: ç¹å®ã®å°ççå°åã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããŠããå¯èœæ§ã®ããããŒã«ã©ã€ãºãããåé¡ãç¹å®ããŸãã
- ãšã©ãŒåŸ©æ§ã¡ã«ããºã ãå®è£ ãã: ãã©ãŒã«ããã¯ã¡ã«ããºã ãã°ã¬ãŒã¹ãã«ãã°ã©ããŒã·ã§ã³ãããã³ãªãã©ã€ããžãã¯ãæäŸããŠããŠãŒã¶ãŒãžã®ãšã©ãŒã®åœ±é¿ãæå°éã«æããŸãã
- ãŠãŒã¶ãŒãã¬ã³ããªãŒãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ãã: ãŠãŒã¶ãŒã«å°éçšèªãã¹ã¿ãã¯ãã¬ãŒã¹ã衚瀺ããããšã¯é¿ããŠãã ããã
- ãšã©ãŒè¿œè·¡ã·ã¹ãã ããã¹ããã: ãšã©ãŒè¿œè·¡ã·ã¹ãã ããšã©ãŒãæ£ãããã£ããã£ããã³å ±åããŠããããšã確èªããããã«ã宿çã«ãã¹ãããŸãã
- ãšã©ãŒçãç£èŠãã: åŸåãšæœåšçãªåé¡ãç¹å®ããããã«ãçµæçãªãšã©ãŒçãç£èŠããŸãã
- ãšã©ãŒè§£æ±ºãèªååãã: ã¹ã¯ãªãããã¯ãŒã¯ãããŒã䜿çšããŠãäžè¬çãªãšã©ãŒã解決ããããã»ã¹ãèªååããŸãã
- ããŒã ãæè²ãã: ããã³ããšã³ããšã©ãŒè¿œè·¡ã®éèŠæ§ãããã³ãšã©ãŒè¿œè·¡ããŒã«ã广çã«äœ¿çšããæ¹æ³ã«ã€ããŠãéçºããŒã ããã¬ãŒãã³ã°ããŸãã
- ãšã©ãŒã¬ããŒãã宿çã«ç¢ºèªãã: ããŒã ããšã©ãŒã¬ããŒãã宿çã«ç¢ºèªããæ ¹æ¬çãªåé¡ã解決ããããã®æªçœ®ãè¬ããããã«ããŠãã ããã
- 圱é¿ã«åºã¥ããŠãšã©ãŒã®åªå é äœãä»ãã: ãŠãŒã¶ãŒãšããžãã¹ã«æå€§ã®åœ±é¿ãäžãããšã©ãŒã®è§£æ±ºã«çŠç¹ãåœãŠãŸãã
- ãœãŒã¹ãããã䜿çšãã: çž®å°ãããã³ãŒããå ã®ãœãŒã¹ã³ãŒãã«ãããã³ã°ããããã«ãœãŒã¹ããããå®è£ ããæ¬çªç°å¢ã§ã®ãšã©ãŒã®ãããã°ã容æã«ããŸãã
- ãµãŒãããŒãã£ã©ã€ãã©ãªãç£èŠãã: ãµãŒãããŒãã£ã©ã€ãã©ãªãšAPIã®æŽæ°ã远跡ããæ¬çªç°å¢ã«ãããã€ããåã«ãããã培åºçã«ãã¹ãããŸãã
- æ©èœãã©ã°ãå®è£ ãã: æ©èœãã©ã°ã䜿çšããŠæ°ããæ©èœã段éçã«å±éãããšã©ãŒçãžã®åœ±é¿ãç£èŠããŸãã
- ãŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãèæ ®ãã: ãšã©ãŒããŒã¿ãåéããéã«ã¯ããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒã«çæããé¢é£ããããŒã¿ãã©ã€ãã·ãŒèŠå¶ïŒäŸ: GDPRãCCPAïŒã«æºæ ããŠããããšã確èªããŠãã ããããšã©ãŒè¿œè·¡ã·ã¹ãã ã«éä¿¡ããåã«ãæ©å¯ããŒã¿ãå¿ååãŸãã¯ç·šéããŸãã
- ããã©ãŒãã³ã¹ãç£èŠãã: ããã©ãŒãã³ã¹ç£èŠããŒã«ã䜿çšããŠããšã©ãŒã®åå ãšãªã£ãŠããå¯èœæ§ã®ããããã©ãŒãã³ã¹ããã«ããã¯ãç¹å®ããŸãã
- CI/CDçµ±åãå®è£ ãã: ãšã©ãŒè¿œè·¡ã·ã¹ãã ãCI/CDãã€ãã©ã€ã³ã«çµ±åãããã«ãããã³ãããã€ããã»ã¹äžã«ãšã©ãŒãèªåçã«æ€åºããŠå ±åããŸãã
- ã¢ã©ãŒããèšå®ãã: æ°ãããšã©ãŒããšã©ãŒçãç¹å®ã®ãããå€ãè¶ ããå Žåã«éç¥ããã¢ã©ãŒããèšå®ããŸããã¡ãŒã«ãSlackãPagerDutyãªã©ãããŸããŸãªã¢ã©ãŒãæŠç¥ãæ€èšããŠãã ããã
- ãšã©ãŒããŒã¿ã宿çã«ç¢ºèªãã: 宿çãªäŒè°ãã¹ã±ãžã¥ãŒã«ããŠãšã©ãŒããŒã¿ã確èªããåŸåãè°è«ãããã°ä¿®æ£ã®åªå é äœãä»ããŸãã
çµè«
ããã³ããšã³ããšã©ãŒè¿œè·¡ã¯ãç¹ã«ã°ããŒãã«ãŠãŒã¶ãŒåãã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãå ç¢ã§ä¿¡é Œæ§ã®é«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããäžã§äžå¯æ¬ ãªéšåã§ããå æ¬çãªãšã©ãŒè¿œè·¡æŠç¥ãå®è£ ããããšã§ãåé¡ãç©æ¥µçã«ç¹å®ããŠè§£æ±ºãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããæçµçã«ããžãã¹ã®æåãä¿é²ã§ããŸããé©åãªãšã©ãŒè¿œè·¡ããŒã«ã«æè³ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ãããŒã ã¯äžçäžã®ãŠãŒã¶ãŒã«å®ç§ãªããžã¿ã«äœéšãæäŸããèœåãåŸãã§ããããããŒã¿ã«åºã¥ãããããã°ã®åãæŽ»çšããã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãé£èºçã«åäžããã®ãèŠãŠãã ããã