äž»ã«APIã®é »ç¹ãªå€æŽãå人ã¢ã«ãŠã³ãã®ãã°ãäžéšã®ããã»ã¹ã®ãã¯ã€ãã¹ããããåå ã§ãã·ã¹ãã ã¯ãã°ãã°æ¹å€ãããæ¹å€ãããŸããã
ç§ãã¡ã¯ãæåã§ã¯ãããŸããããç§ãã¡ãç©æ¥µçã«åå ããŠãããã®å·ã®æ°ããéå¿çãªãããžã§ã¯ãã«ã€ããŠã®ç§ãã¡ã®çµéšãšèããå ¬è¡šããããšã«ããŸããã
èšäºããã¡ããã¡ãã«èŠãããããããŸããããå šäœãšããŠã®ã©ããªã³ã°ã¯ãã¡ããã¡ãã§ãå€ãã®åŽé¢ãäžç®æã«éãŸã£ãŠããŸãã

ç§ãã¡ã«ã€ããŠç°¡åã«
Cleverensã¯ãäž»ã«ããŒã¿åé端æ«ïŒTSDïŒããã³ãªã¿ã€ã¢ã¡ã³ãã¬ã³ãŒããŒïŒRVïŒã®ç¹æ®æ©åšåãã«ãã¢ãã€ã«ã¯ãŒã«ãŒåãã®ãœãããŠã§ã¢ã«åãçµãã§ããŸãã
æ£®ãæ£®ã®äžã«æšãæšã®äžã«ã«ããã ã·ãããŠãã«ããã ã·ã«åŸ®çç©ãäœãã§ããããã«èŠãã人ããããããããŸãããTSDã®ãœãããŠã§ã¢ã®ãããã¯ãã«ããã ã·ã®åŸ®çç©ã«é¢ãããã®ã§ãã
ããã«å¯ŸããŠãã¹ã¿ããã®ã¢ããªãã£ã¯éåžžã«å€§ããªæé·åžå Žã§ãããæ¢è£œã®ãœãããŠã§ã¢ãåããç¹å¥ãªããŒããŠã§ã¢ã¯ãäžè¬çã«çŸåšã®ãã¹ãŠã®ããŒããŠã§ã¢ã®æªæ¥ã§ãããšçããããšãã§ããŸããçµå±ã®ãšãããæ¬åœã«ç»æçãªããšã¯ãçããããã§ã®é·å¹Žã®äœæ¥ã®çµæã§ãïŒã¢ãã€ã«YouTubeã«é¢ããAndrey Doronichevã®æåãªã€ã³ã¿ãã¥ãŒãåç §ããŠãã ããïŒã
åºæ¬çã«ãCleverence補åã¯ãäŒèšã·ã¹ãã ãšã®æ¢æã®çµ±åã§è²©å£²ãããŸããäŒèšã·ã¹ãã ã¯ãç§ãã¡èªèº«ãäœæããã³ãµããŒãããŸãïŒããšãã°ãWarehouse 15ïŒã
ç§ãã¡ã¯ããã¹ãŠã®ãœãããŠã§ã¢ãšãââãŒããŠã§ã¢ãå®éã®æ¥çãå庫ãã·ã§ãããªã©ã§å®è¡ããããšããŠããŸããããšãã°ãéŽã®ã©ããªã³ã°ãããžã§ã¯ããå§ãŸã£ãã°ããã®ãšããç§ãã¡ã¯ããžãã¹ããã»ã¹ããã¹ãããããã«äžåœã«è¡ããåæã«åœŒãã¯ããã«ã€ããŠã®ãããªãæ®åœ±ããŸããã
ã©ããªã³ã°ã·ã¹ãã ãšããã§ã¢ããŒã¯ããšã¯
倧ãŸãã«èšãã°ãããã¯ååã®ãŠãããã®åããå®å šã«è¿œè·¡ããããã®ããŒã³ãŒããšRFIDã«é¢ãã宿°ã®ã€ã³ã¿ãŒãããã§ãã
ã©ããªã³ã°ã·ã¹ãã ã«é¢ããæ å ±ã¯ãããããããŸããäž»ãªãªãœãŒã¹ã¯HonestSignã®Webãµã€ãã§ãã

ã©ããªã³ã°ã«å¯Ÿããåžå Žåå è ã®æ 床
ã©ããªã³ã°ã«å¯Ÿããåžå Žåå è ã®æ 床ãäºæ¥µã§ããããšã¯åšç¥ã®äºå®ã§ããããã·ã¢ããã©ã¯ãŒãïŒããã ãããŠããã¢ã€ãã¢ã¯è¯ãã§ãããå®è£ ã¯ç§ãã¡ã倱æãããŸãããããã圌ãã¯åã³å°ããªåäŸãã¡ãå·ã€ããŸãããã
å©ç¹ã«ã¯ãåžå Žã®çœå¡ããšãµãã©ã€ãã§ãŒã³ã®ç®¡çãå«ãŸããŸãããã€ãã¹ã®-ããŒã¯ãããååãååŒããéã®UTIIããã®åé€ã
ã©ããªã³ã°ã®ããã®ã»ãšãã©ãã¹ãŠã®å€§äŒæ¥ãçŸããçœã§ä»äºããããå°ããªèµ·æ¥å®¶ã¯ãã©ããªã³ã°ã®ããã«ããããã¯ç°è²ã®åžå Žã«å¯Ÿããç«¶äºäžã®åªäœæ§ã§ãã
ã»ãšãã©ã®äžå°äŒæ¥ã¯ã©ããªã³ã°ã«å察ããŠãããããã¯ãã¹ãŠèªåãã¡ã«ãšã£ãŠäžå¿ èŠãªè² æ ã§ãããšèããŠããŸãã
ã¯ã¬ãŒã ã¯äž»ã«ãäžå°äŒæ¥ãåã³çµéŠåã«ãããŠããããŸãã¯ããéãšäººãå€ãããã®ã§ããããè¡ãããšãã§ããããããã®ãããªããžãã¹ããã»ã¹ã¯ããèããããŠããªãããšããŠå®åŒåãããŸããäž»ãªãéã䜿ãããã®ã¯äžå°äŒæ¥ãšãã®ããã»ã¹ã§ããããããã¯åå è ã®å人ã¢ã«ãŠã³ããã¯ã©ãŠãããŒã¹ã®ã³ãŒããšããã·ã§ã³ã¬ã³ãŒããŒãªã©ãåãããµã€ãã§ãã
ITã¹ãã·ã£ãªã¹ãã®ç«å Žã«ã€ããŠãã以äžã§èšåãã䟡å€ããããŸãã
åæã«ãæ å ±ãå ¬éããæ å ±ããŒã¿ã«ããªãã¹ãããŒã¯ãã倧äžå€«ã§ããããšãã°ãè±èªã®æ å ±ã¯ã©ãã«ãããŸããïŒããã§ãããããŠäžåœèªã§ïŒããã§ãã
誰ãã話ããŠããèµ·åæã®åé¡
ãã€ããããæ©ããŠããéãã·ã¹ãã ã«ã¯å€ãã®ãã°ããããŸãããåºæ¬çã«ã圌ãã¯2020幎7æ1æ¥ãŸã§ã«ãªããšã圌ããçãããšãã§ããŸããã
圌ãã¯ãEGAISãæåã¯ããè¯ãæ©èœããäžè¬çã«ããµãŒãã¹ã®å¯çšæ§ãããé«ããšçŽæããŸããã
çŸåšããã®ã·ã¹ãã ã¯ã¿ãã³ãšéŽã§ãã€ã§ãå©çšã§ããŸãã倿¹ã®æ°æéã®æè¡çãªäœæ¥ã®ããã®ãŸããªã·ã£ããããŠã³ãé€ããŠããã¹ãŠãè¿ éã«æ©èœããŸãã

ããããåœåã®å€§ããªåé¡ã¯ã掻çšããã«ã¯ããããªãããšããããšã§ããã99ïŒ ã®å£²äžé«åå è ïŒæ°ïŒããã®ã·ã¹ãã ãæãã«ç¡èŠããç»é²ãããè² è·ãããããå€æã®æ¥ãåŸ ã£ãŠããå»¶æãèŠæ±ããã
2019 «» , 10 , ( ). 10 .
, , .
誰ãããã®åé¡ãç¥ã£ãŠããŠãæºåãããŠããŸããããéŽã®ç· ãåããè¿«ã£ããšããããã¯ãŸã 厩å£ããŠããŸãããäžéšã®UOTã¯ãæ®ãã®20幎éãç¡æã®ã³ãŒããæ¥ãã§æžãåºããŸãããããã¯ãããŒã¯æã«ãµãŒããŒã®è² è·ã40åã«å¢å ãããŸããããã¡ããããã®ãããªã²ãŒã ã¯ç¡é§ã«ã¯ãªããŸããããªããªããã·ã¹ãã ã¯ããžã¿ã«ã§ããã圌ããèšãããã«ãããã¹ãŠã®åããèšé²ããããããã§ãã
æ®å¿µãªãããããŒãã³ã°ã®ãã€ãªãã¢ãèŠãã¿ãŸããããããã¯ã忥ããããŒãã³ã°ãã€ãããã«åå ããèª å®ã«è©Šã¿ãäŒæ¥ã§ãããæçµçã«ã¯å»¶æãæ±ããŸããã
ããã§èšããªããã°ãªããªãã®ã¯ãå·ã®ã·ã¹ãã ã¯è²©å£²åæ¥ããåã³ãããããiPhoneã§ã¯ãªããšããããšã§ãããããŠããã®äœæã®ç®çã¯ãITã¹ãã·ã£ãªã¹ãããããããéãããããåºãŠããããè³Œå ¥ãããã©ãããèªåã§æ±ºããããªã©ã®ãããªã¬ãã¥ãŒãæ®åœ±ããããšã§ã¯ãããŸããã§ããã
äœããã®çç±ã§ã人ã ã¯ãã·ã¹ãã ãæåãã5幎éçç£ãããŠãããã®ããã«æ©èœããããšãæåŸ ããŠããŸãã
äžè¬ã«ããã®è«çã«åŸã£ãŠåŸ ã€å Žåããã¹ãŠãå®ç§ã«ãªããšãç«æã®åŸæåŸããã¹ãŠã2030幎ããŸãã¯ãã以äžã«å»¶æãããŸãã
ITã¹ãã·ã£ãªã¹ãã®ç«å Ž
ITã¹ãã·ã£ãªã¹ãã®ç«å Žã¯ããè³æããŸãã¯ãå察ãã§ã¯ãªãããäžãããããšã§ãããã¹ãŠã®å€æŽãäºåã«çºè¡šããå¿ èŠããããããè¯ãããã¥ã¡ã³ããããå€ãã®ãã¹ãã±ãŒã¹ããµã³ãããã¯ã¹ãããå°ãªãå¶éãå¿ èŠã§ãã
äžè¬ã«ããã®ãããžã§ã¯ãã«ã¯ããŸããŸãªããŒããŠã§ã¢ãšåœéæšæºããããåŸæ¥ã®ITã¹ãã·ã£ãªã¹ãã«èŠçãšèŠçãããããã ãã§ãã
ITã¹ãã·ã£ãªã¹ãã¯éåžžã«è 飿§ãé«ããã€ã³ããªãžã§ã³ããªäººã ã§ãããããããåé¡ã«ã€ããŠç¬èªã®æèŠãæã£ãŠããŸãããŸããAPIã«é¢ãã䞻匵ãé€ããŠãã©ããªã³ã°ã«é¢ããã³ã³ã»ã³ãµã¹ã¯ãããŸãããäžè¬çã«ã¯ãããŸããã
ã·ã¹ãã ã®APIã¯ããäœæããŠå¿ãããã·ããªãªã§å¿ èŠã«ãªããããé »ç¹ã«å€æŽãããŸããåæã«ãã°ã«ãŒãããã±ãŒãžïŒéåäœïŒãæäœããããèªèšŒãç°¡çŽ åãããããããã«ãAPIã«å€æ°ã®ã¡ãœããã远å ããå¿ èŠããããšèããããŸããããããAPIã®å€æŽãæå³ããŸãã
ç§ãã¡ã¯ITæ åœè ã§ãããAPIã«ã¡ãœããããªãã®ãšåãäºéã®ç«å Žã«ãããŸãããAPIã¯é »ç¹ã«å€æŽãããŸããããã§ã圌ããèšãããã«ããæã¯äººçš®å·®å¥äž»çŸ©è ã§ãããããã¯ç§ãã¡ã®ç©èªã§ããã
äžè¬ã«ãAPIãæ¹åããå¿ èŠããããŸããããã®1ã2ãæåã«èŠåããã·ã¹ãã ã«å€æŽãå ããæéãäžããããšããå§ãããŸãããããŠããã¯ããã¹ãã«ãŒããããã¿ãã³ããŒãã³ã°æŠéã«ãŒãã«æ°ããããŒãžã§ã³ã®APIããã£ãæã§ããã
ããŒãã³ã°ã®æè¡çåŽé¢
ITãããã§ãã·ã§ãã«ãçŽé¢ããæè¡çãªèª²é¡ã¯ãåºæ¬çã«æ¬¡ã®ãªã¹ãã«èŠçŽãããŸãã
- UKEPã«é¢ããSysadminã®è³ªåãããã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãã©ãŠã¶ã®ããŒãžã§ã³ã«ããæçåãããéãããããŸã§ãä»åŸãç¶ãã§ãããã
- ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã䜿çšããŠããã«ãããããããã·ã¹ãã ãæ°ãããŠãŠããŒã¯ã§ãããããStackOverflowãã°ãŒã°ã«ã§æ€çŽ¢ããŠã解決ã§ããªãã³ãŒãã£ã³ã°ã®åé¡
- ããªã³ã©ã€ã³ããŒã³ãŒããžã§ãã¬ãŒã¿ãŒããŸãã¯ãããŒããŒããã¬ãŒã«ãŒãã䜿çšããå Žåã®å®è£ ã«é¢ãã質åããããŠãªããã³ã»ã³ã¹ãåºãŠããã®ãçåã«æã
ã»ããããã«JavaãReactiveïŒRxJavaïŒãSpringãããã«ã¯Netflixããã

ãŸããããªãèªèº«ã®æèŠã圢æããããã«ãã«ãŒãã§ãã¯ããã£ãããèªãããšãã§ããŸãã
æ¿èª
IS MPã§ã®æ¿èªã¯ã2段éã§è¡ãããŸãã
ãŸããç¹å®ã®ç䌌ã©ã³ãã ãããŒããèŠæ±ããå¿ èŠããããŸããããã¯ã眲åããŠURLã/ api / v3 / auth / cert /ãã«éä¿¡ããå¿ èŠããããŸãïŒãã®èšäºã®å·çæç¹ã§ã¯ãURLã®æ«å°Ÿã«ã¹ã©ãã·ã¥ã/ããä»ããå¿ èŠããããŸããããããªããšæ©èœããŸããã§ãããå¥åŠã«èŠããŸãïŒã
ãããŒãã®ååŸã¯æ¬¡ã®ãšããã§ãïŒç®çã®ãã¹ãã眮ãæããå¿ èŠããããŸãããµã³ãããã¯ã¹ãæŠéçšããè¡£æãäœãã«å¿ããŠãããŸããŸãªãã¹ãããããŸãïŒã
// /api/v3/auth/cert/key ââ ,
var uri1 = new Uri("< >/api/v3/auth/cert/key")
var randomDataResponse = REST.Invoke<RandomDataResponse>(uri1, "GET", timeout);
次ã«ãéžæããCEPã䜿çšããŠãã®ç䌌ã©ã³ãã ãããŒãã«çœ²åãããããGIS MTã«éä¿¡ããŠãå¿çãšããŠèªèšŒããŒã¯ã³ãåä¿¡ããå¿ èŠããããŸãã
ãããè¡ãããã«ããŠãŒã¶ãŒãéžæããæçŽïŒcertificateThumbïŒã®CEPèšŒææžãæ¢ããŠããŸãããã®å ŽåãèšŒææžã¯ããŒã«ã«ãã·ã³ã®ãããŒãœãã«ãã«ãããŸãããŸããèšŒææžã³ã³ããã¹ãã¯ããŒãã¢ã¹ãã¢ã«é¢é£ä»ããããŠããå¿ èŠããããŸãïŒãã®ãããªèšŒææžã¯ãWindowsã¹ãããã€ã³ã®èšŒææžã®ãªã¹ãã§ããŒã¢ã€ã³ã³ã§ããŒã¯ãããŠããŸãïŒïŒ

眲åãçæããããã®ã³ãŒãã§èšŒææžãååŸããŸãã
X509Certificate2 cert = null;
using(store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadOnly);
cert = from c in store.Certificates where string.Compare(c.Thumbprint, certificateThumb, true) == 0 select c;
}
ãã®æ¹æ³ã§ãµã€ã³ã€ã³ããŸãã
//
var content = new ContentInfo(randomDataResponse.Data);
var signedCms = new SignedCms(content, false);
// ,
var signer = new CmsSigner(SubjectIdentifierType.IssuerAndSerialNumber, cert);
signer.SignedAttributes.Add(new Pkcs9SigningTime(DateTime.Now));
//
signedCms.ComputeSignature(signer, false);
var sign = signedCms.Encode();
眲åãããCMSã¡ãã»ãŒãžïŒsignïŒã¯ãBase64圢åŒã«å€æãããåŸãæ¿èªã®ããã«éä¿¡ããå¿ èŠãããæ€èšŒçœ²åã§ãã
var tokenRequest = new TokenRequest();
tokenRequest.UUID = randomDataResponse.UUID;
tokenRequest.Data = Convert.ToBase64String(sign);
// /api/v3/auth/cert/
var uri2 = new Uri("< >/api/v3/auth/cert/")
var tokenResponse = REST.Invoke<TokenResponse>(uri2, "POST", tokenRequest);
å¿çã¯ãBase64ã§ãšã³ã³ãŒããããJWTããŒã¯ã³ã§ãã
ã¡ãªã¿ã«ãéä¿¡ãããããã¥ã¡ã³ãã¯ãã®åŸåãæ¹æ³ã§çœ²åããããããããåãé¢ãããã眲åã®ã¿ã圢æãããŸãã
var signedCms = new SignedCms(content, true);
ãã«ããŒã¯ã©ã¹ïŒAPIã®XSDããã¥ã¡ã³ãã¹ããŒããšåãã¹ããŒãã䜿çšïŒïŒ
/// <summary>
/// GET /api/v3/auth/cert/key .
/// </summary>
public class RandomDataResponse
{
/// <summary>
/// , string
/// </summary>
[Newtonsoft.Json.JsonProperty(PropertyName = "uuid")]
public string UUID { get; set; }
/// <summary>
/// , string
/// </summary>
[Newtonsoft.Json.JsonProperty(PropertyName = "data")]
public string Data { get; set; }
}
/// <summary>
/// .
/// POST /api/v3/auth/cert/
/// </summary>
public class TokenRequest
{
/// <summary>
/// uuid - /api/v3/auth/cert/key
/// </summary>
[Newtonsoft.Json.JsonProperty(PropertyName = "uuid")]
public string UUID { get; set; }
/// <summary>
/// base64
/// </summary>
[Newtonsoft.Json.JsonProperty(PropertyName = "data")]
public string Data { get; set; }
}
/// <summary>
/// .
/// POST /api/v3/auth/cert/
/// </summary>
public class TokenResponse
{
/// <summary>
/// base64-
/// </summary>
[Newtonsoft.Json.JsonProperty(PropertyName = "token")]
public string EncodedTokenBase64 { get; set; }
}
ãã°ã€ã³ã§ããå Žåã¯ãå°ããªã¯ãšã¹ããå®äºããŠããŸãã
ããŒã³ãŒãã®çæãšèªã¿åãã«é¢ããåé¡
ããŒãã³ã°ã·ã¹ãã ã¯ãæå·åãããéšåãé€ããŠãåœéæšæºã«åºã¥ããŠããŸããããã¯çŽ æŽããããç§°è³ã«å€ããŸãã
æ®å¿µãªãããå¹³åçãªITã¹ãã·ã£ãªã¹ãã¯æšæºãèªãã§ããããäœãç ç©¶ããŠããŸããããããŒã³ãŒãã®çæãå°å·ãããžãã¹ããã»ã¹ãªã©ã«é¢ããç¡æã®ã³ã³ããŒãã³ãããèªè»¢è»ãããã«åœ«å»ããŸãã
æåã®é£ããã¯ããã¶ã€ã³ã«ã©ããªã³ã°ããŒã³ãŒããå°å·ããããšã§ããç®±ããåºããŠããã«ãHonestSignãã¯ç¡æã®ããŒã«ãæäŸããŸããã1C / SAP / NAV / DAXã«ã¯ããªã³ã©ã€ã³ããŒã³ãŒããžã§ãã¬ãŒã¿ãŒããšçµã¿èŸŒã¿ã®ã¬ããŒããšãã£ã¿ãŒãããããããã¡ãã誰ããããæ±ãå§ããŸããã§ããã
åŸ ã¡äŒãã¯ãçŸä»£ã®ããŒã³ãŒããåãªãã·ã³ãã«ã®ã°ã©ãã£ãã¯è¡šçŸã§ã¯ãªããšããããšã§ãïŒããã«ã€ããŠã¯å¥ã®èšäºããããŸãïŒããããã£ãŠã誰ãç¥ãããããã«çè§£ããããªããã¬ãã£ãã¯ã¹ãã»ãã¬ãŒã¿ããšã³ã³ãŒãã£ã³ã°ãå¿ é ã®å°å·äžå¯èœãªæåãªã©ã®åé¡ã衚é¢åããŸããã
GSç¹æ®æåïŒASCII 29ïŒã®

äŸFNC1ç¹æ®æåïŒASCII 232ïŒã®äŸ

ã¹ã¯ãªãŒã³ã·ã§ããã¯ããã§ãã¯ããŒã¯ã¢ããªã±ãŒã·ã§ã³ããååŸãããŸãã
ããã¯ãã«ã¡ã©ã«ãã£ãŠã¹ãã£ã³ããããã©ãããã©ãŒã ã«ãã£ãŠè§£æãããããŒã³ãŒããè§£æããCheckmarkãœãŒã¹ã³ãŒãã®äžéšã§ãã
var km = BarcodeData.GS1;
if (km.Contains("01") && km.Contains("21"))
{
if ((km.Contains("17") || km.Contains("7003")) && !km.Contains("10"))
{
= true;
if ((km.GetValue("01").Length == 14) && (km.GetValue("21").Length == 7 ||
km.GetValue("21").Length == 13) && (km.GetValue("17").Length == 6 ||
km.Getvalue("7003").Length == 10) && (km.GetValue("93").Length == 4))
{
= true;
MSG2 = " KM .";
if (km.GetValue("21").Length == 7)
MSG2 = " .";
}
else
{
// (EntriesRows)
// -
EntriesRows = I(EntriesRows, Al = 93, BarcodeData);
MSG2Error = " 3! .";
Msg = "<b>#N005</b>" + Msg;
}
}
else if (km.Contains("8005") || km.Contains("93"))
{
= true;
if (km.GetValue("01").Length == 14 && km.GetValue("21").Length == 7 &&
km.GetValue("8005").Length == 6 && km.GetValue("93").Length == 4)
{
= true;
MSG2 = " .";
}
else
{
EntriesRows = I(EntriesRows, AI = 8005, BarcodeData)
EntriesRows = I(EntriesRows, Al = 93, BarcodeData)
MSG2Error = " 3! .";
Msg = "<b>#N004</b>" + sg;
}
}
else if (km.Contains("92") && km.Contains("92").Length > 66)
{
= true;
if (km.GetValue("01").Length == 14 && km.GetValue("21").Length == 13 &&
km.GetValue("91").Length == 4 && km.GetValue("92").Length == 88)
{
... ( ..) ...
ç¹å¥ãªãã£ã©ã¯ã¿ãŒã¯ã©ãããæ¥ãã®ã§ããïŒæšæºããã ããªãã¹ããµã€ã³ãã¯åºæºéãã«ãã¹ãŠãè¡ããååã®å£²ãäžãã®åå è ãåºæºãèªãŸãªããã°ãªããŸããã§ããã
ãšããã§ïŒ DataMatrixã³ã³ãã³ãã®æ£ç¢ºãã確èªããã«ã¯ãã«ã¡ã©ã§ã¹ãã£ã³ããå¿ èŠããããŸãïŒTSDããã¹ãã£ã³ããå Žåã§ããã«ã¡ã©ã«ã¢ã¯ã»ã¹ããå¿ èŠããããŸãïŒããã¹ãŠã®ããŒã³ãŒãã¹ãã£ããŒã¯ãæšæºã«åŸã£ãŠãèªã¿åã£ããã®ã1in1ã§è¿ãå¿ èŠããªããããå°ãªããšãæåã®FNC1æåãç Žæ£ããå¿ èŠããããŸããäžè¬ã«ãã¹ãã£ããŒã¯ã¹ãã£ã³æã«éèŠãªããŒã³ãŒãã·ã³ãã«ã远å ãŸãã¯åé€ããããèšå®ã«å¿ããŠãããã¯ãæå®ã®å Žæã«åé 眮ãããã§ããŸããããã¯ãã¹ãŠæ€èšŒã劚ããŸãã
ãªããªãã·ã¹ãã çµ±åã¯ããã°ã©ã ã§ã¯ãªãã人ãšãã®ä»æ§ã®èªã¿æžãæ¹æ³ã«é¢ãããã®ã§ããããããããã®ç¹æ®ãªæåã®ååšã¯ãããŒã³ãŒãã亀æãããšãã«ããã«ããã€ãã®äžäžèŽã«ã€ãªãããŸããã
ããšãã°ã仿§ãå®éã«èªãŸãªããŠãã1ã€ã®ASCII 232ïŒFNC1ïŒæåã®ä»£ããã«4æåã®æååãFNC1ããããŒãžãã¢ã«è¿œå ã§ããŸããããã§ãããµãã·ã¹ãã éã§äº€æããå Žåããã®ãããªæåã¯ãã£ã«ã¿ãªã³ã°ãããŠå€±ãããããšãå€ããéåžžã®ããã¹ããšãã£ã¿ã§ã¯ç¹å¥ã§ããããã®ãããªæåãªãã§å°å·ãããŸããæåã衚瀺ãããªãããšãå€ããããŒã³ãŒããäžèŽããŠããã®ã«ãªãäœããããããã®ãçåã«æããŸãã
åæ§ã«ãã·ã³ãã«FNC1ãæå®ããªãå ŽåããŒã³ãŒãã§ã¯ãäžéšã®ããŒããŠã§ã¢ãŸãã¯ãœãããŠã§ã¢ã¯ããããäœã§ããããããã³ãããåè§£ããæ¹æ³ãçè§£ããŠããªãå¯èœæ§ããããŸããããŒã³ãŒãã®å é ã«ãããã®èšå·ã¯ããããGS1DataMatrix圢åŒã§ããããšã瀺ããŠããŸãã
ã»ãšãã©ã®äººãå¶ç¶èŠã€ããæè¿ã®äŸã®1ã€ã¯ãã·ãªã¢ã«çªå·ã«æ¬åŒ§ãšå¥èªç¹ã衚瀺ãããŠããããšã§ãã

æ¬åŒ§ãšå¥èªç¹ã¯ã·ãªã¢ã«çªå·ã®ã©ãããæ¥ãŠããŸããïŒæšæºå€ã§ãïŒ GS1èŠæ Œã§ã¯ããããã䜿çšã§ããŸãããªããªãã·ãªã¢ã«çªå·ã¯ããã13æåã§ãããŒãã³ã°çšã®ååãããããããã®ã§ã䜿çšå¯èœãªãã¹ãŠã®æåã䜿çšããå¿ èŠããããŸãã
åå¥ã®lulze-ã·ãªã¢ã«çªå·ã®æ¬åŒ§ããããã¯æšæºã§èš±å¯ãããŠããŸããã誰ãããããæåŸ ããŠããŸããã§ããããããã人éãèªããè¡šèšæ³ïŒHIDïŒã§ã¯ãæ¬åŒ§ã«ã¯ç¹å¥ãªæå³ããããŸããæ¬åŒ§ã¯ãæå³ã®ããæåã°ã«ãŒãã®æ°ãæ§æããŸããããšãã°ããïŒ21ïŒãã¯ãã·ãªã¢ã«çªå·ãããã«äžã«è¡ãããšãæå³ããŸãã
ããŒã³ãŒãã«æååã ããå«ãŸããŠãããšèããã®ãåçŽãªå ŽåããïŒ21ïŒabcd12ïŒ3ïŒdïŒ1ãïŒ91ïŒãïŒã®è¡ã§ã¯ãã·ãªã¢ã«çªå·ã¯ãabcd12ãã®ããã«èŠãããïŒ1ãã«é¢ããéšåã¯ãŸã£ãããšã©ãŒã®ããã§ãã
å®éãããã§ã®ã·ãªã¢ã«çªå·ã¯ãabcd12ïŒ3ïŒdïŒ1ãã§ãããã³ã³ãã®åŸã«èªã¿åãäžå¯èœãªGSèšå·ããããŸããïŒãããŠéèŠãªã®ã¯ãã·ãªã¢ã«çªå·ã13æåã«ããå¿ èŠããããšããããšã§ã¯ãããŸããïŒæ£åŒã«ã¯GS1DataMatrixã®ã·ãªã¢ã«ã®é·ããç°ãªãå ŽåãããããïŒ ãããã³ã¿ã€ã€ã§ã¯ãããšãã°ã20æåã«ããããšãã§ããŸãïŒãã€ã³ãã¯æ£ç¢ºã«èŠããªããšããã«ãããŸãèæ ®ããªããã°ãªããªãGSã¯ãã©ã®äŒèšã·ã¹ãã ã®ãã£ãŒã«ãã«ã衚瀺ãããŸããããå ¥åã¯åãä»ãããããéåžžã¯çŠæ¢ãããŠããŸãïŒãŸããéåžžã®ã¡ã¢åž³ã«ã衚瀺ãããã衚瀺ãããŸãããã¡ã¢åž³++ãå¿ èŠã§ãïŒã
ãã®ãããªç¹æ®æåã®ååšã¯ãããŒã³ãŒãããŒã¿ã®éä¿¡ãšä¿åã«å¶éã課ããŸããããšãã°ãBase64ã§ã¹ã¯ãªãŒãã³ã°ãŸãã¯ãšã³ã³ãŒãããå¿ èŠããããŸãã
ãšããã§ïŒæååãªã©ã®ããŒã³ãŒããä¿åããã³éä¿¡ããããã®æšæºïŒISO / IEC 15424-2018ïŒããããŸãããäœããã®çç±ã§èª°ãããã䜿çšããŠããŸãããæååãšããŠä¿åãããGS1DataMatrixããŒã³ãŒãããŒã¿ã¯ãã] d2ãã§å§ãŸãå¿ èŠããããŸãã
ä»ã§ã¯ã»ãšãã©ã®äººãããŒã³ãŒãå°å·ã³ã³ããŒãã³ããä¿®æ£ããŠããŸãïŒããããïŒããããããšã«ããèª°ãæšæºãèªãã§ããŸããïŒ
æ€èšŒã®ããã«ã宿é¡ïŒãã£ãŒã«ããåºå®é·ã®å Žåã¯GSãæ¿å ¥ããå¿ èŠã¯ãããŸããããé·ããå¯å€ã§ãã£ãŒã«ãã®å€ãæå€§é·ã§ãªãå Žåã¯æ¿å ¥ããå¿ èŠããããšãããããã¯ããããŸããå®éãããã¯ãã®ã«ãŒã«ãæ©èœããæ¹æ³ã§ã¯ãããŸãããAIããã®ããŒãã«ã®1æ¡ã®æ°åã§å§ãŸãå Žåã«ã®ã¿ãç¹æ®æåGSã¯æ¿å ¥ãããŸãã

ããã以å€ã®å Žåã¯ãã¹ãŠæ¿å ¥ãããŸããããŒã³ãŒãã®çæ/è§£æã³ãŒãã¯åãããã«æ©èœããŸããïŒ
ãã1ã€ã®åé¡ã¯ããããŒããŒããŠã§ããžã®ã¹ãã£ããŒããªã©ã®ã©ããŒããŒã«ã䜿çšããããŒã³ãŒãããŒãã³ã°ã®ã¹ãã£ã³ã§ããã©ãã«ãä»ããåã®æå€§ã®åé¡ã¯ãäœåãªãŒããã©ããã«ã«ãããŸãã¯æ¿å ¥ãããŠããããšã§ãããæ°ããã³ãŒãã®å°å ¥ã«ãããã¹ãã£ã³ãããlulzããŒãã³ã°ã¯ãŸã£ããæ°ããã¬ãã«ã«ãªããŸãã
å€ãã®å Žåããããã¯ã¹ãã£ããŒèªäœããã®èšå®ã®åé¡ã§ã¯ãªããçµéšäžè¶³ã®åé¡ã§ãããããŒã³ãŒãã®ååãçè§£ããŠããŸãã
ããšãã°ãã¹ãã£ããŒããããŒããŒããŠã§ããžã«ãæ¥ç¶ããå ŽåïŒãŸãã¯ãã®ã¢ãŒãããšãã¥ã¬ãŒãããå ŽåïŒãããã³ã¹ãã£ããŒãHIDããã€ã¹ãšããŠæ¥ç¶ããå Žåãã¹ãã£ã³ããããŒã³ãŒãã®äžéšã®æåãä»ã®æåã«çœ®ãæããããç¹å®ã®æåãæ¶ãããããåé¡ãçºçããå¯èœæ§ããããŸãã

ã¹ãã£ããŒãããŒããŒããã¬ãŒã¯ã«æ¥ç¶ããã¹ããŒã
æå®ãããã¢ãŒãã§åäœããŠããå Žåãã¹ãã£ããŒã¯ããŒã³ãŒãããã®æåãã³ã³ãã¥ãŒã¿ãŒã«éä¿¡ããŸããïŒåæã®ãŸãŸïŒïŒããããŒããŒãã§ãã®ããŒã³ãŒãããæåãå ¥åããããã«æŒãå¿ èŠãããããŒããŒãã®ããŒã¹ãããŒã¯ã®ã³ãŒããéä¿¡ããŸãã
åæã«ãã¬ã€ã¢ãŠãèšèªãšã¢ãã£ãã¡ã€ã¢ããŒïŒShiftãCaps LockãAltãCtrlïŒãæŒãããšã«ãã£ãŠãè€æ°ã®å¯èœãªæåãäžåºŠã«1ã€ã®ããŒããŒãããŒã«å¯Ÿå¿ããå¯èœæ§ãããããšã¯æããã§ãã
ããšãã°ãããŒããŒãã®å³äžéšåã§ãã®ããŒãæŒããšã

çµæã¯ãéžæããã¬ã€ã¢ãŠããšä¿®é£ŸåããŒã®äœ¿çšã«å¿ããŠããïŒããã/ãããããããŸãã¯ãããã®ããããã®æåã«ãªããŸããå ¥åãããç¹å®ã®æåã¯ãã¹ãã£ããŒã§ã¯ãªãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒããŒãèšå®ã«ãã£ãŠæ±ºãŸããŸãã
ãã®ãããäžéšã®ã·ãªã¢ã«ã§ã¯ãªãããŸã£ããç°ãªãã·ãªã¢ã«ããã§ãã¯ã¢ãŠãæã«ããããã¢ãŠãããããã³ãŒãããŸã£ããèŠã€ãããŸããã
ã¡ãªã¿ã«ãã·ãªã¢ã«ã«å°åæåèšããããæåŸã®æ¡ã䜿çšããŠã³ãŒããæ£ãããã©ãããã³ãŒããæ£ããèªã¿åããããå ¥åããããã©ããã確èªã§ããã°ããããã®åé¡ã¯åé¿ã§ããã¯ãã§ããçŸåšã®ã¢ã«ãŠã³ããTINãã«ãŒãçªå·ãEAN13ã®å ŽåãæåŸã®æ¡ã¯ç¢ºèªã®ããã®ãã§ãã¯éé¡ã§ããããã人ãè»ãå ¥åæã«ééããç¯ãããšã¯ãããŸããã

æããã«ãããã§åœŒãã¯DataMatrixãèªå·±ãã§ãã¯ããŠããããšãæãã§ããŸããããããŠã¯ãªããããŒã«ããããŸãããããã1ã€ã¯ããŒã³ãŒãå šäœãã»ã«ããã§ãã¯ããã1ã€ã¯ã·ãªã¢ã«ä»ãã®ã³ãŒãã§ãããŒããŒãããå ¥åã§ããå¯èœæ§ããããŸãã
ITã¹ãã·ã£ãªã¹ãã®åå¥ã®è«äºã¯ããããããã¯ãªããããŒã«ãã«ãã£ãŠåŒãèµ·ããããŸããã
ãã¯ãªããããŒã«ãã¯ããŒãã³ã°ããŒã³ãŒãã®å¿ èŠãªéšåã§ããããã«ããã察称ããŒã䜿çšããŠãã¢ã€ãã ã®ã·ãªã¢ã«çªå·ãæããåžãåºãããŠããªãããšã確èªã§ããŸãã

ã¯ãªããããŒã«ã¯ããŒã³ãŒãã®ã¿ã«ãããããŒãã³ã°ããŒã¿ããŒã¹ã«ã¯ä¿åãããªããããããã«ãŒãããŒã¹ãå£ããŠä»ã®äººã®ããŒã³ãŒããå°å·ããããšã¯ã§ããŸããã
ããããããã¯äžçš®ã®ããžã¿ã«çœ²åã§ããããããã以æ¥ããŒã³ãŒãã¯ãŽã ã§ã¯ãããŸããããååãå€ãããã®ããžã¿ã«çœ²åã®é·ããçãããã誰ã§ãå©çšã§ããæå·åããŒã䜿çšã§ããŸããã
ãã¡ããããã¹ãŠã®ã·ãªã¢ã«çªå·ã¯ããŒãã³ã°ããŒã¿ããŒã¹ã«ãããŸããããªã³ã©ã€ã³ã§ç¢ºèªãããšãã€ã³ã¿ãŒãããã«é害ãçºçãããšããã¹ãŠã®å庫ãšåºèãããã«ç«ã¡äžããããã«ãªããŸãã
Cryptotailã¯ãã®åé¡ã解決ããããšãç®çãšããŠããŸããããããŸã§ã®ãšããïŒ2020幎ã®å€ïŒãå®å šã«æ©èœãå§ããŠããŸããã
äºå®ãæå·åã¯ãã·ã¢èªã§ãããããŒããŠã§ã¢ã«é¢é£ä»ããããŠããŸãããããããã·ã¢ã®é°è¬ã«ä»£ãããã®ã¯ãŸã ãããŸããããã·ã¢ã®åœå®¶ã·ã¹ãã ã¯å€åœã®é°è¬ã䜿çšã§ããŸãããããã¯ç©Žã«ãªããŸãããããã£ãŠãããªãã¯ãã·ã¢ã®ãã®ã«èããªããã°ãªããªãã§ããããããã¯åççã§é£ãããããŸããã
äžè¬çã«ãæå·åã¯éåžžã«è€éãªãããã¯ã§ããå€ãã®æ å ±ããããç¹å®ã®å Žåã«ããŒã¿ã«çœ²åãŸãã¯æå·åããæ¹æ³ã®èª¬æãèŠã€ããããšã¯éåžžã«å°é£ã§ãã
ã©ããªã³ã°APIãšçµ±åããããšãããã¹ãŠã®äººãããã«çŽé¢ããŸããã ããã°ã€ã³ããŠã¿ãŸãããïŒãããµã€ã³ã®ä»æ¹ããäŸãå ±æããŠãã ããïŒãããµã€ã³ã¯åºãŸãããæåŠãããã®ã¯ãªãã§ããïŒããªã©ã®è³ªåããããããããŸããããšä»ã®å€ãã
å€ãã®å Žåãééãã¯åœããåã®ããšã§ãããããšãã°ã眲ååŸã«ããŒã¿ã倿Žãããããã¹ããŒã¹ããªãããã®æå³ã®ãªãæåã倱ããããããŸããããããã¯çœ²åã«ãšã£ãŠéèŠã§ãããAPIã«éä¿¡ããåŸã説æãªãã§æåŠãåä¿¡ãããŸããã眲åã¯æ€èšŒãããŠããŸããã
幞ããªããšã«ããã£ããã§ã¯ã圌ãã¯ã»ãšãã©ã®å Žåããã®ãããªè³ªåãå©ããçããŸãããäžè¬ã«ããããã®åé¡ã¯ãã¹ãŠã2020幎7æ1æ¥ãŸã§ã«åŠçãããŠãããããã§ã«è§£æ±ºãããŠããŸãã
â â 1 2020 - , , . , .
Cleveranceã§ã¯ããœãããŠã§ã¢ã®åé¡ã¯äž»ãªåé¡ã§ã¯ãªããšèããŠããŸããããã«æªãããšã«ãååã®æµéã®åå è ã¯ãŸã 倿Žã®æ¬è³ªãçè§£ããŠããŸãããããã¯ããœãããŠã§ã¢ã®ãã°ãããã¯ããã«å€§ããªåé¡ã§ãã
人ã ã¯ãã©ããªã³ã°ãã1C / SAP / NAV / DAXã®ã³ã³ãã¥ãŒã¿ãŒã«åº§ã£ãŠç·šéããããä¿®æ£ããããé¡åçã«å€æŽãããã§ããå¥ã®äŒèšã¬ããŒããšããŠæ±ããŸãããã®ã¿ã€ãã¯äŒèšå£«ãšããžã¹ãã£ã¯ã¹ã«ãã£ãŠäœ¿çšãããITã¹ãã·ã£ãªã¹ãã¯ããã«å¿ èŠãªã¢ãžã¥ãŒã«ãšåŠçããã«ãããããå¿ èŠããããŸãã
ã¯ã©ã€ã¢ã³ãã®äž»ãªèŠæ±ã¯ãå庫/äžåœèª/ tetyamashaãäœããã¹ãã£ã³ããããã1C / SAP / NAV / DAXã«ãæ£ãããããŒãããããšã§ãããããŠãç§ãã¡ã¯ãããæåãããŠããŸãã
ããããããã¯æãããªééãã§ãããäŒæ¥ããäºãã®ãã©ã³ã¹ãåãå§ããå·ãå æ°ã«ãªãå§ãããšãã«æããã«ãªããŸãã
å®éã®ããŒãã³ã°ã·ã¹ãã ã¯äœã§ãã
補åã©ããªã³ã°ã¯ãå®éã®åããåæ ããããã®ã·ã¹ãã ã§ãã
å®éã®ã©ããªã³ã°ã®åé¡
ããã¯çŽç²ã«ç§ãã¡ã®ç§èŠã§ãã
ãªãŒãããã³ã®å®éã®åé¡ã¯ãã¹ãŠãããŒãã³ã°ã·ã¹ãã ã®å®éã®ç®çãã€ãŸãå®éã®åããåæ ããã·ã¹ãã ããçºçããŸãã
ãŸããåãã®å®éã®äŒèšåŠçã¯ããã¹ãŠãSKUããããããŸãã¯å¹³åã«ãã£ãŠäŒèšåŠçãããå Žåããã§ãŒã³å šäœãäŒèšåŠçããçŸåšã®ååãšççŸããŸããæ¯ãè¿ã£ãŠã¿ããšãåæžããŠä¿®æ£ããããšãç§ãã¡ã®ãã¹ãŠã§ãã
ã©ã®äŒæ¥ã®äŒèšã·ã¹ãã ãã100,500åã®é»è©±ãä¿®æ£ãåæçš¿ããšã©ãŒã®ã¯ãªãŒã³ã¢ããã®åŸã«ãã¹ãŠãã©ãã»ã©çŽ æŽããããã®ã«ãªã£ãã®ãã«ã€ããŠããŸãšããŠä¿®æ£ããããšã話ã§ãã
å€åœã®å€§æå»è¬å販売æ¥è ã§ã®å»¶é·äŒè°ã®1ã€ã§ã1æéã®è©±ãåãã®åŸã䞻任ããžã¹ãã£ã¯ã¹æ åœè ã¯ã€ãã«ç®ã転ããããããã¯ããšã«ç°ãªãããŒã³ãŒãã§ããïŒããšèšããŸããããããŠãããŠããŒã¯ãããã·ãªã¢ã«çªå·ãããåã³ããŒããããã¹ãŠãã¹ãã£ã³ããªã©ã®èšèãé£ãã§ããããã§ãã
第äºã«ãå®éã®åãã®èª¬æã¯ãçŸåšã®åæ £è¡ãæžå¿µã®åé¢ã®ååã«åããŠããŸãã
äŒç€Ÿã倧ãããåŸæ¥å¡ãäžéšã®ããã¥ã¡ã³ããç·šéããæš©å©ãæã£ãŠããªãå Žåã§ããé»è©±çªå·ããããŸãããä¿®æ£ã§ãã人ã«é»è©±ãŸãã¯æçŽãæžãããšãã§ããŸãã
ãŸãã¯ãããšãã°ãããã¥ã¡ã³ãã¯ãèã®æ ¹ã®åŸæ¥å¡ã«ãã£ãŠãã£ã¬ã¯ã¿ãŒã®CEPã«ãã£ãŠçœ²åããã2èŠçŽ èªèšŒãããå Žåã¯ãSMSãä»ããŠçœ²åãããŸããã©ããªã³ã°ã·ã¹ãã ã«ã¯ãŠãŒã¶ãŒãšãã®æš©å©ã«é¢ãããããã¯ãããããã¹ãŠã®äººã«åå¥ã®CEPãäžããããšãã§ããŸããã人ã ã¯ãããæ¥ãã§è¡ãå¿ èŠã¯ãããŸããã
ããã¯æãããªåé¡ã§ãããã©ãã«ä»ãããã補åã®ããé£ã«ããäžè¬ã®åŸæ¥å¡ã«ãŸããŸãå€ãã®æš©å©ãšäŒèšããŒã«ãæäŸããããšã«ãã£ãŠè§£æ±ºãããŸãã
ããã«ãã³ã¹ãäŸ¡æ Œã®èšç®ãäŒèšã·ã¹ãã ã®åãã®äŒèšåŠçã®ã«ãŒã«ã¯ãFIFO / LIFOãå¹³åäŸ¡æ Œãªã©ã®å¹³ååãšç°¡ç¥åã«åºã¥ããŠããŸãããããŠãçç£ããå°å£²ããŸã§äœå幎ã«ãããã£ãŠã©ãã§ãé©çšãããŠãããããã®äŒèšååã¯ããããã®åçŽåã«åºã¥ããŠããããŠããŒã¯ãªãŠãããã®å®éã®è¿œè·¡å¯èœæ§ã«åããŠããŸãã
ãã®ãããå®éã«ã¯ãããšãã°ãååã¯FIFO / LIFOã«ãã£ãŠããŒãã³ã°ã·ã¹ãã ã«éä¿¡ãããŸãããå®éã«åºè·ãããã®ã¯åºå£ã«è¿ããã®ã§ãã
ããã¯ãä»äºã®æ§è³ªäžãã³ã³ãã¥ãŒã¿ãŒã®åã«åº§ãããšãã§ããªãäžè¬ã®åŸæ¥å¡åãã®ç¹å¥ãªæ©åšããœãããŠã§ã¢ã«ãã£ãŠã解決ãããŸãã
ãã1ã€ã®åé¡ã¯ããå°çäžã§ãã¯ããŠãåŒã£åŒµãã詊ã¿ãšããã¹ãŠã®æšæºERPããã¥ã¡ã³ãã«ããŒãã³ã°ã³ãŒããæ¿å ¥ããŠãäŒèšå£«ãããžã¹ãã£ã¯ã¹æ åœè ããŸãã¯è²¬ä»»ãããããŒãžã£ãŒãããã§ãããã確èªã§ããããã«ããããšã§ãã
圌ã¯ããããèŠããã®ã¯äœããããŸãããããããã䜿ã£ãŠäœãããããšã¯ã§ããŸããã
確ãã«ãäŒèšå£«ãŸãã¯ãããŒãžã£ãŒãšããŠãã¢ãã¿ãŒãèŠããšãæšæ¥ããã®å庫ãã¹ãã£ã³ããããšããããŠäœåãã®ã¿ãã³ã®ãã¡3ã€ã«èµ€ã§åŒ·èª¿è¡šç€ºãããäžäžèŽãããã®ã¯ãªãã§ããããã
ããã¯ãå¿ èŠãªãã¹ãŠã®æ å ±ã«ã¢ã¯ã»ã¹ã§ããèã®æ ¹ã®æ åœè åãã®ããŒã«ã«ãã£ãŠã解決ãããŸãã
ãŸããã㯠ãããã¯äžéšã®ã·ã¹ãã ã®æè¡çãªåé¡ã§ã¯ãªããäžè¬ã«2020幎7æ1æ¥ãŸã§ã«ãã§ã«ä¿®æ£ãããŠããŸãããæ°ããã¬ãŒã«ã§ã®äŒæ¥ã®äœæ¥ãåæ§ç¯ããåé¡ã§ãã
çµè«
ã©ããªã³ã°ã®äž»ãªå©ç¹ã¯ãå·ããã¹ãŠã®äººã«ããžã¿ã«çœ²åãšæå·åã䜿çšããEDFãžã®ããžã¿ã«åãšåãæ¿ãã匷å¶ããããšã§ãã
ãæœ®æµã¯ãã¹ãŠã®è¹ãåŒãäžããŸããããããŠåžå Žå šäœã®å ±éã®ã¬ãŒã«ãžã®ç§»è¡ã¯å€§ããªçžä¹å¹æããããããŸãã
ã¿ããªããããŒãªãŒãã¡ãŒã·ã§ã³ïŒ