ããŒãã¢ããªã³ã°ã¯ãäžé£ã®ãããã¥ã¡ã³ããããæœè±¡çãªããããã¯ããæœåºããããšã«ç¹åããæ©æ¢°åŠç¿ã®ãµãã»ã¯ã·ã§ã³ã§ãã åãããã¥ã¡ã³ããã¯ã äžé£ã®åèª ãã€ãŸã å€ãã®åèªãšãã®é »åºŠã ããŒãã¢ããªã³ã°ã®æŠèŠã¯ãææã«ãã£ãŠå®å šã«èª¬æãããŠããŸãã K.V. Vorontsovã®ShADã®è¬çŸ©[ PDF ]ã æãæåãªTMã¢ãã«ã¯ããã¡ããLatent Dirichlet Placement ïŒLDAïŒã§ãã Konstantin Vyacheslavovichã¯ã å æ³æ£åå ïŒARTMïŒã®åœ¢åŒã®åèªã®è¢ã«åºã¥ããŠãå¯èœãªãã¹ãŠã®äž»é¡ã¢ãã«ãèŠçŽããããšã«æåããŸããã ç¹ã«ãLDAã¯å€ãã®ARTMã¢ãã«ã«ãå«ãŸããŠããŸãã ARTMã®ã¢ã€ãã¢ã¯BigARTMãããžã§ã¯ãã«çµã¿èŸŒãŸããŠããŸãã
éåžžãããŒãå¥ã¢ããªã³ã°ã¯ããã¹ãããã¥ã¡ã³ãã«é©çšãããŸãã ãœãŒã¹{d} ïŒã¹ãã€ã³ã®æ°èäŒæ¥ïŒã¯ãGitHubãªããžããªããååŸãã倧ããªæ¥ä»ãæ¶åããŠããŸãïŒãããŠãäžçäžã§å ¬éãããŠãããã¹ãŠã®ãªããžããªãåŒãç¶ãäºå®ã§ãïŒã åœç¶ãåãªããžããªãåèªã®è¢ãšããŠè§£éããBigARTMãæåãããšããã¢ã€ãã¢ãçãŸããŸããã ãã®èšäºã§ã¯ããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®æ倧ã®ãªããžããªã«ã€ããŠãäžçã§æåã®ã±ãŒã¹ã¹ã¿ãã£ãã©ã®ããã«å®æœãããããã®èµ·æºãããã³ãã®åçŸæ¹æ³ã«ã€ããŠèª¬æããŸãã äžã®ããã«ãŒïŒ
TL; DRïŒ
docker run srcd/github_topics apache/spark
ïŒå¿
èŠã«å¿ããŠã apache/spark
ãGitHubæ åœè ã«çœ®ãæããŠãã ããïŒã
» æœåºããããããã¯ãå«ãOpenDocumentããŒãã«ã
» æœåºããããããã¯ãå«ãJSONã
" èšç·Žãããã¢ãã« -40MBãPython 3.4 +ãPandas 1.18+çšã®gzipå§çž®ãã¯ã«ã
» data.worldã®ããŒã¿ã»ãã ã
çè«
äžé£ã®ææžã®äž»é¡ç¢ºçã¢ãã« åèªã®åºçŸé »åºŠã説æããŸã ææžå ãããã¯ã§ ïŒ
ã©ã㧠-åèªã®é¢ä¿ç¢ºç ãããã¯ãž ã -ãããã¯ã®é¢ä¿ã®ç¢ºç ææžãž ã ãã äžèšã®åŒã¯ã確çå€æ°ã®ç¬ç«æ§ã®ä»®èª¬ãçã§ãããšããæ¡ä»¶ã§ãåçŽã«åèšç¢ºçã®è¡šçŸã§ãã ã åèªã¯èŸæžããåãããŸã ãããã¯ã¯å€ãã«å±ããŸã ããã¯åãªãäžé£ã®ã€ã³ããã¯ã¹ã§ã ã
埩å ããå¿ èŠããããŸã ãã㊠æå®ãããããã¥ã¡ã³ãã®ã»ãããã ã äžè¬çã«ä¿¡ããããŠããŸã ã©ã㧠-ãšã³ããªæ° ææžã« ãã ããããã¯ããã¹ãŠã®åèªãåæ§ã«éèŠã§ããããšãæå³ããŸãããããã¯åžžã«æ£ãããšã¯éããŸããã ããã§ã®ãéèŠæ§ããšã¯ãææžå ã®åèªã®äžè¬çãªåºçŸé »åºŠãšè² ã®çžé¢é¢ä¿ããã枬å®å€ãæå³ããŸãã å埩å¯èœãªç¢ºçã瀺ã ãã㊠ã T.O. ç§ãã¡ã®ã¿ã¹ã¯ã¯ã確çè«çãªè¡åå解ã«éå ãããŸãã
æ©æ¢°åŠç¿ã¿ã¹ã¯ã§ã¯ ãéåžžãæªç¥ã®ããŒã¿ã®ã¢ãã«ã®ç¹æ§ãæ¹åããæ¹æ³ãšããŠæ£ååã䜿çšãããŸãïŒçµæãšããŠã åãã¬ãŒãã³ã° ãè€éããªã©ã軜æžãããŸãïŒã ç§ãã¡ã®å Žåãããã¯åã«å¿ èŠã§ãã
äžèšã®ãããªã¿ã¹ã¯ã¯ã æå°€æ³ã䜿çšããŠè§£æ±ºãããŸãã
æ¡ä»¶ã®äžã§
ARTMã®æ¬è³ªã¯ãè¿œå ã®çšèªãšããŠæ£èŠåãèªç¶ã«è¿œå ããããšã§ãã
ããã¯åçŽãªè¿œå ã§ããããããããªãã¯ã¹ãéåŒããŠãããã¯ã®ç¬ç«æ§ãé«ãããªã©ã1ã€ã®æé©åã§ç°ãªãââã¬ã®ã¥ã©ãŒãçµã¿åãããããšãã§ããŸãã LDAã¯ãARTMã®çšèªã§æ¬¡ã®ããã«å®åŒåãããŠããŸãã
å€æ° ãã㊠å埩EMã¢ã«ãŽãªãºã ã䜿çšããŠå¹ççã«èšç®ã§ããŸãã BigARTMã®äžéšãšããŠãæ°åã®æ¢è£œã®ARTMã¬ã®ã¥ã©ãŒãæŠéã®æºåãã§ããŠããŸãã
ããã§ãShADè¬çŸ©ã®åŒ·å¶æžãæããçµäºããéå§ããŸã
ç·Žç¿ãã
2016幎10æã«ã¯ãGitHubã®çŽ1800äžã®ãªããžããªãåæã«å©çšã§ããŸããã å®éã«ã¯ãã£ãšãããããããŸãããã©ãŒã¯ãšãããŒããã©ãŒã¯ããããããããŸããïŒãã©ãŒã¯ã¯GitHubã«ãã£ãŠããŒã¯ãããŠããŸããïŒã ãããåãªããžããªã«å
¥ããŸã ããœãŒã¹ã®ååå㯠ã ãœãŒã¹åæã¯ãåæã®å®éšã§ã®ãœãŒã¹ã³ãŒãã®ãã£ãŒããã¬ãŒãã³ã°ãšåãããŒã«ã䜿çšããŠè¡ãããŸããïŒææ°ã®REã»WORKã«ã³ãã¡ã¬ã³ã¹ïŒ ãã«ãªã³ãšãã³ãã³ããã®ãã¬ãŒã³ããŒã·ã§ã³ãåç
§ïŒïŒ github /èšèªåŠè
ã«ããåæåé¡ãšPygmentsã«åºã¥ã解æã README.mdãªã©ã®æ±çšããã¹ããã¡ã€ã«ã¯åé€ãããŸãã ã
ãœãŒã¹ããã®ååã¯ãé¡ããšããŠæœåºãããã¹ãã§ã¯ãããŸãããããšãã°ã class FooBarBaz
ã¯ããã°ã«3èªãè¿œå ããŸãïŒ foo
ã bar
ããã³baz
ãããã³int wdSize
ã¯2ãè¿œå ããŸãïŒ wdsize
ãšsize
ããã«ãNLTK Snowballã«ãã£ãŠååãã¹ã¿ã³ããããŸãããããã®å©ç¹ã«ã€ããŠã¯ç¹ã«èª¿æ»ããŸããã§ããã ååŠçã®æåŸã®æ®µéã¯ã TF-IDFèšéã®å¯Ÿæ°ããŒãžã§ã³ãèšç®ããããšã§ãïŒããã§ããéåžžã®NLPãããœãªã¥ãŒã·ã§ã³ãã³ããŒããã ãã§ãç¹ã«èª¿æ»ããŸããã§ããïŒã
ARTMãçµæãè¿ããåŸãããŒã¯ãŒããšãªããžããªæ
åœè
ã«åºã¥ããŠãããã¯ã«æåã§ååãä»ããå¿
èŠããããŸããã ãããã¯ã®æ°ã¯200ã«èšå®ãããŸããããåŸã§å€æããããã«ãããã«å€ãã®ãããã¯ãè¿œå ããå¿
èŠããããŸããã Githubã«ã¯å€ãã®ãããã¯ããããŸãã é¢åãªäœæ¥ã«ã¯1é±éããããŸããã
ååŠçã¯ãGoogle Cloudã®Dataprocå¥åSparkã§å®è¡ãããäž»èŠãªã¢ã¯ã·ã§ã³ã¯åŒ·åãªã³ã³ãã¥ãŒã¿ãŒã§ããŒã«ã«ã«å®è¡ãããŸããã çµæã®ã¹ããŒã¹ãããªãã¯ã¹ã®ãµã€ãºã¯çŽ20 GBã§ãããBigARTM CLIããã€ãžã§ã¹ãã§ããããã«Vowpal Wabbitããã¹ã圢åŒã«å€æããå¿
èŠããããŸããã ããŒã¿ã¯æ°æéã§éåžžã«è¿
éã«ç²ç ãããŸããã
bigartm -c dataset_vowpal_wabbit.txt -t 200 -p 10 --threads 10 --write-model-readable bigartm.txt --regularizer "0.05 SparsePhi" "0.05 SparseTheta" Parsing text collection... OK. Gathering dictionary from batches... OK. Initializing random model from dictionary... OK. Number of tokens in the model: 604989 ================= Processing started. Perplexity = 586350 SparsityPhi = 0.00214434 SparsityTheta = 0.422496 ================= Iteration 1 took 00:11:57.116 Perplexity = 107901 SparsityPhi = 0.00613982 SparsityTheta = 0.552418 ================= Iteration 2 took 00:12:03.001 Perplexity = 60701.5 SparsityPhi = 0.102947 SparsityTheta = 0.768934 ================= Iteration 3 took 00:11:55.172 Perplexity = 20993.5 SparsityPhi = 0.458439 SparsityTheta = 0.902972 ================= Iteration 4 took 00:11:56.804 ...
-p
ã¯ãå埩åæ°ãèšå®ããŸãã ã©ã®ã¬ã®ã¥ã©ãŒã䜿çšãããã«ã€ããŠã®ç¢ºå®æ§ã¯ãªãã£ããããã¹ããŒã¹æ§ã®ã¿ãã¢ã¯ãã£ãåãããŸããã 詳现ãªããã¥ã¡ã³ãã®æ¬ åŠãçŸããŸããïŒéçºè
ã¯ãããä¿®æ£ãããšçŽæããŸããïŒã ããŒã¯æã«åäœããããã«å¿
èŠãªRAMã®éã¯30 GBãè¶
ããªãããšã«æ³šæããããšãéèŠã§ããããã¯ã gensimã®èæ¯ãšãç¥ãèš±ããŠãããsklearnã«å¯ŸããŠéåžžã«ã¯ãŒã«ã§ã ã
ããŒã
ãã®çµæã200ã®ãããã¯ã次ã®ã°ã«ãŒãã«åé¡ã§ããŸãã
- æŠå¿µã¯ãäžè¬çã§åºããæœè±¡çãªãã®ã§ãã
- 人éã®èšèª -ã³ãŒããããã°ã©ãã®æ¯åœèªãã»ãŒæ±ºå®ã§ããããšãå€æããŸãããããã¯ãããããã¹ããã³ã°ããã®ãªãã»ãããåå ã§ãã
- ããã°ã©ãã³ã°èšèªã¯ããã»ã©é¢çœããªã ãã®æ å ±ã¯ãã§ã«ç¥ã£ãŠããŸãã YPã«ã¯éåžžããœãŒã¹ã«ã€ã³ããŒã/ã€ã³ã¯ã«ãŒããããã¯ã©ã¹ãšé¢æ°ã®æšæºçãªãããããªãŒãã©ã€ãã©ãªãããã察å¿ããååã¯ããŒãã¢ããªã³ã°ã«ãã£ãŠæ€åºãããŸãã äžéšã®ãããã¯ã¯YaPãããçãã£ãã
- äžè¬çãªIT-è¡šçŸåè±ããªããŒã¯ãŒãã®ãªã¹ããããå Žåã ã³ã³ã»ããã«åé¡ãããŸãã ãªããžããªã¯ãããšãã°Railsãªã©ãäžæã®ååã®ã»ããã«é¢é£ä»ããããããšããããããŸããActiveObjectããã®ä»ã®Activeã念é ã«çœ®ããŠãã ããã ããã°ã©ãã³ã°å²åŠ2-ç¥è©±ãšèšèªãéšåçã«åæ ããŠããŸã ã
- ã³ãã¥ããã£ãŒ -ç¹å®ã®ãæœåšçã«çããã¯ãããžãŒãŸãã¯è£œåå°çšã
- ã²ãŒã
- ã§ããã -2ã€ã®ãããã¯ã¯ãåççãªèª¬æãèŠã€ããããšãã§ããŸããã§ããã
ã³ã³ã»ãã
ãããããæ¥åžžç掻ã®å€ãã®äºå®ãæã€æãèå³æ·±ãã°ã«ãŒãïŒ
- ãã¶ã«ã¯ããŒãºãå«ãŸããŠãããå€ãã®ãªããžããªã§ãèšåãããŠããŸãã
- æ°åŠãç·åœ¢ä»£æ°ãæå·ãæ©æ¢°åŠç¿ãããžã¿ã«ä¿¡å·åŠçãéºäŒåå·¥åŠãçŽ ç²åç©çåŠã®çšèªã
- ææ¥ã æææ¥ãç«ææ¥ãªã©
- RPGããã®ä»ã®ãã¡ã³ã¿ãžãŒã²ãŒã ã®ããããçš®é¡ã®äºå®ãšãã£ã©ã¯ã¿ãŒã
- IRCã«ã¯ãšã€ãªã¢ã¹ããããŸãã
- å€ãã®ãã¶ã€ã³ãã¿ãŒã³ïŒJavaãšPHPã«æè¬ããŸãïŒã
- è²ã ããã€ãã®ãšããŸããã¯ãªãã®ãå«ã¿ãŸãïŒ CSSã¯åœŒãã«æè¬ããŸãïŒã
- é»åã¡ãŒã«ã«ã¯CCãBCCããããSMTPãä»ããŠéä¿¡ãããPOP / IMAPã§åä¿¡ãããŸãã
- è¯ãæ¥æããã«ãŒãäœæããæ¹æ³ã ããã¯GitHubã§ã®éåžžã«å žåçãªãããžã§ã¯ãã®ããã§ãã
- 人ã ã¯ãéã®ããã«åããŠã家ãè²·ãããšãšé転ããããšã«ããã䜿ããŸãïŒæããã«ã家ããä»äºãžããããŠæ»ã£ãŠïŒã
- ããããçš®é¡ã®ããŒããŠã§ã¢ã
- HTTPãSSLãã€ã³ã¿ãŒããããBluetoothãããã³WiFiãšããçšèªã®å æ¬çãªãªã¹ãã
- ã¡ã¢ãªç®¡çã«ã€ããŠåŠã³ããããšãã¹ãŠã
- ã°ãŒã°ã«ã«äœããç§ã¯Androidã«åºã¥ããŠç§ã®ãã¡ãŒã ãŠã§ã¢ãäœãããã§ãã
- ããŒã³ãŒã èšå€§ãªæ°ã®ç°ãªãçš®ã
- 人ã 圌ãã¯ç·æ§ãšå¥³æ§ã«åããããçããŠã»ãã¯ã¹ãããŠããŸãã
- ããã¹ããšãã£ã¿ã®çŽ æŽããããªã¹ãã
- 倩æ°ã å€ãã®å žåçãªèšèã
- ãªãŒãã³ã©ã€ã»ã³ã¹ã äžè¬çã«ã圌ãã¯å¥ã®ãããã¯ã«åé¡ãããã¹ãã§ã¯ãããŸããã§ãã ã©ã€ã»ã³ã¹ã®ååãšããã¹ãã¯çè«äžäº€å·®ããŸããã Pygmentsã®çµéšãããäžéšã®PLã¯ä»ã®PLãããã¯ããã«å£æªã«ãµããŒããããŠãããæããã«äžéšã¯èª€ã£ãŠè§£æãããŸããã
- ã³ããŒã¹ Uã¹ãã¢ã¯å²åŒãæäŸããååã顧客ã«è²©å£²ããŸãã
- ãããã³ã€ã³ãšãããã¯ãã§ãŒã³ã
人éã®è
ãããã¯ã®ãªã¹ãã«ã¯ãã¹ãã€ã³èªããã«ãã¬ã«èªããã©ã³ã¹èªãäžåœèªãå«ãŸããŸãã ãã·ã¢èªã¯ãå°æ°ã®ãã·ã¢èªãªããžããªã§ã¯ãªããããã«è±èªã§æžãGitHubããã°ã©ããŒã®ããé«ãã¬ãã«ã蚌æããå¥åã®ãããã¯ã圢æããŠããŸããã ãã®æå³ã§ãäžåœã®ãªããžããªã¯æ®ºããŠããã
ããã°ã©ãã³ã°èšèª
YPã§èå³æ·±ãçºèŠã¯ãè±èªãæ¯åœèªã§ã¯ãªã人ã ã«ãã£ãŠæžãããPHPãããžã§ã¯ãã«é¢é£ãããããã¯ãéãã€ãã£ãè±èªPHPãã§ãã ã©ããããããã2ã€ã®ããã°ã©ãã°ã«ãŒãã¯æ ¹æ¬çã«ç°ãªãã³ãŒããèšè¿°ããŠããŸãã ããã«ãJavaã«é¢é£ãã2ã€ã®ãããã¯ãJNIãšãã€ãã³ãŒãããããŸãã
äžè¬çãªIT
ããã§ã¯ããŸãé¢çœããªãã OSã«ãŒãã«ã«ã¯å€ãã®ãªããžããªããããŸã-倧ãããŠãããããç§ãã¡ã®åªåã«ãããããããããã€ãã®ãããã¯ãå°ç¡ãã«ããŸããã ãã ããèšåãã䟡å€ããããã®ïŒ
- ãããŒã³ã«é¢ããå€ãã®æ å ±ã Linuxã§åäœããŸãã
- å€ãã®Rubyå®è£ ããããŸãã å€ãã®å Žåã人ã ãä»ã®èª°ãã®ã³ãŒãããŒã¹ã䜿çšããŠãå€æŽã®å±¥æŽã倱ãããšãªãã³ãããããå Žåãã極端ãªãã©ãŒã¯ããååšããŸãã
- onmouseupãonmousedownãonmousemoveã¯ãUIãç«ã€3ã€ã®å·šäººã§ãã
- Javascriptã®äžçããã®èšå€§ãªæ°ã®æµè¡èªãšæè¡ã
- ãªã³ã©ã€ã³åŠç¿ã®ããã®ãã©ãããã©ãŒã ã ç¹ã«Moodle ã ããããã®Moodleã
- ãããŸã§ã«äœæããããã¹ãŠã®ãªãŒãã³ãœãŒã¹CMSã
- Courseraæ©æ¢°åŠç¿ããŒãã¯ãCourseraæ©æ¢°åŠç¿ã³ãŒã¹ã®å®¿é¡ãªããžããªã®åªãããªã¹ããæäŸããŸãã
ã³ãã¥ããã£
æ倧ã®ãããã¯ã°ã«ãŒããã»ãŒ100ãå€ãã®ãªããžããªã¯ãããã¹ããšãã£ã¿ãç¹ã«VimãšEmacsçšã®ãã©ã€ããŒãã¯ã©ãŠãããŒã¹ã®æ§æãªããžããªã§ããããšãå€æããŸããã ãªããªã Vimã«ã¯1ã€ã®ãããã¯ãããããŸããããEmacsã«ã¯2ã€ã®ãããã¯ããããŸãããããã§ã©ã®ãšãã£ã¿ãŒãåªããŠããããšããè°è«ãçµããã°ããã®ã§ããã
PythonãRubyãPHPãJavaãJavascriptãªã©ã§æžããããã¹ãŠã®æåãªWebãšã³ãžã³ã®ãµã€ãã«åºäŒããŸããã PHPãµã€ãã¯ãäœããã®çç±ã§ïŒåãããã¯ã«ã€ããŠïŒWordpressãJoomlaãYiiãVTigerãDrupalãZendãCakeãããã³Symphonyãšã³ãžã³ã䜿çšããŸãã PythonïŒDjangoãFlaskãGoogle AppEngineã RubyïŒRailsãšå¯äžã®Railsã ãªãŒã« ã Javaãµã€ãã¯1ã€ã®æ··åããŒãã«åŽ©å£ããŸããã ãããŠãã¡ãããNode.jsäžã®ãµã€ãçšã®å ŽæããããŸããã
å€ãã®ãããžã§ã¯ããTesseract-ãªãŒãã³OCRãšã³ãžã³ã䜿çšããŠããããšãå€æããŸããã ããã«ãå€ãã¯Caffeã䜿çšããŸãïŒTensorflowã¯äœ¿çšããŸããïŒã
Quake 3 / idTech 3ã¯ã²ãŒã éçºã§éåžžã«äººæ°ããããå¥ã®ãããã¯ã«å€ããŸãã Unity3Dã«ã¯2ã€ãããæåã®1ã€ã¯å€æ°ã®åŠçãããžã§ã¯ããšããŒã ã¯ã©ããã§ãã
Cocos2Dã人æ°ãããã2ã€ã®ã¹ã¬ããããããŸãã æåŸã«ãOpenGL + WebGLã«é¢ãã3ã€ã®ãããã¯ããããŸããã APIã®æäœæ¹æ³ãšäœ¿çšããŠãããã€ã³ãã£ã³ã°ïŒGLUTãªã©ïŒã«ããããéãããããŸãã
æ§æ管çããŒã«ã§ããChefãæçïŒã¬ã·ãããããã³ãªã©ïŒãšããŒããå
±æããŠããŠãé©ãããšã§ã¯ãããŸããã ãã ããWinAPIã¯ããã±ã¢ã³ãªããžããªãšåããããã¯ã§äºæããçµäºããŸããã ã¹ããã³ã°ã«ãããç¹åŸŽçãªWinAPIåããã±ã¢ã³ã®ååã®ããã«èŠãããšããä»®å®ããããŸã...
ã²ãŒã
å€ãã®ãããã¯ã¯ã SDLã ãã§ãªããMinecraftããã³RPGã«ãé¢é£ããŠããŸãã
äœãããŠã³ããŒãã§ããŸãã
誰ã§ãGitHubã䜿çšããŠä»»æã®ãªããžããªã§ãã¬ãŒãã³ã°æžã¿ã¢ãã«ãå®è¡ã§ããããã«ãDockerã€ã¡ãŒãžãæºåããŸããã ããªãã ããå®è¡ããå¿ èŠããããŸã
docker run srcd/github_topics apache/spark
ããã5ã衚瀺ãããŸããç»åå ã«ã¯ããããã¯ãšåèªã®ã·ãªã¢ã«åããããããªãã¯ã¹ãçž«ãä»ããããŠãããåå¥ã«å©çšã§ããŸãïŒ link ã 圢åŒã¯ãé·ã2ã®ã¿ãã«ãå«ã4çªç®ã®ããŒãžã§ã³ã®ãã¯ã«ã§ãæåã®èŠçŽ ã¯Pandas 1.8+ SparseDataFrameã§ã2çªç®ã¯IDFã®ãªã¹ãã§ãã ããã«ããããã¯ãæœåºããOpenDocumentããã³JSON ããŒãã«ããããŸãã
çµè«
ãã§ã«äžã§è¿°ã¹ãããã«ã200ã®ãããã¯ã¯å°ãªãããå€ãã®ãããã¯ã¯äºéãäžéããŸãã¯åŒ±ãè¡šçŸãããŠããŸãã ããã£ããã·ã¥ã©ã€ã³ã§ãåæãå®è¡ããå Žåã500ãŸãã¯1000ãèšå®ããå¿ èŠããããŸããããããã¯ã®æåã©ãã«ä»ããå¿ããå¿ èŠããããŸãã ãããã¯ã«ããªãå Žåãç¡éã®æ°ã®PHPãããã¯ãç解ããã®ã¯å°é£ã§ã:)ã ç§ã¯é·å¹ŽãHabréã®èšäºãèªãã®ã«ééããªãéå®ããŸããããããã§ãäžå¿«æãèŠããŸããã ããããããã§ãé¢çœãããšãããããŸããã ç§ã®æèŠã§ã¯ãARTMã®é¡èãªææã¯ããœãŒã¹ã®ååãã人ãèªç¶ãç§åŠãããã«ã¯ãã¶ã€ã³ãã¿ãŒã³ã«é¢ãããããã¯ãæœåºããããšã§ãã
èšç»ã«ã¯ãreadmeãã¡ã€ã«ãšå Žåã«ãã£ãŠã¯ä»ã®ããã¹ããœãŒã¹ãã¢ãã«ã«è¿œå ããããšãå«ãŸããŸãã ãããã圌ãã¯ã³ã³ã»ããã°ã«ãŒãã匷åããã§ãããã
PS
å€å
žçãªæ©æ¢°åŠç¿ã®è§£éã§ãœãŒã¹ã³ãŒãããã€ãã³ã°ããïŒASTã¡ããªãã¯ã¹ãšãããã¯ã·ã§ã³ãåéããåãªã倧倱æã§ã¯ãªãïŒããšã¯æ°ããããšã§ãããä»ã®ãšããããŸã人æ°ããªããç§åŠçãªèšäºã¯ã»ãšãã©ãããŸããã å°æ¥ãããã°ã©ããŒã®äžéšããã£ãŒããã¥ãŒã©ã«ãããã¯ãŒã¯ã«çœ®ãæããèªç¶èšèªã®ããžãã¹ã¿ã¹ã¯ã®èšè¿°ãã³ãŒãã«å€æããæ¹æ³ã倧ãŸãã«æ³åããŸãã ããã¯çŽ æŽãããããã«èãããŸããããã¯ãããžãŒã¯å®éã«çããŠãããæåããã°ãå·¥æ¥åãããçªç¶é©åœãèµ·ãããŸãã 人ã
ã¯éåžžã«äžè¶³ããŠããŸãïŒ ç§ãã¡ã¯é«ãã§ãïŒ
ãã®åé¡ã®äž»ãªåé¡ã¯ãããŒã¿ãžã®ã¢ã¯ã»ã¹ã§ãã GitHub APIã¯ãç»é²ãŠãŒã¶ãŒããã®ãªã¯ãšã¹ãã®æ°ã1æéããã5000ã®æ°ã«å¶éããŸããã18kkãååŸãããå Žåã¯ãã¡ããååã§ã¯ãããŸããã GHTorrentãããžã§ã¯ãããããŸãããããã¯ç§ãã¡ãåéããããŒã¿ã®èã圱ã«ãããŸããã è¶
å¹ççãªã¯ããŒã³äœæã®ããã«Go-Gitã䜿çšããç¹å¥ãªGoãã€ãã©ã€ã³ãäœæããå¿
èŠããããŸããã ç§ãã¡ã®ç¥ãéããGitHubã SourceGraphãããã³source {d}ã®3瀟ãGitHubã®å®å
šãªã¬ããªã«ãæã£ãŠããŸãã