<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://niuwancheng.cn/blog/docs/ai/agent.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/application-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/01-what-is-langchain.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/02-langgraph-workflow.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/03-rag-from-zero.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/04-tools-workflows-agents.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/05-production-practices.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/langchain/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/applications/model-api.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/01-ai-coding-agent-era.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/02-coding-agent-internals.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/03-ai-coding-tool-landscape-2026.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/04-vibe-agentic-spec-driven.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/05-executable-task-contract.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/06-context-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/07-agents-rules-skills-hooks.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/08-mcp-agent-tool-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/09-brownfield-understand-before-edit.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/10-brownfield-test-driven-agent-change.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/11-brownfield-verification-review-delivery.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/12-cloud-agent-worktree-multi-agent.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/13-ai-coding-security-governance.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/14-does-ai-coding-improve-productivity.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/coding-agent-series/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/deep-learning/architectures.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/deep-learning/framework-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/deep-learning/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/deep-learning/neural-networks.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/computer-vision.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/multimodal.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/nlp.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/recommendation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/reinforcement-learning.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/speech.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/domains/time-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/engineering/cost-capacity.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/engineering/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/engineering/mlops-llmops.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/engineering/security-governance.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/engineering/serving-deployment.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/evaluation-troubleshooting.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/first-ai-app.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/foundations/data-and-tasks.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/foundations/generalization-evaluation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/foundations/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/foundations/math-intuition.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/foundations/training-optimization.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/glossary.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/history.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/learning-path.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/concepts.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/inference.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/rag-tools.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/sft.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/llm/training.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/mcp.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/ml.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/practice/agent-project.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/practice/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/practice/machine-learning-project.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/practice/vision-project.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/rsi/01-recursive-self-improvement.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/rsi/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/skill/claude-code-best-practices.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/skill/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/skill/recommendations.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/architecture-and-workflow.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/delivery-and-handoff.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/evidence-driven-validation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/hotword-routing.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/incident-playbook.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/inference-contracts-and-lifecycle.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/latency-and-finalization.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/performance-and-capacity.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/pipeline-boundaries.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/speech-engineering/release-and-collaboration.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/context-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/harness-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/organizational-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/project-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/prompt-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/spec-driven.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/tool-agent-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/ai/vibe-coding/vibe-coding.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/backtracking.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/complexity-analysis.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/divide-and-conquer.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/dynamic-programming.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/graph-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/greedy-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/mathematical-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/search-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/sorting-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/algorithm/string-algorithms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/capture-playback.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/noise-reduction.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/quality-evaluation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/sherpa-onnx/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/sherpa-onnx/model-selection-deployment.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/sherpa-onnx/recognition-modes.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/sound-fundamentals.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/speech-recognition.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/speech-synthesis.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/structure.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/vad/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/vad/silero-vad.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/voice-interaction.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/acoustics/wake-word.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/application-realtime.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/capacity-performance.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/embedded-protocols.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/http-vs-websocket.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/network-foundations.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/transport-socket.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/basic/protocol/troubleshooting.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/basic/concepts.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/basic/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/basic/runtimes.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/basic/standards.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/docker/command.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/docker/image-build-supply-chain.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/docker/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/docker/java-application.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/docker/storage-network-compose.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/CR-CRD.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/delivery-security.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/ecosystem.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/extension-points.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/operator.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/platform-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/advanced/traffic-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/control-plane.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/data-plane-reliability.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/observability.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/production-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/reliability-capacity.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/configmap.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/customresource.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/daemonset.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/deployment.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/endpoint.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/hpa.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/ingress.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/job-cronjob.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/limitrange.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/namespace.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/networkpolicy.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/pod.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/poddisruptionbudget.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/pv-pvc.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/rbac.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/resourcequota.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/secret.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/service.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/serviceaccount.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/statefulset.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/resources/vpa.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/scheduling-node-lifecycle.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/version-upgrade.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/kubernetes/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/tools/colima.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/tools/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/container/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/apache-flink.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/apache-kafka.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/apache-spark.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/data-layering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/data-warehouse-lake.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/dolphinscheduler.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/hdfs.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/bigdata/nosql-databases.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/elasticsearch.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/graph-database.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/influxdb.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mongodb.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/backup-recovery.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/basic-syntax.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/data-types-design.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/high-availability.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/index-system.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/monitoring-operations.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/partitioning.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/query-optimization.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/security-permissions.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/service-modules.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/storage-engines.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/mysql/transaction-system.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/postgresql.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/database/redis.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/Aggregate.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/basic-concept.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/domain-driven-design.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/event-storming.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/learn-note.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/DDD/uml/uml.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/cloud-native-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/cqrs-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/event-driven-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/hexagonal-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/layered-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/microservices-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/android.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/ios.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/linux-arm.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/linux-x86.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/platform/windows.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/serverless-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/soa.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/adm-method.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/application-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/architecture-content-repository.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/architecture-governance.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/baseline-target-gap.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/business-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/core-questions.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/data-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/deep-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/marketing-system-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/stakeholders-principles.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/technology-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/togaf/transition-migration-planning.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/uml/class-relationships.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/architecture/uml/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/chain-of-responsibility.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/command.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/interpreter.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/iterator.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/mediator.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/memento.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/observer.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/state.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/strategy.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/template-method.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/behavioral/visitor.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/abstract-method.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/builder.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/factory-method.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/prototype.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/creational/singleton.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/composite-reuse.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/dependency-inversion.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/interface-segregation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/law-of-demeter.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/liskov-substitution.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/open-closed.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/principles/single-responsibility.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/adapter.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/bridge.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/composite.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/decorator.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/facade.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/flyweight.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/design-pattern/structural/proxy.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/agile.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/devops.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/iterative.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/lean.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/spiral.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/design/develop-pattern/waterfall.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/hands-on.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/project-delivery.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/project-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/troubleshooting.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/flutter/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/deployment/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/01-electron-startup-runtime.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/02-electron-process-model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/03-electron-preload-ipc-security.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/04-electron-lifecycle-single-instance.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/05-electron-forge-build-release.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/06-electron-asar-unpack-fuses.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/07-electron-native-module-abi.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/08-electron-signing-notarization.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/09-electron-auto-update-state-machine.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/10-electron-performance-measurement.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/electron-series/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/angular.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/cross-platform.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/lightweight-frameworks.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/meta-frameworks.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/parcel.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/react.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/rollup.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/svelte.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/vite.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/vue.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/framework/webpack.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/01-modern-frontend-overview.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/02-browser-navigation-pipeline.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/03-html-css-javascript-responsibilities.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/04-devtools-evidence-chain.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/05-semantic-html-dom-structure.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/06-html-form-model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/07-css-cascade-specificity.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/08-css-layout-flex-grid.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/09-responsive-design.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/10-web-accessibility-basics.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/11-javascript-language-model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/12-dom-programming.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/13-browser-event-system.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/14-javascript-event-loop.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/15-fetch-network-requests.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/16-browser-storage.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/17-javascript-modules.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/18-typescript-static-types.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/19-node-package-management.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/20-vite-build-pipeline.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/21-frontend-quality-toolchain.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/22-component-reactive-ui.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/23-framework-architecture-comparison.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/24-web-rendering-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/25-frontend-application-architecture.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/26-frontend-testing-layers.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/27-web-performance-engineering.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/28-web-frontend-security.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/29-frontend-delivery-observability.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/30-ai-assisted-frontend-learning-path.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/31-react-components-hooks-state.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/32-vue-sfc-reactivity-composition.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/33-angular-di-signals-application-structure.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/frontend-foundations-series/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/bun.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/corepack.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/npm.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/pnpm.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/registry.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/package-managers/yarn.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/performance/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/quality-tools/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/state-management/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/front/testing/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/basic/base-class.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/basic/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/basic/jdk/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/basic/jdk/upgrade.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/basic/special.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/mybatis/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/mybatis/plugin.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/annotations.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/aop.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/boot-autoconfiguration.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/boot-config-data.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/boot-production.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/boot-startup.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/foundation/platform-boundaries.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/foundation/why-spring.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/ioc.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/mvc.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/runtime-model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/springboot.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/framework/spring/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/class-file-bytecode.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/class-loading.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/diagnostic-cases.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/execution-engine-jit.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/cms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/epsilon.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/g1.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/parallel.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/parnew.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/serial.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/shenandoah.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/gc/zgc.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/hands-on.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/jni.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/modern-jvm.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/object-lifecycle.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/direct-memory.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/heap.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/method-area.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/native-method-stack.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/program-counter.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/runtime-area/vm-stack.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/jvm/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/manager/gradle.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/manager/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/java/manager/maven.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/00-python-basics-course-map.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/01-customer-list-data-cleaning.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/02-run-python-script.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/03-field-types.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/04-customer-records-list-dict.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/05-customer-rules-if.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/06-batch-loop.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/07-string-cleaning.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/08-numbers-dates-overdue.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/09-functions-reusable-rules.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/10-modules-split-script.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/11-csv-read-write.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/12-json-api-shape.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/13-table-health-check.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/14-group-summary.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/15-order-check.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/16-daily-report.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/17-venv-dependencies.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/18-read-traceback.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/19-exception-handling.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/20-logging.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/21-api-fetch-customers.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/22-batch-files.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/23-argparse-config.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/24-delivery-package.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/25-classes-and-objects.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/26-first-usable-tool.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/basics-series/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/00-python-concurrency-engineering-map.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/01-find-the-bottleneck-before-concurrency.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/02-concurrency-parallelism-async-pipeline.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/03-python-concurrency-tool-map.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/04-threadpool-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/05-thread-safety-shared-state.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/06-asyncio-event-loop-model.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/07-async-task-orchestration.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/08-sync-blocking-in-async-system.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/09-processpool-cpu-bound-work.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/10-producer-consumer-task-queue.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/11-rate-limit-backpressure-retry.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/12-file-batch-checkpoint.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/13-audio-transcode-preprocess.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/14-asr-tts-api-concurrency.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/15-local-model-gpu-inference.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/16-realtime-audio-pipeline.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/17-observability-benchmark.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/18-gil-free-threading-future.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/concurrency-series/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/python/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/advantages.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/basic.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/concurrency.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/ecosystem.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/hands-on.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/history.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/learning-path.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/ownership.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/project-practice.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/tooling.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/troubleshooting.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/type-system.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/devlanguage/rust/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/c-programming.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/career.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/communication.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/electronics.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/hardware-design.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/linux-embedded.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/mcu.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/peripherals.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/platforms.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/projects.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/rtos.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/embedded/toolchain.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/archive-compress.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/archive.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/environment.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/file-basic.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/file-permissions.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/file-search.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/file-view-edit.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/network-basic.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/network-config.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/network.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/package.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/permissions.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/process-management.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/process.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/system-info.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/system-monitoring.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/text-compare.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/text-processing.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/command/user-management.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/nginx/auto-renew-cert.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/nginx/location.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/nginx/nginx.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/process/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/process/init-process.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/process/kernel-threads.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/process/systemd.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/linux/process/user-processes.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/certificate.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/clash-verge.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/components.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/fundamentals.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/implementation.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/operations.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/protocol-stack.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/server-docker.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/server-systemd.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/network-proxy/user-management.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/reading/2022-07-31/%E9%AB%98%E6%95%88%E8%83%BD%E4%BA%BA%E5%A3%AB%E7%9A%847%E4%B8%AA%E4%B9%A0%E6%83%AF.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/reading/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/superpowers/plans/2026-07-26-togaf-marketing-flow-visuals.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/superpowers/specs/2026-07-26-togaf-marketing-flow-visuals-design.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/editor/andorid-studio/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/advanced.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/branching.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/concepts.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/conventions.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/ecosystem.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/git.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/gitlab-cicd.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/internals-large-repositories.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/recovery.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/repository-strategies.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/security.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/video-series.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/git/workflow.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/mq/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/mq/kafka.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/mq/pulsar/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/mq/rabbitmq.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/mq/rocketmq.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/sdkman/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/vfox/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/vim/</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/vim/plugin.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/vim/register.html</loc></url><url><loc>https://niuwancheng.cn/blog/docs/tools/vim/special.html</loc></url><url><loc>https://niuwancheng.cn/blog/</loc></url><url><loc>https://niuwancheng.cn/blog/notes.html</loc></url><url><loc>https://niuwancheng.cn/blog/profile/</loc></url><url><loc>https://niuwancheng.cn/blog/projects/amphion-cloud.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/audio-forensics.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/commerce.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/delivery-platform.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/feishu-workflow.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/gitlab-platform.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/</loc></url><url><loc>https://niuwancheng.cn/blog/projects/materials-website.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/memo-ai.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/private-asr.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/speech-playground.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/speech-sdk.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/sub2api-platform.html</loc></url><url><loc>https://niuwancheng.cn/blog/projects/voice-platform.html</loc></url></urlset>