{"adoption": {"forks": 261, "observed_at": "2026-08-28T04:04:31.692030+00:00", "stars": 1369}, "canonical_url": "https://ross.abutalabs.com/products/jasongeng88-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "随写工作中遇到的问题、学习的心得，于己总结回顾，与他分享讨论。。。", "domain": ["developer-tools", "microservices", "tutorials"], "enriched": true, "function": ["documentation"], "health_score": 20, "homepage": null, "language": "Shell", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["jasonGeng88/blog"], "name": "jasonGeng88/blog", "platform": ["cross-platform"], "pushed_at": "2018-09-30T04:07:33+00:00", "repo": "jasonGeng88/blog", "stars": 1369, "tags": ["blog", "chinese-language", "microservices", "kubernetes", "java", "elk", "docker", "articles", "devops"], "topics": [], "urls": [], "use_cases": ["learn kubernetes basics with pod and service explanations", "understand how to set up ELK centralized logging", "read about docker swarm clustering and service discovery", "study java nio and socket programming examples", "learn how to analyze a java memory leak", "understand message queues through a story-based explanation", "learn rest api uri design best practices"], "what_it_is": "A personal technical blog repository containing original Chinese-language articles on microservices, Kubernetes, Java, Docker, ELK logging, and other backend topics. It is a collection of Markdown essays written for self-review and community sharing, not runnable software.", "when_to_avoid": ["you need up-to-date content, since the last articles date from 2018", "you need runnable code or a maintained tool rather than essays", "you need English-language documentation"], "when_to_choose": ["you want readable Chinese-language tutorials on microservices, Kubernetes, and Java backend topics", "you are looking for practical write-ups on ELK logging and Docker deployment", "you prefer learning from narrative, experience-based articles rather than reference docs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jasongeng88-blog", "repo": "jasonGeng88/blog", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.692030+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:59.374799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f16646603dccb891ac53b385a0231c81380b5ad0ac2d34426613e22272b14400", "fetched_at": "2026-08-28T04:04:31.692030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jasonGeng88/blog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3460, "days_push": 2894, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}