çŸåšãããŒã¿ãµã€ãšã³ã¹ã«é¢ããã³ãŒã¹ã¯100500äžXNUMXä»¶ååšããããŒã¿ãµã€ãšã³ã¹åéã§æãåçãäžããããã®ã¯ããŒã¿ãµã€ãšã³ã¹é¢é£ã®ã³ãŒã¹ã§ããããšã¯ä»¥åããç¥ãããŠããŸãïŒã·ã£ãã«ã売ããã®ã«ãããããæãå¿
èŠã¯ãããŸããããïŒïŒãããããã³ãŒã¹ã®äž»ãªæ¬ ç¹ã¯ãå®éã®ä»äºãšã¯å
šãé¢ä¿ããªãããšã§ããé©åãªåœ¢åŒã§ãã¯ãªãŒã³ã§åŠçæžã¿ã®ããŒã¿ãæäŸããŠããã人ã¯èª°ãããŸããããããŠãã³ãŒã¹ãä¿®äºããå®éã®åé¡ã®è§£æ±ºã«åãçµããšãå€ãã®ãã¥ã¢ã³ã¹ãæµ®ãã³äžãã£ãŠããŸãã
ããã§ãç§ãå人ãååã«å®éã«èµ·ãã£ãåºæ¥äºãããšã«ããããŒã¿ãµã€ãšã³ã¹ã§äœãããŸããããªãã®ãããšããã·ãªãŒãºãå§ããŸããããŒã¿ãµã€ãšã³ã¹ã®å žåçãªã¿ã¹ã¯ããå®éã®äŸãçšããŠåæããå®éã«ã©ã®ããã«è¡ãããŠããã®ããæããã«ããŸãã仿¥ã¯ããŒã¿åéã®ã¿ã¹ã¯ããå§ããŸãããã
å®éã®ããŒã¿ã«åãçµã¿å§ãããšããŸãæåã«ã€ãŸããã®ã¯ããŸãã«èªåãã¡ã«ãšã£ãŠé¢é£æ§ã®ããããŒã¿ãåéããŠãããšããããšã§ãããã®èšäºã®ããŒã¡ãã»ãŒãžã¯æ¬¡ã®ãšããã§ãã
ç§ãã¡ã¯ãããŒã¿ã®åéãã¯ãªãŒã³ã¢ãããæºåã«å¿ èŠãªæéããªãœãŒã¹ãåŽåãäœç³»çã«éå°è©äŸ¡ããŠããŸãã
ãããŠæãéèŠãªããšã¯ããããé²ãããã«äœããã¹ããã話ãåãããšã§ãã
ããŸããŸãªæšå®ã«ãããšãã¯ãªãŒãã³ã°ã倿ãããŒã¿åŠçãç¹åŸŽãšã³ãžãã¢ãªã³ã°ãªã©ãæéã® 80 ïœ 90%ãåæã 10 ïœ 20% ãå ããŠããŸãããã»ãšãã©ãã¹ãŠã®æè²è³æã¯åæã®ã¿ã«çŠç¹ãåœãŠãŠããŸãã
åçŽãªåæåé¡ã®å žåçãªäŸã 3 ã€ã®ããŒãžã§ã³ã§èŠãŠããæªåãããç¶æ³ããã©ã®ãããªãã®ãªã®ããèŠãŠã¿ãŸãããã
ãŸããäŸãã°ã次ã®ãããªããŒã¿ã®åéãšã³ãã¥ããã£ã®æ¯èŒãšããã¿ã¹ã¯ã®åæ§ã®ããªãšãŒã·ã§ã³ãæ€èšããŸãã
- 2ã€ã®Redditãµãã¬ãã£ãã
- ããã®2ã€ã®ã»ã¯ã·ã§ã³
- ãªããã¯ã©ã¹ããã®2ã€ã®ã°ã«ãŒã
çè«äžã®æ¡ä»¶ä»ãã¢ãããŒã
ãµã€ããéããŠãµã³ãã«ãèªãã§ã¿ãŠãã ãããå 容ãæç¢ºã§ããã°ãèªè§£ã«æ°æéããµã³ãã«ã®ã³ãŒããšãããã°ã«æ°æéã確ä¿ããŠãã ãããããã«ãã¢ã»ã³ããªã«æ°æé远å ããŠãã ãããããã«äºåãšããŠæ°æéïŒ2åããŠNæéïŒãå ããŠãã ããã
éèŠãªãã€ã³ã: æéã®èŠç©ãã¯ããããæéã«ã€ããŠã®ä»®å®ãšæšæž¬ã«åºã¥ããŠããŸãã
æéåæã¯ãäžèšã®æ¡ä»¶ä»ãã¿ã¹ã¯ã®æ¬¡ã®ãã©ã¡ãŒã¿ã®è©äŸ¡ããå§ããå¿ èŠããããŸãã
- ããŒã¿ã®ãµã€ãºã¯ã©ããããã§ããããŸããç©ççã«åéããå¿ èŠãããããŒã¿ã¯ã©ã®ããããããŸããïŒ*äžèšåç §*ïŒã
- 1 ã€ã®ã¬ã³ãŒãã®åéæéã¯ã©ããããã§ããããŸãã2 çªç®ã®ã¬ã³ãŒããåéãããŸã§ã«ã©ããããåŸ ããªããã°ãªããŸãããã
- ãã¹ãŠãã¯ã©ãã·ã¥ããå Žå (ã¯ã©ãã·ã¥ããã¯ãã§ã¯ãªã)ãç¶æ ãä¿åããŠåèµ·åãéå§ããã³ãŒããèšè¿°ããŸãã
- æ¿èªãå¿ èŠãã©ããã倿ããAPI ã¢ã¯ã»ã¹ãååŸããã®ã«ãããæéãèšç»ããŸãã
- ããŒã¿ã®è€éãã®é¢æ°ãšããŠãšã©ãŒã®æ°ãå«ããç¹å®ã®ã¿ã¹ã¯ïŒæ§é ãå€æã®æ°ãæœåºå¯Ÿè±¡ã𿹿³ïŒãè©äŸ¡ããŸãã
- ãããã¯ãŒã¯ ãšã©ãŒãéæšæºã®ãããžã§ã¯ãåäœã«é¢ããåé¡ãå«ãŸããŸãã
- å¿ èŠãªæ©èœãããã¥ã¡ã³ãã«èšèŒãããŠãããã©ãããè©äŸ¡ããŸããèšèŒãããŠããªãå Žåã¯ãåé¿çã«å¿ èŠãªæ¹æ³ãšéãè©äŸ¡ããŸãã
æãéèŠãªã®ã¯ãæéãèŠç©ããããšã§ããã宿Šåµå¯ãã«ã¯å®éã«æéãšåŽåãè²»ããå¿ èŠããããŸããããããŠåããŠãèšç»ã¯é©åãªãã®ã«ãªããŸãããããã£ãŠããããŒã¿åéã«ã©ããããã®æéãå¿ èŠãããšã©ãã ãèšãããŠããäºååæã®ããã®æéãèªåã§ç¢ºä¿ããã¿ã¹ã¯ã®å®éã®ãã©ã¡ãŒã¿ã«ãã£ãŠã©ããããã®æéããããã®ããè°è«ããŠãã ããã
ããã§ã¯ããã®ãããªãã©ã¡ãŒã¿ãå€åããå ·äœçãªäŸã瀺ããŸãã
éèŠãªãã€ã³ã: è©äŸ¡ã¯ãäœæ¥ã®éãšè€éãã«åœ±é¿ãäžããäž»èŠãªèŠå ã®åæã«åºã¥ããŠããŸãã
æšæž¬ã«åºã¥ãæšå®ã¯ãæ©èœèŠçŽ ãååã«å°ãããã¿ã¹ã¯æ§é ã«å€§ããªåœ±é¿ãäžããèŠå ãããã»ã©å€ããªãå Žåã«ã¯é©åãªã¢ãããŒãã§ããããããäžéšã®ããŒã¿ãµã€ãšã³ã¹ã¿ã¹ã¯ã§ã¯ããã®ãããªèŠå ãéåžžã«å€ããªãããã®ã¢ãããŒãã¯é©åã§ã¯ãªããªããŸãã
Redditã³ãã¥ããã£ã®æ¯èŒ
ãŸãã¯æãåçŽãªã±ãŒã¹ããå§ããŸãããïŒåŸã»ã©è©³ãã説æããŸãïŒãæ£çŽãªãšãããããã¯ã»ãŒçæ³çãªã±ãŒã¹ã§ããè€éãã®ãã§ãã¯ãªã¹ãã確èªããŠã¿ãŸãããã
- ãã¡ããšæŽçãããæç¢ºã§ãææžåããã API ããããŸãã
- éåžžã«ç°¡åã§ãæãéèŠãªã®ã¯ãããŒã¯ã³ãèªåçã«ååŸãããããšã§ãã
- ãã - ããããã®äŸãæããŠã
- Reddit ã§ããŒã¿ãã€ãã³ã°ãšããŒã¿åéãè¡ãã³ãã¥ãã㣠(Python ã©ãããŒã®äœ¿ãæ¹ã説æãã YouTube ãããªãå«ã) .
- å¿ èŠãªã¡ãœããã¯APIã«ååšããå¯èœæ§ãé«ãã§ããããã«ãã³ãŒãã¯ã³ã³ãã¯ãã§ç°¡æœã«èŠããŸãã以äžã¯ãæçš¿ãžã®ã³ã¡ã³ããåéãã颿°ã®äŸã§ãã
def get_comments(submission_id):
reddit = Reddit(check_for_updates=False, user_agent=AGENT)
submission = reddit.submission(id=submission_id)
more_comments = submission.comments.replace_more()
if more_comments:
skipped_comments = sum(x.count for x in more_comments)
logger.debug('Skipped %d MoreComments (%d comments)',
len(more_comments), skipped_comments)
return submission.comments.list()
ããåããã ã©ããã³ã°ã«äŸ¿å©ãªãŠãŒãã£ãªãã£ã®ã³ã¬ã¯ã·ã§ã³ã
ããã¯æè¯ã®ã·ããªãªã§ãããèæ ®ãã¹ãéèŠãªçŸå®çèŠå ããŸã ããã€ããããŸãã
- API ã®å¶é - ããŒã¿ããããã§ååŸããå¿ èŠããããŸã (ãªã¯ãšã¹ãéã®ã¹ãªãŒããªã©)ã
- åéæé - å®å šãªåæãšæ¯èŒãè¡ãã«ã¯ãã¹ãã€ããŒããµãã¬ãã£ãããå·¡åããã®ã«ããªãã®æéã確ä¿ããå¿ èŠããããŸãã
- ãããã¯ãµãŒããŒäžã§åäœãããå¿ èŠããããŸããããŒãããœã³ã³ã§åäœãããŠããã¯ããã¯ã«å ¥ããŠããã®ãŸãŸä»äºã«åãæããããã«ã¯ãããŸããããã®ãããç§ã¯ãã¹ãŠãVPSã§åäœãããŠããŸããããã¢ãŒã·ã§ã³ã³ãŒããhabrahabr10ãããå©çšããã ããšãããã«10%å²åŒã«ãªããŸãã
- äžéšã®ããŒã¿ã¯ç©ççã«ã¢ã¯ã»ã¹ã§ããªã (管çè ã«ã¯è¡šç€ºãããããåéãå°é£ããã) ãšããç¹ãèæ ®ããå¿ èŠããããŸãããã¹ãŠã®ããŒã¿ã劥åœãªæéå ã«åéã§ããããã§ã¯ãããŸããã
- ãããã¯ãŒã¯ ãšã©ãŒ: ãããã¯ãŒã¯ã¯é¢åã§ãã
- ããã¯çŸå®ã®çããããŒã¿ã§ãããæ±ºããŠã¯ãªãŒã³ãªãã®ã§ã¯ãããŸããã
ãã¡ãããéçºã«ã¯ç¹å®ã®ãã¥ã¢ã³ã¹ãå«ããå¿ èŠããããŸããå ·äœçãªæéæ°ïŒæ¥æ°ã¯éçºçµéšãé¡äŒŒã¿ã¹ã¯ã®çµéšã«ãã£ãŠç°ãªããŸãããããã§ã¯çŽç²ã«ãšã³ãžãã¢ãªã³ã°çãªã¿ã¹ã¯ã§ããããœãªã¥ãŒã·ã§ã³ã®ããã«è¿œå ã®èº«äœåäœãå¿ èŠãšããªãããšãããããŸããã€ãŸãããã¹ãŠãé©åã«èŠç©ãããèšè¿°ããå®è¡ã§ãããšããããšã§ãã
Habrã»ã¯ã·ã§ã³ã®æ¯èŒ
Habr ã®ã¹ããªãŒã ãã»ã¯ã·ã§ã³ãæ¯èŒãããããè峿·±ããç°¡åã§ã¯ãªãã±ãŒã¹ã«ç§»ããŸãããã
è€éãã®ãã§ãã¯ãªã¹ãã確èªããŸããããããã§ã¯ãåãã€ã³ããçè§£ããããã«ãã¿ã¹ã¯èªäœãå°ã調ã¹ãŠå®éšããå¿ èŠããããŸãã
- æåã¯APIããããšæããããããŸããããå®éã«ã¯ãããŸããã確ãã«Habrã«ã¯APIããããŸããããŠãŒã¶ãŒãå©çšããããšã¯ã§ããŸããïŒãããã¯ãããããæ©èœããªããããããŸããïŒã
- 次ã«ãHTML ã®è§£æãéå§ããŸã - ãã€ã³ããŒãèŠæ±ããäœãåé¡ã«ãªãã§ãããã?
- äžäœã©ã®ããã«è§£æããã®ã§ãããããæãåçŽã§äžè¬çã«äœ¿çšãããæ¹æ³ã¯ãID ã§å埩åŠçããããšã§ãããã ããããã¯æãå¹ççã§ã¯ãªããããŸããŸãªã±ãŒã¹ãåŠçããå¿
èŠãããããšã«æ³šæããŠãã ããã以äžã¯ãæ¢åã®ãã¹ãŠã® ID ã®ãã¡å®éã® ID ã®å¯åºŠã®äŸã§ãã

ããåããã èšäºã - ãŠã§ãäžã§HTMLã§å²ãŸããçããŒã¿ãæ±ãã®ã¯é¢åã§ããäŸãã°ãèšäºã®è©äŸ¡ãåéããŠä¿åããããšããŸããHTMLããã¹ã³ã¢ãæœåºããåŸç¶åŠçã®ããã«æ°å€ãšããŠä¿åããããšã«ããŸãã
1) int(score) ã§ãšã©ãŒãçºçããŸããHabr ã§ã¯ãããšãã°è¡ "-5" ã®ãããªãã€ãã¹ã¯çãããã·ã¥ã§ããããã€ãã¹èšå·ã§ã¯ãããŸãã (äºæ³å€ã§ããã?)ããã®ãããããæç¹ã§ããã®ãããªã²ã©ãä¿®æ£ãå ããŠããŒãµãŒã埩掻ãããªããã°ãªããŸããã§ããã
try: score_txt = post.find(class_="score").text.replace(u"â","-").replace(u"+","+") score = int(score_txt) if check_date(date): post_score += scoreæ¥ä»ããã©ã¹ããã€ãã¹ããŸã£ããååšããªãå ŽåããããŸã (äžèšã® check_date 颿°ã§ã¯ãããåœãŠã¯ãŸããŸãã)ã
2) ä¿è·ãããŠããªãç¹æ®æå - å¿ ãåºçŸããã®ã§ãåããå¿ èŠããããŸãã
3) ãã¹ãã®çš®é¡ã«ãã£ãŠæ§é ãç°ãªããŸãã
4) å€ãæçš¿ã¯**å¥åŠãªæ§é **ã«ãªã£ãŠããå ŽåããããŸãã
- æ¬è³ªçã«ã¯ããšã©ãŒåŠçãšãäœãèµ·ãããèµ·ãããªãããåŠçããå¿ èŠããããäœãããŸããããªãããæ§é ã¯ä»ã«ã©ã®ãããªãã®ããã©ãã§äœãèœã¡ããã確å®ã«äºæž¬ããããšã¯äžå¯èœã§ããããŒãµãŒãã¹ããŒãããšã©ãŒãèæ ®ããŠã¿ãå¿ èŠããããŸãã
- 次ã«ãè€æ°ã®ã¹ã¬ããã§è§£æããå¿ èŠãããããšãããããŸããããããªããšã30 ã€ã®ã¹ã¬ããã§è§£æãããš XNUMX æé以äžããããŸã (ããã¯ãã¹ãªãŒãç¶æ ã§ãããçŠæ¢ãããŠããªããæ¢ã«åäœããŠããã·ã³ã°ã« ã¹ã¬ãã ããŒãµãŒã®å®è¡æéã®ã¿ã§ã)ã ãã®èšäºã¯ãããæç¹ã§æ¬¡ã®ãããªèšç»ã«ã€ãªãããŸããã

è€éãå¥ã®åèšãã§ãã¯ãªã¹ã:
- ID ã«ããå埩ãšåæã䜿çšããŠããããã¯ãŒã¯ãš HTML è§£æãæäœããŸãã
- ç°ç𮿧é ã®ææžã
- ã³ãŒããç°¡åã«æãèœã¡ãŠããŸãå Žæã¯ãããããããŸãã
- || ã³ãŒããæžãå¿ èŠããããŸãã
- é©åãªããã¥ã¡ã³ããã³ãŒã ãµã³ãã«ãã³ãã¥ããã£ãäžè¶³ããŠããŸãã
ãã®ã¿ã¹ã¯ã«ãããæšå®æéã¯ãReddit ããããŒã¿ãåéããå Žåã® 3 ïœ 5 åã«ãªããŸãã
ãªããã¯ã©ã¹ããã°ã«ãŒãã®æ¯èŒ
ã§ã¯ããããŸã§èª¬æããäºäŸã®äžã§æãæè¡çã«è峿·±ãäºäŸã«ç§»ããŸããããç§ã«ãšã£ãŠãã®äºäŸãè峿·±ãã®ã¯ãäžèŠãããšäºçްãªããšã«æããã®ã§ãããæ£ã§çªããŠã¿ããšãå šãäºçްãªããšã§ã¯ãªãããšãããã«åããããã§ãã
é£æåºŠãã§ãã¯ãªã¹ãããå§ããŸãããããããã®å€ãã¯ãæåã«èŠãããããã¯ããã«é£ããããšã«æ³šæããŠãã ããã
- APIã¯ãããŸãããå¿ èŠãªæ©èœãã»ãšãã©æ¬ ããŠããŸãã
- äžéšã®æ©èœã«ã¯é»åã¡ãŒã«ã«ããã¢ã¯ã»ã¹ãå¿ èŠã§ãããã¢ã¯ã»ã¹ã¯ããã«ã¯èš±å¯ãããŸããã
- ããã¥ã¡ã³ããã²ã©ãäžååã§ãïŒãŸãããã·ã¢èªãšè±èªã®çšèªããããããšããã§æ··åšããå®å šã«äžè²«æ§ããããŸãããæã«ã¯ãã©ããã§äœãæ±ããããŠããã®ããæšæž¬ããå¿ èŠãããã ãã§ãïŒãããã«ãèšèšäžãããŒã¿ã®ååŸã«ã¯é©ããŠããŸãããããšãã°ã .
- ããã¥ã¡ã³ãã§ã¯ã»ãã·ã§ã³ãå¿ èŠã§ãããå®éã«ã¯äœ¿çšãããŸããããŸãããããã調ã¹ãŠäœããæ©èœããããšãæåŸ ãã以å€ã«ãAPI ã¢ãŒãã®è€éãªéšåããã¹ãŠçè§£ããæ¹æ³ã¯ãããŸããã
- äŸãã³ãã¥ããã£ã¯ãªããæ å ±åéã®å¯äžã®ãµããŒããã€ã³ãã¯å°ã㪠Python ã§ (䜿çšäŸã¯ããŸããããŸãã)ã
- å¿
èŠãªããŒã¿ã®å€ããããã¯ãããŠãããããSelenium ãæãå¹ççãªãªãã·ã§ã³ã§ãããšæãããŸãã
1) ã€ãŸããæ¶ç©ºã®ãŠãŒã¶ãŒïŒæåç»é²ïŒãéããŠèªèšŒãè¡ãããŸãã2) ãã ããSelenium ã§ã¯ãæ£ç¢ºãã€ç¹°ãè¿ãå¯èœãªæäœãä¿èšŒãããŸãã (å°ãªããšã ok.ru ã®å Žåã¯ç¢ºå®ã§ã)ã
3) Ok.ru Web ãµã€ãã«ã¯ JavaScript ãšã©ãŒãå«ãŸããŠãããåäœãäžèŠåã«ãªã£ãããäžè²«æ§ããªããªã£ããããããšããããŸãã
4) ããŒãžããŒã·ã§ã³ãèŠçŽ ã®èªã¿èŸŒã¿ãªã©ãåŠçããå¿ èŠããããŸãã
5) ã©ãããŒã«ãã£ãŠè¿ããã API ãšã©ãŒã¯ã次ã®ãããªããããŒãªæ¹æ³ã§åŠçããå¿ èŠããããŸã (å®éšçãªã³ãŒãã®äžéš)ã
def get_comments(args, context, discussions): pause = 1 if args.extract_comments: all_comments = set() #makes sense to keep track of already processed discussions for discussion in tqdm(discussions): try: comments = get_comments_from_discussion_via_api(context, discussion) except odnoklassniki.api.OdnoklassnikiError as e: if "NOT_FOUND" in str(e): comments = set() else: print(e) bp() pass all_comments |= comments time.sleep(pause) return all_commentsç§ã®ãæ°ã«å ¥ãã®ééãã¯æ¬¡ã®ãšããã§ã:
OdnoklassnikiError("Error(code: 'None', description: 'HTTP error', method: 'discussions.getComments', params: âŠ)â)6) æçµçã«ã¯ãSelenium + API ãªãã·ã§ã³ãæãåççãªãªãã·ã§ã³ã®ããã«èŠããŸãã
- ç¶æ ãä¿åããŠã·ã¹ãã ãåèµ·åãããµã€ãã®äžè²«æ§ã®ãªãåäœãå«ãå€ãã®ãšã©ãŒãåŠçããå¿ èŠããããŸããããããã®ãšã©ãŒã¯æ³åããã®ãéåžžã«å°é£ã§ã (ãã¡ãããããã®ããŒãµãŒäœæè ã§ãªãéã)ã
ãã®ã¿ã¹ã¯ã®æ¡ä»¶ä»ãæšå®æéã¯ãHabrããã®ããŒã¿åéããã3ïœ5åé·ããªããŸããHabrã®å Žåã¯HTMLè§£æãçšããç·åœããæ¹åŒãæ¡çšããOKã®å Žåã¯éèŠãªç®æã§APIã䜿çšã§ããã«ããããããã§ãã
æèŠ
å€§èŠæš¡ãªããŒã¿åŠçãã€ãã©ã€ã³ ã¢ãžã¥ãŒã«ã®æéãããã®å Žã§ãèŠç©ããå¿ èŠãããå Žåã§ã (仿¥ã¯èšç»ããããŸã!)ãã¿ã¹ã¯ ãã©ã¡ãŒã¿ãåæããã«å®è¡æéã宿§çã«èŠç©ããããšã¯ã»ãšãã©äžå¯èœã§ãã
ããå°ãå²åŠçã«èšãã°ãã¢ãžã£ã€ã«èŠç©ããæŠç¥ã¯ãšã³ãžãã¢ãªã³ã°ã®ã¿ã¹ã¯ã«ã¯ããŸãæ©èœããŸãããããã§èª¬æããäŸã®ããã«ãããå®éšçã§ãããæå³ã§ã¯ãåµé çãã§æ¢çŽ¢çãªã¿ã¹ã¯ãã€ãŸãäºæž¬ãã«ããã¿ã¹ã¯ã§ã¯åé¡ãçºçããŸãã
ãã¡ãããããŒã¿åéã¯åãªãåãããããäŸã«éããŸãããéåžžããã®äœæ¥ã¯ä¿¡ããããªãã»ã©åçŽã§æè¡çã«ãè€éã§ã¯ãªãããã«èŠããŸãããå®éã«ã¯çްéšã«ããèœãšãç©Žãæœãã§ããããšãå€ãã®ã§ãããããŠããã®äœæ¥ããããäœãåé¡ã«ãªãå¯èœæ§ãããã®ãââããããŠäœæ¥ã«ã©ããããã®æéããããã®ããããããå¯èœæ§ã瀺ãããšãã§ããã®ã§ãã
远å ã®å®éšãããã«ã¿ã¹ã¯ã®ç¹æ§ã ãããã£ãšèŠããšãRedditãšOKã¯äŒŒãŠããããã«èŠããŸããAPIãPythonã©ãããŒã¯ãããŸãããæ¬è³ªçã«ã¯å€§ããªéãããããŸãããããã®ãã©ã¡ãŒã¿ã ããèŠããšãHabrã®è§£æã¯OKãããè€éã«èŠããŸãããå®éã«ã¯å šãéã§ãããã¿ã¹ã¯ã®ãã©ã¡ãŒã¿ãåæããããã®ç°¡åãªå®éšãè¡ãããšã§ããŸãã«ãã®ããšãããããŸãã
ç§ã®çµéšã§ã¯ãæã广çãªã¢ãããŒãã¯ãããã¥ã¡ã³ããèªã¿ãäºååæèªäœãšç°¡åãªæåã®å®éšã«å¿ èŠãªæéã倧ãŸãã«èŠç©ããããšã§ããããã¥ã¡ã³ããèªãããšã§ãäœæ¥å šäœã®æ£ç¢ºãªèŠç©ãããåºãããšãã§ããŸããäžè¬çãªã¢ãžã£ã€ã«ææ³ã«åœãŠã¯ãããšããã¿ã¹ã¯ãã©ã¡ãŒã¿ã®èŠç©ãããã®ãã±ãããäœæããŠãããããã«äŸé ŒããŸããããã«åºã¥ããŠããã¹ããªã³ããå ã§å®äºå¯èœãªäœæ¥ãèŠç©ãããåã¿ã¹ã¯ã®ããæ£ç¢ºãªèŠç©ãããåºãããšãã§ããŸãã
ãããã£ãŠãæã广çãªè°è«ã¯ããéæè¡è ãã®å°éå®¶ã«ããŸã è©äŸ¡ãããŠããªããã©ã¡ãŒã¿ã«å¿ããŠæéãšãªãœãŒã¹ãã©ã®çšåºŠå€åãããã瀺ãè°è«ã§ãããšæãããŸãã
åºæïŒ habr.com
