ããã«ã¡ã¯ã宿çããã³ææã®èªè
ã
æ¬æ¥ã¯ãAPIã®èšèšãšé¢é£ããèœãšã穎ã«é¢ããè峿·±ãèšäºãæäŸããããšæããŸãã ã©ããã£ãŠããã«åºäŒã£ãã®ãèããªãã§ãã ãã;åµé çãªæ€çŽ¢ã¯éåžžã«éç·åœ¢ã®åé¡ã§ãã
èªæžã楜ãã
埩ç¿APIãèšèšããéã«èæ
®ãã¹ãå€ãã®èŠçŽ ããããŸãã ã»ãã¥ãªãã£ãäžè²«æ§ãç¶æ
管çãã¹ã¿ã€ã«ã ãã®ãªã¹ãã¯ç¡éã®ããã§ãã ãã ããèŠèœãšãããã¡ãªèŠçŽ ã1ã€ãããŸããããã¯èŠæš¡ã«é¢ãããã®ã§ãã APIãæåããèšèšãããšãã«ã·ã¹ãã ã®èŠæš¡ãèæ
®ãããšãåŸã§ïŒã·ã¹ãã ãæé·ãããšãïŒæ°çŸæéã®äœæ¥æéãç¯çŽã§ããŸãã
ã¯ããã«ã¢ããªã±ãŒã·ã§ã³ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ïŒAPIïŒãæ§æãããã®ãå®åŒåããã®ãé£ããå ŽåããããŸãã æè¡çãªèгç¹ããèŠããšãä»ã®ããã°ã©ããŒã®ã³ãŒãã«ãã£ãŠåŒã³åºããã颿°ã¯ãã¹ãŠãAPIã«èµ·å ããå¯èœæ§ããããŸãã ã©ã®ã³ãŒããAPIãããã«ããããã«ã€ããŠã®è°è«ã¯ãã®èšäºã®ç¯å²ãè¶
ããŠãããããAPIã¯æãåçŽãªé¢æ°ã§ãããšæ³å®ããŸãã
ãã®èšäºã§ã¯ãäž»ãªããŒãã説æããããã ãã®ç°¡åãªäŸãç¹å¥ã«éžæããŸããã CïŒã®é¢æ°ã䜿çšãããŸããããããã§æŠèª¬ããåºæ¬ååã¯ãã»ãŒãã¹ãŠã®èšèªããã¬ãŒã ã¯ãŒã¯ããŸãã¯ã·ã¹ãã ã«é©çšã§ããŸãã ãã®èšäºã®ããŒã¿æ§é ã¯ãå€ãã®ç£æ¥çšããŒã¿ããŒã¹ã§äœ¿çšãããŠããäžè¬çãªãªã¬ãŒã·ã§ãã«ã¹ã¿ã€ã«ã§ã¢ãã«åãããŠããŸãã ç¹°ãè¿ããŸãããäŸã¯èª¬æãšããŠã®ã¿æžãããŠãããæšå¥šäºé
ãšèŠãªãã¹ãã§ã¯ãããŸããã
å¿
èŠæ¡ä»¶é¡§å®¢åãã®æãåçŽãªæ³šæåŠçã·ã¹ãã ãäœæããŠããã3ã€ã®äž»èŠãªã¯ã©ã¹ïŒãŸãã¯å¿
èŠã«å¿ããŠãããŒã¿æ§é ãïŒããã§ã«å®çŸ©ããŠãããšããŸãã Customerã¯ã©ã¹ã«ã¯Addressã¯ã©ã¹ã®ãå€éšããŒãïŒããŒã¿ããŒã¹çšèªïŒããããOrderã¯ã©ã¹ã«ã¯Addressã¯ã©ã¹ãšCustomerã¯ã©ã¹ã®å€éšããŒããããŸãã ããªãã®ä»äºã¯ã泚æã®åŠçã«äœ¿çšã§ããã©ã€ãã©ãªãäœæããããšã§ãã ãã®å Žåã®æåã®ããžãã¹ã«ãŒã«ïŒé¡§å®¢ïŒé¡§å®¢ïŒã®HomeAddressç¶æ
ã¯ã泚æã®BillingAddressç¶æ
ãšåãã§ããå¿
èŠããããŸãã çç±ãèããªãã§ãã ãããããžãã¹ã«ãŒã«ã¯éåžžãç¥çã«çè§£ãããŠããŸãã:)
public class Address { public int AddressId { get; set; } public string Street { get; set; } public string City { get; set; } public string State { get; set; } public string Zipcode { get; set; } } public class Customer { public Address HomeAddress { get; set; } public int CustomerId { get; set; } public int HomeAddressId { get; set; } public string CustomerName { get; set; } } public class Order { public Customer MainCustomer { get; set; } public Address ShippingAddress { get; set; } public Address BillingAddress { get; set; } public int OrderId { get; set; } public int CustomerId { get; set; } public int ShippingAddressId { get; set; } public int BillingAddressId { get; set; } public decimal OrderAmount { get; set; } public DateTime OrderDate { get; set; } }
å®è£
2ã€ã®ãã£ãŒã«ããåããã©ããã確èªããããšã¯ãæããã«ç°¡åãªã¿ã¹ã¯ã§ãã äžåžã«æéãäžãããã®ã§ã10åãããããã«è§£æ±ºçãäœæããŸããã VerifyStatesMatch颿°ã¯ãåŒã³åºãå
ãããžãã¹ã«ãŒã«ãå®è¡ãããŠãããã©ããã倿ã§ããããŒã«å€ãè¿ããŸãã ã©ã€ãã©ãªãããã€ãã®ç°¡åãªãã¹ãã§å®è¡ããã³ãŒãã®å®è¡ã«å¹³å50ããªç§ãããããšã確èªããŸãã äžåžã¯éåžžã«åãã§ãããªãã®ã©ã€ãã©ãªãä»ã®éçºè
ã«æäŸããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããŸãã
public bool VerifyStatesMatch(Order order) { bool retVal = false; try {
åé¡ç¿æ¥ãä»äºã«æ¥ããšãã¢ãã¿ãŒã«ã¹ããã«ãŒããããŸãããæ©æ¥ã«ç§ã®ãšããã«æ¥ãŠãã ãã-ã·ã§ããã ããªãã¯ãæšæ¥ããªããããªãã®å³æžé€šã§éåžžã«ããŸããã£ãã®ã§ã仿¥äžåžãããªãã«ããã«æ·±å»ãªä»äºãä»»ããããšã«ããããšãçè§£ããŸãã ããããããã«ã³ãŒãã«é倧ãªåé¡ãããããšãããããŸããã
ããªã ïŒãã¯ããããããŸããã·ã§ããã©ãããã®ïŒ
ããŒã ïŒããã¯ããªãã®ã©ã€ãã©ãªã§ããããããã³ãŒãã«ç¶ç¶çãªåé¡ããããŸãïŒ
ããªã ïŒäœïŒ ã©ããã£ãŠïŒ
ããã ïŒããã¯ã¢ã«ãŽãªãºã ãé
ããããšèšãããžã§ã³ã¯ãã¹ãŠãæ£ããæ©èœããŠããªããšäžæºãèšããã¹ãã£ãŒãã¯ããèšããŸãããããªããžã§ã¯ããžã®åç
§ã¯ãªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹ã瀺ããŠããªãã
ããªã ïŒããããªããæšæ¥ãã¹ãããŠããã¹ãŠãé 調ã ã£ã
ããŒã ïŒäœãèããããããŸããã è¡ã£ãŠçè§£ããŠãã ããïŒ
ãã®æ¥ã¯æé«ã®ã¹ã¿ãŒãã§ã¯ãããŸãããïŒ ç§ã«ã¯ãã»ãšãã©ã®éçºè
ãåæ§ã®ç¶æ³ã«åºããããããšãããããã§ãã ããªãã¯ã©ã€ãã©ãªããå®ç§ã«ãæžãããšæã£ãŠããŸããããããã¯ããããã®åé¡ããããããŸããã ãããããOneãããManyãããZeroããããã³ãNothingããäœã§ããããæ£ããçè§£ããã°ãAPIãååã®æåŸ
ã«å¿ããŠããªãå Žæãåºå¥ããããšãã§ããŸãã
äž
en.wikipedia.org/wiki/The_Matrixè¡åãžã®æåã®ã¬ã€ãã¯ãã1ããšã¯äœãããããŠãããã©ãæ±ãããçè§£ããããšã§ãã ã€ãŸããAPIã¯ãããã®å Žåã§ããäºæãããå
¥åã®äžéšããšã©ãŒãªãã§åŠçããå¿
èŠããããŸãã ãã®ãããªãšã©ãŒã¯çè«çã«ã¯å¯èœã§ãããåŒã³åºãå
ã«å ±åããå¿
èŠã¯ãããŸããã ãããã¯æããã§ã¯ãªãã§ããïŒããšæããããããŸããã ããŠãäŸãèŠãŠãOrderã®åŠçäžã«çºçããå¯èœæ§ã®ãããšã©ãŒãèŠãŠã¿ãŸãããã
Customer customer = SomeDataSource.GetCustomer(order.CustomerId); Address shippingAddress = SomeDataSource.GetAddress(order.ShippingAddressId);
äžèšã®ã³ã¡ã³ãããæãããªããã«ãHomeAddressããããã£ãããŒã¿ãœãŒã¹ããæ£ããããŒãããããšæ³å®ããŠããŸãã 99.99ïŒ
ã®ã±ãŒã¹ã§ã¯ãããªãå¯èœæ§ããããŸãããçã«ä¿¡é Œã§ããAPIã¯ããããèµ·ãããªãå Žåã«ããã®ãããªã·ããªãªãèæ
®ããå¿
èŠããããŸãã ããã«ãèšèªã«ãã£ãŠã¯ããããã®ããããã£ã®ãããããæ£ããããŒããããªãå Žåã2ã€ã®Stateããããã£ã®æ¯èŒã倱æããå ŽåããããŸãã ãã®å Žåãåãåãããšãã§ããå
¥åããŸãã¯å¶åŸ¡ããŠããªãã³ãŒãããæœåºãããããŒã¿ã«ã€ããŠäœãç¥ããªãããšãéèŠã§ãã
ããã¯æãåçŽãªäŸãªã®ã§ãã³ãŒããä¿®æ£ããŠå
ã«é²ã¿ãŸãããã
Customer customer = SomeDataSource.GetCustomer(order.CustomerId); Address shippingAddress = SomeDataSource.GetAddress(order.ShippingAddressId); if(customer.HomeAddress != null) { retVal = customer.HomeAddress.State == shippingAddress.State; }
ãããã
msdn.microsoft.com/en-us/library/w5zay9db.aspxäžèšã®ã·ããªãªã«æ»ããŸãã ãããšè©±ãå¿
èŠããããŸãã ããã¯ãã³ãŒããé
ããšæå¥ãèšããŸãããã50ããªç§ã®å€ã¯ããã®ã¢ãŒããã¯ãã£ãåããã·ã¹ãã ã§äºæ³ãããæéãšäžèŽããŠããŸããã ããããããã¯1ã€ã®ããã±ãŒãžã§æå€§ãŠãŒã¶ãŒã®100ä»¶ã®æ³šæãåŠçããããããããµã€ã¯ã«ã§ã¯ã¡ãœãããå®äºããã®ã«5ç§ããããŸãã
ããªã ïŒãããã©ãããŠç§ã®ã³ãŒããé
ããããšæã£ãã®ïŒ 泚æã®åŠçã«ãããæéã¯ããã50ããªç§ã§ãã
Bob ïŒç§ãã¡ã®é¡§å®¢ã¯Acme Inc.ã§ãã ãããæ³šæãã§ããã ãæ©ãåŠçããå¿
èŠããããŸãã 100ä»¶ã®æ³šæãåŠçããå¿
èŠãããããã5ç§ã¯é·ãããŸãã
ããªã ïŒãããæ³šæããããã§åŠçããå¿
èŠãããããšãç¥ããŸããã§ããã
ãã ïŒãŸããããã¯Acmeã ãã®ããã§ãã圌ãã¯ç§ãã¡ã®æå€§ã®ã¯ã©ã€ã¢ã³ãã§ãã
ããªã ïŒAcmeããããæ³šæã«ã€ããŠã¯äœãèšããªãã£ãã
ãã ïŒããªãã®ã³ãŒãã¯äžåºŠã«è€æ°ã®æ³šæãå¹ççã«åŠçãã¹ãã§ã¯ãããŸãããïŒ
ããªã ïŒãã...ã¯ãããã¡ããã
äœãèµ·ãã£ãã®ãããããŠã³ãŒããããããé
ãããããšæãããçç±ã¯æããã§ãã AcmeããããåŠçã«ã€ããŠã¯äœãèšãããŸããã§ããã Bobã«ãŒãã¯éåžžã®Customerã¯ã©ã¹ãããŒãããã»ãšãã©ã®å ŽååãAddressã¬ã³ãŒãã100åããŒãããŸãã ãã®åé¡ã¯ã1ã€ã ãã§ã¯ãªããäžé£ã®æ³šæãåãå
¥ããããã«ããã€ãã®åçŽãªãã£ãã·ã¥ã远å ãããšç°¡åã«è§£æ±ºã§ããŸãã CïŒã®paramsããŒã¯ãŒãã¯ããŸãã«ãã®ãããªç¶æ³ã®ããã«ååšããŸãã
public bool VerifyStatesMatch(params Order[] orders) { bool retVal = false; try { var customerMap = new Dictionary<int, Customer>(); var addressMap = new Dictionary<int, Address>(); foreach (Orderorder in orders) { Customer customer = null; if(customerMap.ContainsKey(order.CustomerId)) { customer = customerMap[order.CustomerId]; } else { customer = SomeDataSource.GetCustomer(order.CustomerId); customerMap.Add(order.CustomerId, customer); } Address shippingAddress = null; if(addressMap.ContainsKey(order.ShippingAddressId)) { shippingAddress = addressMap[order.ShippingAddressId]; } else { shippingAddress = SomeDataSource.GetAddress(order.ShippingAddressId); addressMap.Add(order.ShippingAddressId,shippingAddress); } retVal = customer.HomeAddress.State == shippingAddress.State; if(!retVal) { break; } } } catch (Exception ex) { SomeLogger.LogError(ex); } return retVal; }
ãã®æ¹æ³ã§é¢æ°ã倿ŽãããšãBobã®ãããåŠçãåçã«å éããŸãã äžæãã£ãã·ã¥ïŒãã£ã¯ã·ã§ããªïŒã§IDã«ãã£ãŠãšã³ããªãç°¡åã«èŠã€ããããšãã§ãããããã»ãšãã©ã®ããŒã¿åŒã³åºãã¯æ¶ããŸãã
ãå€ããã®APIãéããšããã«ãããã«äœããã®å¢çç·ã³ã³ãããŒã«ãæ¥ç¶ããå¿
èŠããããŸãã ããšãã°ã誰ããã¡ãœããã«100äžä»¶ã®æ³šæãéä¿¡ããå Žåã¯ã©ããªããŸããïŒ ãã®ãããªå€æ°ã¯ããã®ã¢ãŒããã¯ãã£ã®æ©èœãè¶
ããŠããŸããïŒ ãã®å Žåãã·ã¹ãã ã¢ãŒããã¯ãã£ãšããžãã¹ããã»ã¹ã®äž¡æ¹ã®æŠå¿µã圹ç«ã¡ãŸãã å®éã«æå€§10,000ä»¶ã®æ³šæãåŠçããå¿
èŠãããå Žåãèªä¿¡ãæã£ãŠ50,000ä»¶ã®å¶åŸ¡ã確ç«ã§ããŸããããã«ããã誰ãã·ã¹ãã ã1ã€ã®å·šå€§ãªåãå
¥ããããªãåŒã³åºãã«å
¥ããããšãã§ããªããªããŸãã
ãã¡ãããå¯èœãªæé©åã®ãªã¹ãã¯ããã«éå®ãããŸãããããã®äŸã¯ãæåãããå€ãã®ãã€ã³ã¹ã¿ã³ã¹ãåœãŠã«ããå Žåã«ãäžèŠãªäœæ¥ãåãé€ãæ¹æ³ã瀺ããŠããŸãã
ãŒã
ããªã ïŒã¹ãã£ãŒããç§ã®ã³ãŒãã«ãã«ãã€ã³ã¿ãŒãæž¡ããŠããŸããïŒ
ã¹ãã£ãŒã ïŒç§ã¯ããã¯æããªãããäœã ïŒ
ããªã ïŒäžåžã¯ãã·ã¹ãã ãããªã³ã¯ã¯ç€ºããŠããªã...ããšèªããŸãã
ã¹ãã£ãŒã ïŒãããããã¯ããããã¬ã¬ã·ãŒã·ã¹ãã ã®å Žåã§ãããã ãã®ã·ã¹ãã ããã®åºåãå¶åŸ¡ããã®ã§ã¯ãªãããã€ãã©ã€ã³ãéããŠæ°ããã·ã¹ãã ã«åºåããã®ãŸãŸã¢ããããŒãããŸãã
ããªã ïŒããçš®ã®ãã³ã»ã³ã¹ã ããããããã®ãŒãã§åé¡ã解決ããŠã¿ãŸãããïŒ
ã¹ãã£ãŒã ïŒç§ã¯æ±ºããã ã³ãŒãã§ãŒããã§ãã¯ãè¡ããŸãã ãããããªãïŒ
ããªã ïŒO ...ã¯ãããã¡ããã
ããªããžã§ã¯ãåç
§ã¯ããªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹ã瀺ããã®ã§ã¯ãããŸãããã ãã®ãšã©ãŒã®æå³ã説æãã䟡å€ã¯ãããŸããïŒ ç§ãã¡ã®å€ãã¯ããããšæŠãããã«äººçã®1æé以äžãè²»ãããŸããã ã»ãšãã©ã®èšèªã§ã¯ãnullã空ã®ã»ãããªã©ã -æªå®çŸ©ã®å€ãæã€ä»»æã®åïŒéå€åïŒã«å¯ŸããŠå®å
šã«æå¹ãªç¶æ
ã ãããã£ãŠãåŒã³åºãåŽãæè¡çã«æž¡ãããšãèš±å¯ãããŠããªãå Žåã§ããæ¬æ ŒçãªAPIã¯å€ãNullããèæ
®ããå¿
èŠããããŸãã
ãã¡ããããŒããžã®ãã¹ãŠã®åç
§ããã§ãã¯ããããšã¯è€éãªåé¡ã§ãããæã«ã¯éå°ãªæž¬å®ã§ãã ãã ããã©ã®ãããªå Žåã§ãã管çããŠããªããœãŒã¹ããã®å
¥åãä¿¡é Œããã¹ãã§ã¯ãããŸããã ãããã£ãŠããŒãã®ãordersããã©ã¡ãŒã¿ãŒãšããã®äžã®Orderã€ã³ã¹ã¿ã³ã¹ã®ãŒãããã§ãã¯ããå¿
èŠããããŸãã
ãŒããã§ãã¯ãæ£ããå®è¡ããããšã«ããããã¯ãã«ã«ãµããŒãã«ç³ã蟌ãã§ããªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹ããšã¯äœããå°ãã顧客ããã®è¿·æãªé»è©±ãé¿ããããšãã§ããŸãã ç§ã¯åžžã«è¿œãè¶ãã奜ãã ç§ã®é¢æ°ã¯ãããªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹ã瀺ããŠããªãããšããããªã圹ã«ç«ããªããšã©ãŒãã¹ããŒããããããããã©ã«ãå€ãè¿ããã¡ãã»ãŒãžããã°ã«èšé²ããïŒãŸãã¯èŠåãéä¿¡ããïŒæ¹ãè¯ãã§ãã ãã¡ããããã®ãããªãœãªã¥ãŒã·ã§ã³ã¯ãã·ã¹ãã ã®ã¿ã€ããã³ãŒããã¯ã©ã€ã¢ã³ãã§å®è¡ãããããµãŒããŒã§å®è¡ãããããªã©ã«å®å
šã«äŸåããŸãã éèŠãªã®ã¯ããŒããç¡èŠãããããšã§ããããããæ»ã£ãŠãããŸã§ã§ãã
説æïŒæ£çŽãªãšãããç¡å¹ãªç¶æ
ã«ééããå Žåã颿°ã¯ãéã¢ã¯ãã£ããã§ããã¹ãã ãšèšã£ãŠããã®ã§ã¯ãããŸããã nullãã©ã¡ãŒã¿ãã·ã¹ãã ã§åãå
¥ããããªãå ŽåãäŸå€ãã¹ããŒããŸãïŒ.NETã®ArgumentNullãªã©ïŒã ãã ããç¶æ³ã«ãã£ãŠã¯ãæå³ã®ããããã©ã«ããè¿ãããšã¯å®å
šã«åãå
¥ããããäŸå€ãã¹ããŒããå¿
èŠã¯ãããŸããã ããšãã°ãéåžžãçŸåšã®ã¡ãœããã¯ããã®å€ã§äœãã§ããªãå Žåã«æž¡ãããå€ãè¿ããŸãã ãŒãã«çŽé¢ããªããã°ãªããªãå Žåã«äžè¬çãªæšå¥šäºé
ãäžããããšãã§ããªãèŠå ãå€ãããŸãã
ãªã
youtu.be/CrG-lsrXKRMããªã ïŒãžã§ã³ãç§ã®ã³ãŒãã«äœãæž¡ããŸããïŒ äžå®å
šãªæ³šæã®ããã§ãã
ãžã§ã³ ïŒãããããããªããã ã¡ãœããã¯å¿
èŠãããŸããããå¥ã®ã©ã€ãã©ãªã§Orderãã©ã¡ãŒã¿ãŒãæž¡ãå¿
èŠããããŸãã ãã®ã©ã€ãã©ãªã¯ããªãã®ã³ãŒããåŒã³åºããšæããŸãã æ³šæã¯åŠçããŸããããå¥ã®ã©ã€ãã©ãªã䜿çšããå¿
èŠããããŸãã
ããªã ïŒãã®ã©ã€ãã©ãªã¯ä¿®æ£ããå¿
èŠããããŸãïŒæ²ãã£ãŠèšèšãããŠããŸãïŒ
ãžã§ã³ ïŒãªãã»ã©ããã®ã©ã€ãã©ãªã¯ããžãã¹ã¿ã¹ã¯ãšå
±ã«ææ©çã«éçºãããŸãã-ãããã¯å€åããŠããŸããã ãããã¯ãããæžãããã圌ã¯ä»é±ã¯ããŸããã äžè¬ã«ã倿޿¹æ³ã¯ããããŸããã ããããå
¥åãæå¹ãã©ãããã³ãŒãã§ãã§ãã¯ãã¹ãã§ã¯ãããŸãããïŒ
ããªã ïŒã¯ã...確ãã«ã
4ã€ã®ååãã¹ãŠã®ãã¡ã説æããã®ãæãé£ãããã®ã¯ãããããããŸããã ãŒãã¯ããç¡ãããã³ãç¡å¹ãã®ããã«èŠããŸãããå®çŸ©ããããå®éåã§ããŸãã ããã¯ãã»ãšãã©ã®èšèªã§ããŒãçšã«ç¹å¥ãªããŒã¯ãŒããçµã¿èŸŒãŸããŠããŸãã nullã䜿çšããå ŽåãAPIã¯ãã®ãããªå
¥åãåŠçããå¿
èŠããããŸãããããã¯æ¬è³ªçã«ãŽãã§ãã ãã®äŸã§ã¯ãCustomerIdãæããªãããŸãã¯5äžçŽåã®OrderDateãæã€Orderã®åŠçã«ã€ããŠèª¬æããŠããŸãã ããæçœãªäŸã¯ãåäžã®èŠçŽ ããªãã³ã¬ã¯ã·ã§ã³ã§ãã ãã®ã³ã¬ã¯ã·ã§ã³ã¯nullã§ã¯ãªããããã«ããŽãªãå€ãã«å±ããå¿
èŠããããŸãããåŒã³åºãå
ã¯ã³ã¬ã¯ã·ã§ã³ã«ããŒã¿ãå
¥åããŸããã§ããã ãäœãã衚瀺ãããªããããªã·ããªãªãåžžã«èæ
®ããå¿
èŠããããŸãã ãã®äŸã§ã¯ããäœãããåŠçãããªãããã«èª¿æŽããŸãããã åŒã³åºãå
ã¯ãåã«Orderã®ãããªãã®ãæž¡ãããšã¯ã§ããŸããã åœŒå¥³ã®æ³šæã¯ãæäœéã®äžè¬çãªèŠä»¶ãæºããå¿
èŠããããŸãã ãã以å€ã®å Žåããã®æ
å ±ã¯ããªãããšèŠãªãããŸãã
...
ãããã«ãã®èšäºã®äž»æšãèªè
ã«äŒããããšãã§ããããšãé¡ã£ãŠããŸããã³ãŒããåé¡ãªãå
¥åæ
å ±ãåãå
¥ããããšãã§ãããšããããšã¯èµ·ãããŸããã 颿°ãŸãã¯APIãå®è£
ãããšãã¯ããã®APIã®äœ¿ç𿹿³ãèæ
®ããå¿
èŠããããŸãã ãã®äŸã§ã¯ãå
ã®é¢æ°ã¯12è¡ãã50è¡ã«å¢å ããŸããããåºæ¬çãªå€æŽã¯å ããŠããŸããã 远å ãããã¹ãŠã®ã³ãŒãã¯ãã¹ã±ãŒãªã³ã°ãå¢çç·å¶åŸ¡ãããã³é¢æ°ãå
¥åãæ£ããå¹ççã«åŠçããããã«å¿
èŠã§ãã
è¿å¹Žã®ä¿åããŒã¿ã®éã¯ææ°é¢æ°çã«å¢å ããŠãããããå
¥åããŒã¿ã®èŠæš¡ã¯å€§ãããªããŸããããã®ããŒã¿ã®å質ã¯äœäžããŸãã APIãæåããæ£ããèšè¿°ãããšãããã¯ããžãã¹ã®æé·ãå¢å ãã顧客ããŒã¹ãžã®é©å¿ãããã³é·æçã«éèŠãªåœ¹å²ãæããããšãã§ããŸã-æè¡ãµããŒãã³ã¹ããç¯çŽã§ããŸãïŒãããŠé çãå°ãªããªããŸãïŒã