{"@attributes":{"version":"2.0"},"channel":{"title":"\u4e3b\u9875","description":"lpkt's blog","link":"https:\/\/blog.lpkt.cn\/","language":"zh_CN","item":[{"title":"git rev-parse \u662f\u4ec0\u4e48","link":"https:\/\/blog.lpkt.cn\/posts\/git-rev-parse\/","guid":"https:\/\/blog.lpkt.cn\/posts\/git-rev-parse\/","pubDate":"Wed, 28 Jan 2026 00:00:00 GMT"},{"title":"Flutter \u4fee\u590d Hero \u52a8\u753b\u4e0d\u540c Navigator \u4e4b\u95f4\u7684\u4e0d\u540c\u6b65\u95ee\u9898","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-fix-hero-desync\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-fix-hero-desync\/","pubDate":"Sun, 12 Oct 2025 00:00:00 GMT"},{"title":"Flutter \u5b9e\u73b0\u591a\u7a97\u53e3\u95f4\u7684\u540c\u6b65\u8fc7\u6e21\u6548\u679c","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-sync-transition-in-multi-windows\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-sync-transition-in-multi-windows\/","pubDate":"Sun, 12 Oct 2025 00:00:00 GMT"},{"title":"Claude Code \u9879\u76ee\u7ba1\u7406","link":"https:\/\/blog.lpkt.cn\/posts\/claude-code-pm\/","guid":"https:\/\/blog.lpkt.cn\/posts\/claude-code-pm\/","description":"Claude Code PM AI \u5f00\u53d1\u534f\u4f5c\u6a21","pubDate":"Thu, 21 Aug 2025 00:00:00 GMT"},{"title":"Dart \u5728 Release \u4e2d\u79fb\u9664\u65e5\u5fd7\u4ee3\u7801","link":"https:\/\/blog.lpkt.cn\/posts\/dart-rm-log-in-release\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-rm-log-in-release\/","description":"Dart\/Flutter \u4e2d\u5728\u53d1\u5e03\u7248\u672c\u81ea\u52a8\u79fb\u9664\u8c03\u8bd5\u4ee3\u7801\u7684\u51e0\u79cd\u53ef\u884c\u65b9\u6848","pubDate":"Thu, 21 Aug 2025 00:00:00 GMT"},{"title":"Anubis\uff1aPow Captcha \u53cd\u722c\u866b","link":"https:\/\/blog.lpkt.cn\/posts\/anubis-pow-captcha\/","guid":"https:\/\/blog.lpkt.cn\/posts\/anubis-pow-captcha\/","description":"\u57fa\u4e8e SHA-256 Challenge \u7684\u53cd\u722c\u866b\u673a\u5236\u53ca\u5176\u5b9e\u9645\u6548\u679c","pubDate":"Wed, 20 Aug 2025 00:00:00 GMT"},{"title":"macOS SSH \u7981\u7528\u5bc6\u7801\u8ba4\u8bc1\u4ec5\u5141\u8bb8\u5bc6\u94a5\u767b\u5f55","link":"https:\/\/blog.lpkt.cn\/posts\/macos-ssh-no-pwd-auth\/","guid":"https:\/\/blog.lpkt.cn\/posts\/macos-ssh-no-pwd-auth\/","description":"macOS \u7cfb\u7edf\u914d\u7f6e SSH \u5bc6\u94a5\u8ba4\u8bc1\uff0c\u7981\u7528\u5bc6\u7801\u767b\u5f55","pubDate":"Wed, 20 Aug 2025 00:00:00 GMT"},{"title":"MCP \u4f5c\u4e3a\u722c\u866b","link":"https:\/\/blog.lpkt.cn\/posts\/mcp-as-crawler\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mcp-as-crawler\/","description":"MCP + LLM \u722c\u866b\u67b6\u6784","pubDate":"Wed, 20 Aug 2025 00:00:00 GMT"},{"title":"oss-licenses","link":"https:\/\/blog.lpkt.cn\/posts\/oss-licenses\/","guid":"https:\/\/blog.lpkt.cn\/posts\/oss-licenses\/","description":"\u5e38\u89c1\u5f00\u6e90\u8bb8\u53ef\u8bc1\uff08Open-Source Licenses\uff09\u6df1\u5ea6\u5bf9\u6bd4\u4e0e\u9009\u578b\u6307\u5357","pubDate":"Tue, 19 Aug 2025 00:00:00 GMT"},{"title":"Flutter \u52a8\u753b\u6027\u80fd\u4f18\u5316","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-anim-opt\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-anim-opt\/","pubDate":"Mon, 18 Aug 2025 00:00:00 GMT"},{"title":"Debian 12 \u5347\u7ea7\u5230 13\uff08Trixie\uff09","link":"https:\/\/blog.lpkt.cn\/posts\/debian12-to-13\/","guid":"https:\/\/blog.lpkt.cn\/posts\/debian12-to-13\/","pubDate":"Tue, 12 Aug 2025 00:00:00 GMT"},{"title":"Linux cron apt \u81ea\u52a8\u5347\u7ea7","link":"https:\/\/blog.lpkt.cn\/posts\/linux-cron-apt-upgrade\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-cron-apt-upgrade\/","description":"\u8bbe\u7f6e\u4e00\u4e2a cron \u4efb\u52a1\uff0c\u6bcf\u5929\u51cc\u6668 7 \u70b9\u81ea\u52a8\u6267\u884c `apt update` \u548c `apt upgrade -y`\uff0c\u5e76\u5c06\u8f93\u51fa\u5199\u5165\u65e5\u5fd7\u6587\u4ef6","pubDate":"Sat, 09 Aug 2025 00:00:00 GMT"},{"title":"utils.fish","link":"https:\/\/blog.lpkt.cn\/posts\/fish-utils\/","guid":"https:\/\/blog.lpkt.cn\/posts\/fish-utils\/","description":"\u4e00\u4e2a Fish shell \u5de5\u5177\u96c6\uff0c\u63d0\u4f9b\u4e86\u89e3\u538b\u3001\u538b\u7f29...\u529f\u80fd\u3002","pubDate":"Thu, 07 Aug 2025 00:00:00 GMT"},{"title":"\u4f7f\u7528 uv \u8fd0\u884c\u9700\u8981\u4f9d\u8d56\u7684 Python \u811a\u672c","link":"https:\/\/blog.lpkt.cn\/posts\/py-uv-with-deps\/","guid":"https:\/\/blog.lpkt.cn\/posts\/py-uv-with-deps\/","pubDate":"Mon, 28 Jul 2025 00:00:00 GMT"},{"title":"apparmor","link":"https:\/\/blog.lpkt.cn\/posts\/apparmor\/","guid":"https:\/\/blog.lpkt.cn\/posts\/apparmor\/","pubDate":"Sun, 27 Jul 2025 00:00:00 GMT"},{"title":"PVE \u5ffd\u7565 SSL \u8bc1\u4e66\u9a8c\u8bc1","link":"https:\/\/blog.lpkt.cn\/posts\/pve-ignore-ssl-cert\/","guid":"https:\/\/blog.lpkt.cn\/posts\/pve-ignore-ssl-cert\/","pubDate":"Fri, 25 Jul 2025 00:00:00 GMT"},{"title":"Rust Docker \u7f16\u8bd1\u65f6\u95f4\u4f18\u5316","link":"https:\/\/blog.lpkt.cn\/posts\/rust-docker-compile-time-opt\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-docker-compile-time-opt\/","pubDate":"Tue, 01 Jul 2025 00:00:00 GMT"},{"title":"async\/await \u72b6\u6001\u673a","link":"https:\/\/blog.lpkt.cn\/posts\/async-await-state-mach\/","guid":"https:\/\/blog.lpkt.cn\/posts\/async-await-state-mach\/","description":"async\/await \u7684\u72b6\u6001\u673a\u673a\u5236","pubDate":"Tue, 20 May 2025 00:00:00 GMT"},{"title":"Swift \u591a\u7ebf\u7a0b","link":"https:\/\/blog.lpkt.cn\/posts\/swift-multi-thread\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-multi-thread\/","description":"GCD\u3001OperationQueue\u3001NSThread\u3001Swift \u7ed3\u6784\u5316\u5e76\u53d1","pubDate":"Tue, 20 May 2025 00:00:00 GMT"},{"title":"Linux \/proc \u7ed3\u6784","link":"https:\/\/blog.lpkt.cn\/posts\/linux-proc-stuct\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-proc-stuct\/","pubDate":"Wed, 14 May 2025 00:00:00 GMT"},{"title":"\u5b8c\u7f8e\u968f\u673a\u6d6e\u70b9\u6570","link":"https:\/\/blog.lpkt.cn\/posts\/fp-rand\/","guid":"https:\/\/blog.lpkt.cn\/posts\/fp-rand\/","pubDate":"Mon, 12 May 2025 00:00:00 GMT"},{"title":"apt \u66f4\u65b0\u5ef6\u540e\u6216\u4fdd\u7559\u7684\u539f\u56e0","link":"https:\/\/blog.lpkt.cn\/posts\/apt-phasing-update\/","guid":"https:\/\/blog.lpkt.cn\/posts\/apt-phasing-update\/","pubDate":"Wed, 07 May 2025 00:00:00 GMT"},{"title":"Flutter Navigator v2","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-navigator-v2\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-navigator-v2\/","pubDate":"Wed, 07 May 2025 00:00:00 GMT"},{"title":"\u4e0d\u540c\u7248\u672c UUID \u5bf9\u6bd4","link":"https:\/\/blog.lpkt.cn\/posts\/uuid-compare\/","guid":"https:\/\/blog.lpkt.cn\/posts\/uuid-compare\/","description":"\u4e3b\u8981\u5bf9\u6bd4\u4e86 UUID v1\u2013v5 \u7684\u7b97\u6cd5\u3001\u53ef\u6392\u5e8f\u6027\u3001\u65f6\u95f4\u53ef\u63a8\u3001\u9690\u79c1\u4fe1\u606f\u3001\u78b0\u649e\u98ce\u9669\u3001\u5178\u578b\u7528\u4f8b\u7b49\u65b9\u9762\u7684\u533a\u522b\u3002","pubDate":"Wed, 07 May 2025 00:00:00 GMT"},{"title":"MCP \u4f20\u8f93\u673a\u5236","link":"https:\/\/blog.lpkt.cn\/posts\/mcp-transport-20250326\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mcp-transport-20250326\/","pubDate":"Wed, 30 Apr 2025 00:00:00 GMT"},{"title":"\u6587\u672c\u5d4c\u5165\u7684\u957f\u5ea6\u504f\u5dee","link":"https:\/\/blog.lpkt.cn\/posts\/semantic-search-cosine-defect\/","guid":"https:\/\/blog.lpkt.cn\/posts\/semantic-search-cosine-defect\/","pubDate":"Wed, 23 Apr 2025 00:00:00 GMT"},{"title":"macOS \u5b89\u88c5 sshping","link":"https:\/\/blog.lpkt.cn\/posts\/macos-install-sshping\/","guid":"https:\/\/blog.lpkt.cn\/posts\/macos-install-sshping\/","pubDate":"Tue, 22 Apr 2025 00:00:00 GMT"},{"title":"PostgreSQL \u5355\u673a\u5355\u8868\u6027\u80fd\u5206\u6790","link":"https:\/\/blog.lpkt.cn\/posts\/pg-single-mach-perf\/","guid":"https:\/\/blog.lpkt.cn\/posts\/pg-single-mach-perf\/","pubDate":"Tue, 22 Apr 2025 00:00:00 GMT"},{"title":"Deepseek R1 \u6d41\u7a0b\u57fa\u7840\u7406\u89e3","link":"https:\/\/blog.lpkt.cn\/posts\/deepseek-r1-basic-comprehension\/","guid":"https:\/\/blog.lpkt.cn\/posts\/deepseek-r1-basic-comprehension\/","pubDate":"Mon, 21 Apr 2025 00:00:00 GMT"},{"title":"\u6587\u4ef6\u7cfb\u7edf\u76ee\u5f55\u6027\u80fd","link":"https:\/\/blog.lpkt.cn\/posts\/fs-dir-perf\/","guid":"https:\/\/blog.lpkt.cn\/posts\/fs-dir-perf\/","pubDate":"Fri, 11 Apr 2025 00:00:00 GMT"},{"title":"sqlx \u5927\u5e45\u5ef6\u957f\u7f16\u8bd1\u65f6\u95f4","link":"https:\/\/blog.lpkt.cn\/posts\/sqlx-build-time\/","guid":"https:\/\/blog.lpkt.cn\/posts\/sqlx-build-time\/","pubDate":"Fri, 11 Apr 2025 00:00:00 GMT"},{"title":"Qdrant \u5bf9\u6bd4\u6587\u672c","link":"https:\/\/blog.lpkt.cn\/posts\/qdrant-compare-text\/","guid":"https:\/\/blog.lpkt.cn\/posts\/qdrant-compare-text\/","pubDate":"Wed, 09 Apr 2025 00:00:00 GMT"},{"title":"Qdrant \u5feb\u901f\u5165\u95e8","link":"https:\/\/blog.lpkt.cn\/posts\/qdrant-quickstart\/","guid":"https:\/\/blog.lpkt.cn\/posts\/qdrant-quickstart\/","pubDate":"Wed, 09 Apr 2025 00:00:00 GMT"},{"title":"Swift \u8bbf\u95ee\u63a7\u5236","link":"https:\/\/blog.lpkt.cn\/posts\/swift-access-ctrl\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-access-ctrl\/","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"Swift \u9ad8\u7ea7\u8fd0\u7b97\u7b26\u4e0e\u6784\u5efa\u5668\u8bed\u6cd5","link":"https:\/\/blog.lpkt.cn\/posts\/swift-adv-op\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-adv-op\/","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"Swift ARC \u81ea\u52a8\u5f15\u7528\u8ba1\u6570","link":"https:\/\/blog.lpkt.cn\/posts\/swift-arc\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-arc\/","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"Swift \u5185\u5b58\u5b89\u5168\u4e0e\u51b2\u7a81\u89c4\u907f","link":"https:\/\/blog.lpkt.cn\/posts\/swift-mem-safe\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-mem-safe\/","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"Swift \u4e0d\u900f\u660e\u7c7b\u578b\u4e0e\u88c5\u7bb1\u534f\u8bae\u7c7b\u578b","link":"https:\/\/blog.lpkt.cn\/posts\/swift-opaque-box-types\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-opaque-box-types\/","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"Swift associatedtype","link":"https:\/\/blog.lpkt.cn\/posts\/swift-associated-types\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-associated-types\/","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"Swift Convenience Init","link":"https:\/\/blog.lpkt.cn\/posts\/swift-convenience-init\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-convenience-init\/","description":"Swift \u4e2d convenience \u521d\u59cb\u5316\u5668\u7684\u5b9a\u4e49\u3001\u4f5c\u7528\u3001\u89c4\u5219\u548c\u4f7f\u7528\u573a\u666f\u3002","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"Swift Macros","link":"https:\/\/blog.lpkt.cn\/posts\/swift-macros\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-macros\/","description":"Swift \u4e2d\u5b8f\u5b9a\u4e49\uff08Macros\uff09\u3002","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"Swift Task Group","link":"https:\/\/blog.lpkt.cn\/posts\/swift-task-group\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-task-group\/","description":"Swift \u4e2d Task \u548c TaskGroup \u7684\u5b9a\u4e49\u3001\u7279\u70b9\u3001\u7528\u6cd5\u548c\u6ce8\u610f\u4e8b\u9879\u3002","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"Swift Task.yield()","link":"https:\/\/blog.lpkt.cn\/posts\/swift-yield\/","guid":"https:\/\/blog.lpkt.cn\/posts\/swift-yield\/","description":"Swift \u5e76\u53d1\u6a21\u578b\u4e2d `await Task.yield()` \u7684\u4f5c\u7528\u3001\u673a\u5236\u548c\u7528\u9014\u3002","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"VSCode Terminal Prompt \u6362\u884c\u95ee\u9898","link":"https:\/\/blog.lpkt.cn\/posts\/term-vscode-newline\/","guid":"https:\/\/blog.lpkt.cn\/posts\/term-vscode-newline\/","description":"VSCode Terminal Prompt \u4f7f\u7528 echo -e \u65f6\uff0c\u4f1a\u5f02\u5e38\u6362\u884c","pubDate":"Fri, 17 Jan 2025 00:00:00 GMT"},{"title":"macOS \u5feb\u6377\u67e5\u770b\u63d2\u4ef6","link":"https:\/\/blog.lpkt.cn\/posts\/macos-quicklook-ext\/","guid":"https:\/\/blog.lpkt.cn\/posts\/macos-quicklook-ext\/","description":"\u5feb\u901f\u67e5\u770b Markdown\u3001yaml \u7b49\u6587\u4ef6\u7684\u5185\u5bb9","pubDate":"Fri, 27 Dec 2024 00:00:00 GMT"},{"title":"\u5224\u65ad\u5f53\u524d\u662f\u5426\u542f\u7528\u4e86 Git LFS","link":"https:\/\/blog.lpkt.cn\/posts\/git-lfs-check\/","guid":"https:\/\/blog.lpkt.cn\/posts\/git-lfs-check\/","description":"\u901a\u8fc7 env\u3001.gitattributes\u3001\u8ffd\u8e2a\u6587\u4ef6 \u5224\u65ad\u662f\u5426\u542f\u7528\u4e86 Git LFS","pubDate":"Tue, 17 Dec 2024 00:00:00 GMT"},{"title":"Flutter \u5b9e\u73b0\u62a0\u56fe\u6548\u679c","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-cutout\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-cutout\/","pubDate":"Tue, 10 Dec 2024 00:00:00 GMT"},{"title":"Flutter \u4e2d\u5b9e\u73b0\u9632\u6b62\u622a\u56fe","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-prevent-screenshot\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-prevent-screenshot\/","pubDate":"Thu, 05 Dec 2024 00:00:00 GMT"},{"title":"Git \u67e5\u627e\u5173\u952e\u5b57","link":"https:\/\/blog.lpkt.cn\/posts\/git-find-keyword\/","guid":"https:\/\/blog.lpkt.cn\/posts\/git-find-keyword\/","description":"git log -S \u5173\u952e\u5b57","pubDate":"Tue, 26 Nov 2024 00:00:00 GMT"},{"title":"Flutter RenderObjects","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-render-objects\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-render-objects\/","description":"Flutter \u6e32\u67d3\u5bf9\u8c61","pubDate":"Fri, 22 Nov 2024 00:00:00 GMT"},{"title":"Web \u4e2d\u5224\u65ad DeepLink \u662f\u5426\u6210\u529f\u6253\u5f00","link":"https:\/\/blog.lpkt.cn\/posts\/web-deeplink-open-callback\/","guid":"https:\/\/blog.lpkt.cn\/posts\/web-deeplink-open-callback\/","pubDate":"Thu, 21 Nov 2024 16:38:16 GMT"},{"title":"`sudo su -l` \u547d\u4ee4","link":"https:\/\/blog.lpkt.cn\/posts\/sudo-su-l\/","guid":"https:\/\/blog.lpkt.cn\/posts\/sudo-su-l\/","pubDate":"Thu, 21 Nov 2024 00:00:00 GMT"},{"title":"Remote Desktop \u914d\u7f6e","link":"https:\/\/blog.lpkt.cn\/posts\/rdp-cfg\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rdp-cfg\/","pubDate":"Wed, 20 Nov 2024 19:13:07 GMT"},{"title":"OverflowBox \u4e0e UnconstrainedBox \u5bf9\u6bd4","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-overflowbox-unconstraintbox\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-overflowbox-unconstraintbox\/","pubDate":"Wed, 20 Nov 2024 00:00:00 GMT"},{"title":"Uri \/ Url","link":"https:\/\/blog.lpkt.cn\/posts\/uri-url\/","guid":"https:\/\/blog.lpkt.cn\/posts\/uri-url\/","pubDate":"Wed, 20 Nov 2024 00:00:00 GMT"},{"title":"Flutter Offstage","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-offstage\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-offstage\/","pubDate":"Wed, 13 Nov 2024 00:00:00 GMT"},{"title":"Flutter \u591a\u79cd\u9690\u85cf\u5b50\u7ec4\u4ef6\u7684\u65b9\u5f0f","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-hide-widget\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-hide-widget\/","pubDate":"Wed, 13 Nov 2024 00:00:00 GMT"},{"title":"addPostFrameCallback \u4e0e endOfFrame \u7684\u533a\u522b","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-widgetsbindings\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-widgetsbindings\/","pubDate":"Wed, 13 Nov 2024 00:00:00 GMT"},{"title":"Flutter App \u7684\u4f18\u5316\u5c0f\u8bb0","link":"https:\/\/blog.lpkt.cn\/posts\/a-flutter-app-opt\/","guid":"https:\/\/blog.lpkt.cn\/posts\/a-flutter-app-opt\/","description":"RepaintBoundary\u3001GrowableList.add\/toList\u3001TimelineTask\u3001shouldRepaint()","pubDate":"Tue, 12 Nov 2024 00:00:00 GMT"},{"title":"Rust \u4e2d\u7684 std::ops \u548c core::ops","link":"https:\/\/blog.lpkt.cn\/posts\/rust-core-std-ops\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-core-std-ops\/","description":"`std::ops` \u548c `core::ops` \u662f Rust \u4e2d\u4e24\u4e2a\u5e38\u89c1\u7684 trait \u6a21\u5757\uff0c\u90fd\u5b9a\u4e49\u4e86\u8fd0\u7b97\u7b26\u91cd\u8f7d\u7684 traits\u3002","pubDate":"Sun, 08 Sep 2024 00:00:00 GMT"},{"title":"Rust \u4e3a\u4ec0\u4e48\u9700\u8981 Pin","link":"https:\/\/blog.lpkt.cn\/posts\/rust-pin\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-pin\/","description":"Rust\u7684\u5f02\u6b65\u7f16\u7a0b\u4e2d\uff0c\u7f16\u5199\u81ea\u5b9a\u4e49\u5f02\u6b65\u5e93\u65f6\u4f1a\u9047\u5230 `Pin<&mut Self>` \u548c `T: ?Unpin` \u7b49\u3002\u8fd9\u4e9b\u6982\u5ff5\u6e90\u4e8e\u81ea\u5f15\u7528\u7c7b\u578b(self-referential types)\u7684\u5b89\u5168\u95ee\u9898","pubDate":"Sun, 08 Sep 2024 00:00:00 GMT"},{"title":"Rust Debug Macro","link":"https:\/\/blog.lpkt.cn\/posts\/rust-debug-macro\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-debug-macro\/","description":"What does :#? mean in Rust debug macro?","pubDate":"Mon, 02 Sep 2024 00:00:00 GMT"},{"title":"Linux \u4f7f\u7528 EDL \u5907\u4efd Qualcomm 9008 \u8bbe\u5907","link":"https:\/\/blog.lpkt.cn\/posts\/linux-edl-bak\/linux-edl-bak\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-edl-bak\/linux-edl-bak\/","description":"\u8bb0\u5f55\u4f7f\u7528 EDL \u6a21\u5f0f\u5907\u4efd Qualcomm 9008 \u8bbe\u5907\u7684\u8fc7\u7a0b","pubDate":"Tue, 13 Aug 2024 00:00:00 GMT"},{"title":"Linux SMB \u81ea\u52a8\u6302\u8f7d","link":"https:\/\/blog.lpkt.cn\/posts\/linux-smb-auto-mount\/linux-smb-auto-mount\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-smb-auto-mount\/linux-smb-auto-mount\/","description":"\u4f7f\u7528 systemd .service \u800c\u4e0d\u662f .mount \u6765\u7ba1\u7406 CIFS \u6302\u8f7d","pubDate":"Sun, 11 Aug 2024 00:00:00 GMT"},{"title":"Dart memory and WeakReferences","link":"https:\/\/blog.lpkt.cn\/posts\/dart-mem-free\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-mem-free\/","description":"Learn how memory management works in Dart and how to use WeakReferences.","pubDate":"Fri, 09 Aug 2024 00:00:00 GMT"},{"title":"appimagetool \u6253\u5305\u51fa\u9519","link":"https:\/\/blog.lpkt.cn\/posts\/appimage-pack\/","guid":"https:\/\/blog.lpkt.cn\/posts\/appimage-pack\/","description":"\u5177\u4f53\u62a5\u9519\u4e3a Could not find section .digest_md5 in runtime","pubDate":"Sun, 04 Aug 2024 00:00:00 GMT"},{"title":"Dart \u4e8b\u4ef6\u5faa\u73af","link":"https:\/\/blog.lpkt.cn\/posts\/dart-event-loop\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-event-loop\/","description":"Dart \u7684\u4e8b\u4ef6\u5faa\u73af\u662f\u4e00\u4e2a\u6301\u7eed\u8fd0\u884c\u7684\u7a0b\u5e8f\uff0c\u5b83\u7ba1\u7406\u6240\u6709\u7684\u5f02\u6b65\u64cd\u4f5c\u3002\u4e3b\u8981\u7531 \u5fae\u4efb\u52a1\u961f\u5217 \u548c \u4e8b\u4ef6\u961f\u5217 \u7ec4\u6210\u3002","pubDate":"Sun, 04 Aug 2024 00:00:00 GMT"},{"title":"Flutter \u6838\u5fc3\u6846\u67b6\u5bf9\u6bd4","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-core\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-core\/","description":"Flutter \u4e2d Widget\u3001Element\u3001RenderObject \u7b49\u7684\u7279\u70b9\u3002","pubDate":"Sun, 04 Aug 2024 00:00:00 GMT"},{"title":"macOS \u5b8c\u5168\u5378\u8f7d\u5fae\u4fe1\u8f93\u5165\u6cd5","link":"https:\/\/blog.lpkt.cn\/posts\/macos-completely-rm-wetype\/","guid":"https:\/\/blog.lpkt.cn\/posts\/macos-completely-rm-wetype\/","description":"\u9700\u8981\u5220\u9664 Libraray\/Input Methods\/WeType.app \u7b49 \u8def\u5f84","pubDate":"Fri, 26 Jul 2024 00:00:00 GMT"},{"title":"Linux \u9000\u51fa\u7801\u3001\u4fe1\u53f7","link":"https:\/\/blog.lpkt.cn\/posts\/linux-exit-code\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-exit-code\/","description":"\u4e0d\u540c exit-code \u4ee3\u8868\u7684\u542b\u4e49\u3002\u4fe1\u53f7\uff08signals\uff09\u662f\u4e00\u79cd\u8f6f\u4ef6\u4e2d\u65ad\uff0c\u7528\u4e8e\u901a\u77e5\u8fdb\u7a0b\u53d1\u751f\u4e86\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u3002","pubDate":"Wed, 17 Jul 2024 18:30:29 GMT"},{"title":"Rust Send \/ Sync","link":"https:\/\/blog.lpkt.cn\/posts\/rust-send-sync\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-send-sync\/","description":"\u5728 Rust \u4e2d\uff0c`Send` \u548c `Sync` \u662f\u7528\u4e8e\u6807\u8bb0\u7c7b\u578b\u662f\u5426\u53ef\u4ee5\u5b89\u5168\u5730\u5728\u7ebf\u7a0b\u4e4b\u95f4\u4f20\u9012\u548c\u5171\u4eab\u7684 trait\u3002","pubDate":"Wed, 17 Jul 2024 16:59:46 GMT"},{"title":"Rust \u5f00\u53d1\u76d1\u542c\u6587\u4ef6\u53d8\u52a8\u81ea\u52a8\u91cd\u542f","link":"https:\/\/blog.lpkt.cn\/posts\/rust-listen-change-auto-restart\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-listen-change-auto-restart\/","pubDate":"Wed, 17 Jul 2024 15:42:23 GMT"},{"title":"Linux \u7f51\u7edc\u63a5\u53e3","link":"https:\/\/blog.lpkt.cn\/posts\/linux-net-iface\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-net-iface\/","description":"\u5728Linux\u7cfb\u7edf\u4e2d\uff0c\u7f51\u7edc\u63a5\u53e3\u7684\u547d\u540d\u7ea6\u5b9a\u53ef\u80fd\u4f1a\u6839\u636e\u4e0d\u540c\u7684\u53d1\u884c\u7248\u3001\u7cfb\u7edf\u914d\u7f6e\u548c\u4f7f\u7528\u7684\u9a71\u52a8\u7a0b\u5e8f\u6709\u6240\u4e0d\u540c\u3002","pubDate":"Mon, 15 Jul 2024 12:35:48 GMT"},{"title":"Linux \u6700\u5927 PID","link":"https:\/\/blog.lpkt.cn\/posts\/linux-max-pid\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-max-pid\/","description":"Linux \u7cfb\u7edf\u4e2d\u7684\u8fdb\u7a0b\u6807\u8bc6\u7b26\uff08PID, Process Identifier\uff09\u7684\u6700\u5927\u503c\u4f9d\u8d56\u4e8e\u7cfb\u7edf\u7684\u5177\u4f53\u914d\u7f6e\u548c\u5185\u6838\u7248\u672c\u3002","pubDate":"Mon, 15 Jul 2024 12:31:08 GMT"},{"title":"fish \u63d2\u4ef6","link":"https:\/\/blog.lpkt.cn\/posts\/fish-plugin\/","guid":"https:\/\/blog.lpkt.cn\/posts\/fish-plugin\/","description":"fish \u63d2\u4ef6\u7ba1\u7406\u5668\u3001\u63d2\u4ef6\u548c\u8bbe\u7f6e","pubDate":"Sat, 13 Jul 2024 01:01:14 GMT"},{"title":"macOS \u4f7f\u7528 Vim \u6253\u5f00\u6587\u4ef6","link":"https:\/\/blog.lpkt.cn\/posts\/macos-vim-openfile\/","guid":"https:\/\/blog.lpkt.cn\/posts\/macos-vim-openfile\/","description":"\u901a\u8fc7\u5185\u7f6e\u7684 Automator.app + AppleScript \u5b9e\u73b0\u5728 Finder \u4f7f\u7528 Vim \u6253\u5f00\u6587\u4ef6","pubDate":"Mon, 24 Jun 2024 20:22:54 GMT"},{"title":"Grid \u65e0\u6cd5\u4f7f\u7528 SizeTransition","link":"https:\/\/blog.lpkt.cn\/posts\/fl-grid-anime-sizetransition\/","guid":"https:\/\/blog.lpkt.cn\/posts\/fl-grid-anime-sizetransition\/","description":"\u5ffd\u7565\u7236\u5bb9\u5668\u7684\u9650\u5236\u5373\u53ef","pubDate":"Sat, 15 Jun 2024 21:27:15 GMT"},{"title":"\u4f7f\u7528 resolvectl \u89e3\u51b3 Tailscale MagicDNS","link":"https:\/\/blog.lpkt.cn\/posts\/linux-lan-ts-dns\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-lan-ts-dns\/","description":"Tailscale \u7684 MagicDNS \u4f1a\u8986\u76d6\u7cfb\u7edf\u7684 DNS \u914d\u7f6e\uff0c\u800c\u4e14\u5176 DNS \u63a7\u5236\u9762\u677f\u4e0d\u80fd\u4e3a\u5355\u72ec\u67d0\u4e2a\u670d\u52a1\u8bbe\u7f6e DNS\uff0c\u5bfc\u81f4\u670d\u52a1\u5668\u66f4\u65b0\u65f6\u65e0\u6cd5\u4f7f\u7528\u5185\u7f51 DNS\u3002","pubDate":"Tue, 11 Jun 2024 23:22:59 GMT"},{"title":"Flutter 3.22 MultiDex \u62a5\u9519","link":"https:\/\/blog.lpkt.cn\/posts\/flutter322-multidex\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter322-multidex\/","description":"**\u6b63\u786e\u7684\u89e3\u51b3\u65b9\u6848**\u662f\u5220\u9664 `FlutterMultiDexApplication.java` \u6587\u4ef6\u3002","pubDate":"Sat, 18 May 2024 15:24:20 GMT"},{"title":"VSCode \u5feb\u6377\u952e","link":"https:\/\/blog.lpkt.cn\/posts\/vscode-shortcut\/","guid":"https:\/\/blog.lpkt.cn\/posts\/vscode-shortcut\/","pubDate":"Mon, 06 May 2024 23:27:02 GMT"},{"title":"Rust atexit","link":"https:\/\/blog.lpkt.cn\/posts\/rust-atexit\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-atexit\/","pubDate":"Mon, 06 May 2024 23:24:18 GMT"},{"title":"Rust Clap","link":"https:\/\/blog.lpkt.cn\/posts\/rust-clap\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-clap\/","description":"Rust \u547d\u4ee4\u884c\u53c2\u6570\u89e3\u6790\u5e93 clap \u7684\u4f7f\u7528","pubDate":"Fri, 19 Apr 2024 15:25:21 GMT"},{"title":"Rust \u4fdd\u6301\u63d2\u5165\u987a\u5e8f\u7684 Map","link":"https:\/\/blog.lpkt.cn\/posts\/rust-sequencial-map\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-sequencial-map\/","description":"\u5728 Rust \u4e2d\uff0c`IndexMap` \u7c7b\u578b\u53ef\u4ee5\u4fdd\u6301\u5143\u7d20\u7684\u63d2\u5165\u987a\u5e8f\u3002","pubDate":"Fri, 19 Apr 2024 15:21:52 GMT"},{"title":"Rust Enum \u5b8f","link":"https:\/\/blog.lpkt.cn\/posts\/rust-enum-macro\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-enum-macro\/","pubDate":"Fri, 19 Apr 2024 15:12:13 GMT"},{"title":"Rust Cross Compile with GitHub Actions","link":"https:\/\/blog.lpkt.cn\/posts\/rust-github-cross-release\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-github-cross-release\/","description":"\u4f7f\u7528 GitHub Actions \u4ea4\u53c9\u7f16\u8bd1 Rust Release \u7248\u672c","pubDate":"Fri, 19 Apr 2024 15:08:56 GMT"},{"title":"Rust \u4e8c\u8fdb\u5236\u81ea\u66f4\u65b0","link":"https:\/\/blog.lpkt.cn\/posts\/rust-self-update\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-self-update\/","pubDate":"Fri, 19 Apr 2024 15:06:42 GMT"},{"title":"Android \u901a\u77e5\u6743\u9650\u7070\u8272\uff0c\u65e0\u6cd5\u5f00\u542f","link":"https:\/\/blog.lpkt.cn\/posts\/android-grey-noti-perm\/","guid":"https:\/\/blog.lpkt.cn\/posts\/android-grey-noti-perm\/","pubDate":"Fri, 15 Mar 2024 10:34:24 GMT"},{"title":"Dart Future","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-future\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-future\/","description":"Dart Future \u4e0e\u5fae\u4efb\u52a1","pubDate":"Thu, 29 Feb 2024 18:02:04 GMT"},{"title":"Linux LXC","link":"https:\/\/blog.lpkt.cn\/posts\/linux-lxc\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-lxc\/","description":"Linux \u5bb9\u5668\uff08LXC\uff09\u662f\u4e00\u79cd\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5728\u5355\u4e2a Linux \u5b9e\u4f8b\u4e0a\u8fd0\u884c\u591a\u4e2a\u72ec\u7acb\u7684 Linux \u5bb9\u5668\u3002","pubDate":"Wed, 28 Feb 2024 15:54:49 GMT"},{"title":"Flutter \u9ec4\u91d1\u6d4b\u8bd5","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-golden-test\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-golden-test\/","description":"Golden Test \u662f\u4e00\u79cd\u7528\u4e8e\u68c0\u67e5UI\u7684\u6d4b\u8bd5\u65b9\u6cd5\uff0c\u5b83\u4e3b\u8981\u7528\u4e8e\u786e\u4fddUI\u5728\u4e0d\u5f15\u8d77\u610f\u5916\u66f4\u6539\u7684\u60c5\u51b5\u4e0b\u4fdd\u6301\u4e00\u81f4\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u903b\u8f91\u53d8\u5316\u3002","pubDate":"Fri, 23 Feb 2024 14:08:42 GMT"},{"title":"Flutter \u6846\u67b6\u4f18\u5316","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-optimization\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-optimization\/","description":"StatefulWidget \u7684\u6700\u5c0f\u5316\u91cd\u5efa","pubDate":"Wed, 21 Feb 2024 18:05:47 GMT"},{"title":"Linux \u8bbe\u7f6e ufw \u9632\u706b\u5899","link":"https:\/\/blog.lpkt.cn\/posts\/linux-ufw\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-ufw\/","description":"ufw \u662f\u4e00\u4e2a\u7b80\u5355\u7684\u9632\u706b\u5899\u5de5\u5177\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u7ba1\u7406 Linux \u7cfb\u7edf\u4e0a\u7684\u9632\u706b\u5899\u89c4\u5219\u3002","pubDate":"Tue, 20 Feb 2024 10:31:30 GMT"},{"title":"Flutter \u8fc1\u79fb\u58f0\u660e\u5f0f Gradle \u63d2\u4ef6","link":"https:\/\/blog.lpkt.cn\/posts\/flutter-migrate-gradle-declarative\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutter-migrate-gradle-declarative\/","description":"\u539f\u6587\uff1ahttps:\/\/docs.flutter.dev\/release\/breaking-changes\/flutter-gradle-plugin-apply Issue\uff1ahttps:\/\/github.com\/flutter\/flutter\/issues\/135392","pubDate":"Mon, 19 Feb 2024 14:42:45 GMT"},{"title":"Linux \u7ec8\u7aef\u8f93\u51fa\u8bed\u6cd5","link":"https:\/\/blog.lpkt.cn\/posts\/linux-term-output\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-term-output\/","description":"Linux \u7ec8\u7aef\u8f93\u51fa\u91cd\u5b9a\u5411\u8bed\u6cd5\u8868\u683c\u3002","pubDate":"Tue, 16 Jan 2024 14:06:45 GMT"},{"title":"Linux \u767b\u5f55\u4fe1\u606f\u5b9a\u5236","link":"https:\/\/blog.lpkt.cn\/posts\/linux-login-welcome\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-login-welcome\/","description":"\u5728 SSH \u8fde\u63a5\u5230 Linux \u670d\u52a1\u5668\u540e\uff0c\u901a\u5e38\u4f1a\u663e\u793a\u4e00\u4e9b\u767b\u5f55\u4fe1\u606f\uff0c\u8fd9\u4e9b\u4fe1\u606f\u53ef\u4ee5\u5728\u591a\u4e2a\u5730\u65b9\u8fdb\u884c\u5b9a\u5236\u3002","pubDate":"Wed, 27 Dec 2023 11:23:04 GMT"},{"title":"Dart Function.apply()","link":"https:\/\/blog.lpkt.cn\/posts\/dart-func-apply\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-func-apply\/","description":"\u7075\u6d3b\u4f46\u662f\u6027\u80fd\u8f83\u5dee\u7684\u51fd\u6570\u8c03\u7528\u65b9\u5f0f","pubDate":"Fri, 22 Dec 2023 11:55:43 GMT"},{"title":"Rust \u9ad8\u7ea7 trait","link":"https:\/\/blog.lpkt.cn\/posts\/rust-adv-trait\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-adv-trait\/","description":"\u5b8c\u5168\u9650\u5b9a\u8bed\u6cd5\u3001\u6269\u5c55 trait\u3001\u5b64\u513f\u89c4\u5219","pubDate":"Thu, 14 Dec 2023 14:31:41 GMT"},{"title":"Rust dyn \u5173\u952e\u5b57","link":"https:\/\/blog.lpkt.cn\/posts\/rust-dyn-keyword\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rust-dyn-keyword\/","description":"\u5728 Rust \u4e2d\uff0c`dyn` \u5173\u952e\u5b57\u7528\u4e8e\u663e\u5f0f\u6807\u8bb0\u4e00\u4e2a trait \u5bf9\u8c61\u3002Trait \u5bf9\u8c61\u662f\u4e00\u79cd\u5141\u8bb8\u5bf9\u4e0d\u540c\u7c7b\u578b\u7684\u503c\u8fdb\u884c\u7edf\u4e00\u5904\u7406\u7684\u52a8\u6001\u5206\u53d1\u673a\u5236\uff0c\u5b83\u4eec\u901a\u8fc7\u67d0\u4e2a\u5171\u540c\u7684 trait \u6765\u8fdb\u884c\u62bd\u8c61\u3002","pubDate":"Thu, 14 Dec 2023 10:58:34 GMT"},{"title":"Dart 3 Pattern \u6a21\u5f0f","link":"https:\/\/blog.lpkt.cn\/posts\/dart3-pattern\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart3-pattern\/","description":"Patterns\uff08\u6a21\u5f0f\uff09 \u662f Dart \u8bed\u8a00\u4e2d\u7684\u4e00\u79cd\u8bed\u6cd5\u7c7b\u522b\uff0c\u5c31\u50cf\u8bed\u53e5\u548c\u8868\u8fbe\u5f0f\u4e00\u6837","pubDate":"Wed, 13 Dec 2023 15:32:35 GMT"},{"title":"\u963f\u91cc\/\u817e\u8baf\u4e91 \u5b9e\u9645\u5185\u5b58\u5c0f\u4e8e\u914d\u7f6e\u5185\u5b58","link":"https:\/\/blog.lpkt.cn\/posts\/cloud-carshkernel\/","guid":"https:\/\/blog.lpkt.cn\/posts\/cloud-carshkernel\/","description":"crashkernel \u4f1a\u5360\u7528\u4e00\u90e8\u5206\u5185\u5b58\uff0c\u5bfc\u81f4\u5b9e\u9645\u5185\u5b58\u5c0f\u4e8e\u914d\u7f6e\u5185\u5b58\u3002","pubDate":"Thu, 07 Dec 2023 16:21:28 GMT"},{"title":"Aliyun \u963f\u91cc\u4e91\u5378\u8f7d \u52a9\u624b\u3001\u8fdb\u7a0b","link":"https:\/\/blog.lpkt.cn\/posts\/aliyun-rm-assist\/","guid":"https:\/\/blog.lpkt.cn\/posts\/aliyun-rm-assist\/","description":"\u5378\u8f7d\u4e91\u52a9\u624b\u5b88\u62a4\u8fdb\u7a0b\u3001\u4e91\u52a9\u624bAgent","pubDate":"Thu, 30 Nov 2023 13:26:39 GMT"},{"title":"pprof \u4f7f\u7528","link":"https:\/\/blog.lpkt.cn\/posts\/go-pprof\/","guid":"https:\/\/blog.lpkt.cn\/posts\/go-pprof\/","description":"`pprof` \u662f\u4e00\u4e2a\u7528\u4e8e\u53ef\u89c6\u5316\u548c\u5206\u6790\u6027\u80fd\u6570\u636e\u7684\u5de5\u5177\uff0c\u5e38\u7528\u4e8e\u5206\u6790Go\u8bed\u8a00\u7a0b\u5e8f\u7684\u6027\u80fd\uff0c\u5305\u62ecCPU\u4f7f\u7528\u60c5\u51b5\u548c\u5185\u5b58\u5360\u7528\u3002","pubDate":"Tue, 28 Nov 2023 18:56:24 GMT"},{"title":"\u963f\u91cc\u4e91\u670d\u52a1\u5668\u5f00\u542f Tailscale \u65e0\u6cd5\u66f4\u65b0 APT \u7b49","link":"https:\/\/blog.lpkt.cn\/posts\/aliyun-tailscale\/","guid":"https:\/\/blog.lpkt.cn\/posts\/aliyun-tailscale\/","pubDate":"Thu, 23 Nov 2023 19:08:13 GMT"},{"title":"Linux \u914d\u7f6e DNS","link":"https:\/\/blog.lpkt.cn\/posts\/linux-dns-conf\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-dns-conf\/","description":"\u5982\u679c\u4f60\u5728 `\/etc\/resolv.conf` \u6587\u4ef6\u4e2d\u770b\u5230\u4e86\u201c\u4e0d\u8981\u4fee\u6539\u201d\u6216\u201c\u8fd9\u662f\u94fe\u63a5\u201d\u7684\u63d0\u793a\uff0c\u8fd9\u901a\u5e38\u610f\u5473\u7740\u4f60\u7684\u7cfb\u7edf\u6b63\u5728\u4f7f\u7528 `resolvconf` \u6216 `systemd-resolved` \u7ba1\u7406 DNS \u8bbe\u7f6e\u3002","pubDate":"Thu, 23 Nov 2023 19:06:44 GMT"},{"title":"\u5728 Ubuntu server \u5b89\u88c5\u684c\u9762\u73af\u5883","link":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-server-install-desktopenv\/","guid":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-server-install-desktopenv\/","pubDate":"Fri, 17 Nov 2023 19:11:32 GMT"},{"title":"Ubuntu \u5b89\u5168\u5220\u9664 realtime kernel","link":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-rm-realtime-kernel\/","guid":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-rm-realtime-kernel\/","description":"\u5b89\u88c5\u9ed8\u8ba4\u5185\u6838\uff0c\u83b7\u53d6 Sub Menu \u4e0e Menu Entry ID\uff0c\u4fee\u6539 GRUB_DEFAULT\uff0c\u66f4\u65b0 grub \u5e76 \u91cd\u542f\u7535\u8111\uff0c\u5378\u8f7d realtime \u5185\u6838\uff0c\u56de\u6eaf grub \u4fee\u6539","pubDate":"Wed, 15 Nov 2023 19:10:32 GMT"},{"title":"adb \u7f3a\u5931 udev \u89c4\u5219","link":"https:\/\/blog.lpkt.cn\/posts\/adb-udev-rule\/","guid":"https:\/\/blog.lpkt.cn\/posts\/adb-udev-rule\/","pubDate":"Sun, 12 Nov 2023 00:00:00 GMT"},{"title":"ADB \u914d\u5bf9\u6210\u529f\u540e\uff0c\u8bbe\u5907\u4e3a\u7a7a","link":"https:\/\/blog.lpkt.cn\/posts\/adb-empty-device\/","guid":"https:\/\/blog.lpkt.cn\/posts\/adb-empty-device\/","description":"mDNS \u6b63\u5e38\u5de5\u4f5c\uff0c\u4f46\u65e0\u6cd5\u81ea\u52a8\u8fde\u63a5\u5230 Android \u7684 WiFi adb","pubDate":"Sun, 12 Nov 2023 00:00:00 GMT"},{"title":"Dart \u7c7b\u4fee\u9970\u7b26","link":"https:\/\/blog.lpkt.cn\/posts\/dart-class-modifier\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-class-modifier\/","description":"abstract\u3001base\u3001final\u3001interface\u3001sealed\u3001mixin","pubDate":"Fri, 03 Nov 2023 19:57:15 GMT"},{"title":"rsync \u5907\u4efd","link":"https:\/\/blog.lpkt.cn\/posts\/rsync-bak\/","guid":"https:\/\/blog.lpkt.cn\/posts\/rsync-bak\/","description":"\u4f7f\u7528 rsync \u5907\u4efd\u6574\u4e2a\u7cfb\u7edf\uff0c\u6392\u9664\u4e0d\u9700\u8981\u5907\u4efd\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u3002","pubDate":"Tue, 03 Oct 2023 10:26:58 GMT"},{"title":"apt \u5305\u7684\u63cf\u8ff0\u542b [local] \u7684\u539f\u56e0","link":"https:\/\/blog.lpkt.cn\/posts\/apt-list-with-local\/","guid":"https:\/\/blog.lpkt.cn\/posts\/apt-list-with-local\/","pubDate":"Sat, 16 Sep 2023 21:29:57 GMT"},{"title":"Dart Stream \u76f8\u5173","link":"https:\/\/blog.lpkt.cn\/posts\/dart-stream\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-stream\/","description":"StreamController\u3001StreamSink\u3001StreamSubscription \u7b49\u76f8\u5173\u7c7b\u7684\u57fa\u672c\u7528\u6cd5\u3002","pubDate":"Fri, 15 Sep 2023 00:00:00 GMT"},{"title":"Git \u4ee3\u7801\u7247\u6bb5","link":"https:\/\/blog.lpkt.cn\/posts\/git-funcs\/","guid":"https:\/\/blog.lpkt.cn\/posts\/git-funcs\/","description":"\u4f7f\u7528 SSH \u516c\u94a5\u7b7e\u540d Git \u63d0\u4ea4\u3001\u5305\u542b submodule\u3001\u7edf\u8ba1\u884c\u6570\u3001\u7b2c\u4e00\u884c\u4ee3\u7801\u3001\u6062\u590d\u6587\u4ef6\u5939\u3001\u67e5\u770b\u7f16\u8f91\u6b21\u6570","pubDate":"Mon, 28 Aug 2023 21:06:19 GMT"},{"title":"systemd \u670d\u52a1\u7c7b\u578b","link":"https:\/\/blog.lpkt.cn\/posts\/systemd-service-type\/","guid":"https:\/\/blog.lpkt.cn\/posts\/systemd-service-type\/","description":"systemd \u670d\u52a1\u7c7b\u578b\uff1asimple\u3001forking\u3001oneshot\u3001dbus\u3001notify\u3001idle","pubDate":"Sun, 23 Jul 2023 22:01:28 GMT"},{"title":"Linux \u901a\u8fc7 \/proc \u8bfb\u53d6\u8fdb\u7a0b\u548c\u7ebf\u7a0b\u4fe1\u606f","link":"https:\/\/blog.lpkt.cn\/posts\/linux-proc-read\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-proc-read\/","description":"\u5728 Linux \u7cfb\u7edf\u4e2d\uff0c\/proc \u76ee\u5f55\u63d0\u4f9b\u4e86\u4e00\u79cd\u8bbf\u95ee\u5185\u6838\u6570\u636e\u7ed3\u6784\u7684\u65b9\u6cd5\uff0c\u53ef\u4ee5\u7528\u6765\u8bfb\u53d6\u8fdb\u7a0b\u548c\u7ebf\u7a0b\u7684\u4fe1\u606f\u3002","pubDate":"Mon, 17 Jul 2023 22:52:31 GMT"},{"title":"Shell \/ Pty \/ TTY","link":"https:\/\/blog.lpkt.cn\/posts\/shell-pty-tty\/","guid":"https:\/\/blog.lpkt.cn\/posts\/shell-pty-tty\/","description":"Shell\uff0cPty\uff0c\u548c TTY \u662f Unix \u548c Unix-like \u7cfb\u7edf\u4e2d\u7684\u4e00\u4e9b\u6982\u5ff5\uff0c\u7528\u6765\u63cf\u8ff0\u7528\u6237\u548c\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u95f4\u7684\u4ea4\u4e92\u3002","pubDate":"Mon, 03 Jul 2023 19:25:31 GMT"},{"title":"\u5224\u65ad\u5f53\u524d\u7cfb\u7edf\u662f\u5426\u4f7f\u7528 BusyBox","link":"https:\/\/blog.lpkt.cn\/posts\/judge-busybox\/","guid":"https:\/\/blog.lpkt.cn\/posts\/judge-busybox\/","pubDate":"Wed, 28 Jun 2023 20:11:36 GMT"},{"title":"Docker \u914d\u7f6e","link":"https:\/\/blog.lpkt.cn\/posts\/docker-conf\/","guid":"https:\/\/blog.lpkt.cn\/posts\/docker-conf\/","description":"\u8bbe\u7f6e\u5bb9\u5668\u81ea\u542f\u3001\u5bb9\u5668\u8d44\u6e90\u9650\u5236","pubDate":"Sun, 04 Jun 2023 22:29:21 GMT"},{"title":"Linux \u4e0d\u540c\u5173\u673a\u547d\u4ee4\u5dee\u522b","link":"https:\/\/blog.lpkt.cn\/posts\/linux-poweroff-diff\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-poweroff-diff\/","description":"Linux \u4e2d\u6709\u591a\u4e2a\u547d\u4ee4\u53ef\u4ee5\u7528\u6765\u5173\u95ed\u7cfb\u7edf\uff0c\u8fd9\u4e9b\u547d\u4ee4\u4e4b\u95f4\u6709\u4e00\u4e9b\u7ec6\u5fae\u7684\u5dee\u522b\u3002","pubDate":"Sun, 21 May 2023 14:12:18 GMT"},{"title":"Tmux \u5feb\u6377\u952e","link":"https:\/\/blog.lpkt.cn\/posts\/tmux-keys\/","guid":"https:\/\/blog.lpkt.cn\/posts\/tmux-keys\/","description":"c \u65b0\u5efa\u7a97\u53e3\u3001n \u5207\u6362\u4e0b\u4e00\u4e2a\u7a97\u53e3\u3001p \u5207\u6362\u4e0a\u4e00\u4e2a\u7a97\u53e3\u30010-9 \u5207\u6362\u6307\u5b9a\u7f16\u53f7\u7a97\u53e3\u3001, \u91cd\u547d\u540d\u7a97\u53e3\u3001& \u5173\u95ed\u7a97\u53e3\u3001f \u67e5\u627e\u6587\u672c\u3001l \u5207\u6362\u6700\u540e\u7a97\u53e3\u3001w \u83dc\u5355\u9009\u62e9\u7a97\u53e3\u3001. \u4fee\u6539\u7a97\u53e3\u7f16\u53f7","pubDate":"Tue, 16 May 2023 16:03:24 GMT"},{"title":"Linux CPU \u811a\u672c","link":"https:\/\/blog.lpkt.cn\/posts\/linux-cpu-scripts\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-cpu-scripts\/","description":"\u901a\u8fc7 bc \u8ba1\u7b97\u5706\u5468\u7387\uff0c\u6d88\u8017 CPU","pubDate":"Mon, 08 May 2023 13:22:03 GMT"},{"title":"Vim \u5feb\u6377\u952e","link":"https:\/\/blog.lpkt.cn\/posts\/vim-keys\/","guid":"https:\/\/blog.lpkt.cn\/posts\/vim-keys\/","pubDate":"Tue, 18 Apr 2023 22:09:04 GMT"},{"title":"\u5e72\u6389 .DS_Store \u6587\u4ef6","link":"https:\/\/blog.lpkt.cn\/posts\/kill-dsstore\/","guid":"https:\/\/blog.lpkt.cn\/posts\/kill-dsstore\/","description":"\u5168\u5c40 .gitignore \u5ffd\u7565 .DS_Store \u6587\u4ef6\uff0c\u5e76\u4e14\u7981\u6b62\u751f\u6210\u3001\u5220\u9664\u73b0\u6709","pubDate":"Wed, 12 Apr 2023 15:13:16 GMT"},{"title":"Dart Cheat Sheet","link":"https:\/\/blog.lpkt.cn\/posts\/dart-cheat-sheet\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-cheat-sheet\/","description":"\u5224\u65ad\u4e24\u4e2a\u5217\u8868\u662f\u5426\u76f8\u7b49\u3001\u5224\u65ad\u4e00\u4e2a\u6587\u4ef6\u6216\u76ee\u5f55\u662f\u5426\u662f\u94fe\u63a5","pubDate":"Sun, 19 Mar 2023 23:45:17 GMT"},{"title":"\u66b4\u96ea\u6218\u7f51 \u65e0\u6cd5\u5b89\u88c5\/\u5207\u6362\u56fd\u9645\u670d","link":"https:\/\/blog.lpkt.cn\/posts\/battlenet-international\/","guid":"https:\/\/blog.lpkt.cn\/posts\/battlenet-international\/","pubDate":"Fri, 24 Feb 2023 13:07:28 GMT"},{"title":"\u5e38\u7528\u52a0\u5bc6DNS\uff08DOH DOT\uff09\u670d\u52a1","link":"https:\/\/blog.lpkt.cn\/posts\/dot-doh\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dot-doh\/","description":"alidns\u3001dnspod\u3001Cloudflare","pubDate":"Thu, 23 Feb 2023 22:11:05 GMT"},{"title":"SSH \u8f6c\u53d1","link":"https:\/\/blog.lpkt.cn\/posts\/ssh-forward\/","guid":"https:\/\/blog.lpkt.cn\/posts\/ssh-forward\/","description":"\u4f7f\u7528 SSH \u8fdb\u884c\u7aef\u53e3\u8f6c\u53d1","pubDate":"Tue, 21 Feb 2023 23:27:35 GMT"},{"title":"\u5236\u4f5c macOS \u542f\u52a8\u76d8\u62a5\u9519","link":"https:\/\/blog.lpkt.cn\/posts\/mac-make-bootimg-err\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mac-make-bootimg-err\/","pubDate":"Sat, 18 Feb 2023 15:18:51 GMT"},{"title":"Ubuntu \u4f18\u5316","link":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-opt\/","guid":"https:\/\/blog.lpkt.cn\/posts\/ubuntu-opt\/","description":"\u79fb\u9664 cloud-init\u3001snap","pubDate":"Fri, 03 Feb 2023 10:33:43 GMT"},{"title":"FAQ \/ \u5e38\u89c1\u95ee\u9898","link":"https:\/\/blog.lpkt.cn\/posts\/faq\/","guid":"https:\/\/blog.lpkt.cn\/posts\/faq\/","description":"l10n \/ \u672c\u5730\u5316 \/ Compile \/ \u81ea\u884c\u7f16\u8bd1","pubDate":"Mon, 16 Jan 2023 14:46:54 GMT"},{"title":"Mac \u7981\u7528 Spotlight","link":"https:\/\/blog.lpkt.cn\/posts\/mac-disable-spotlight\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mac-disable-spotlight\/","description":"`mds` \u7b49\u7c7b\u4f3c\u8fdb\u7a0b\uff08Spotlight \u7684\u7d22\u5f15\u670d\u52a1\uff09\uff0c\u5982\u679c\u5927\u91cf\u5360\u7528\uff0c\u53ef\u4ee5\u9009\u62e9\u5173\u95ed\u3002","pubDate":"Thu, 27 Oct 2022 11:42:01 GMT"},{"title":"Go Cheat Sheet","link":"https:\/\/blog.lpkt.cn\/posts\/go-cheat-sheet\/","guid":"https:\/\/blog.lpkt.cn\/posts\/go-cheat-sheet\/","description":"\u7f16\u8bd1\u65f6\u52a0\u5165\u7248\u672c\u4fe1\u606f\u3001embed \u76f8\u5bf9\u8def\u5f84\u3001defer\u3001for idx & range \u6027\u80fd\u5bf9\u6bd4\u7b49...","pubDate":"Mon, 25 Jul 2022 12:00:07 GMT"},{"title":"Linux \u88c5\u673a\u914d\u7f6e","link":"https:\/\/blog.lpkt.cn\/posts\/linux-init-op\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-init-op\/","description":"\u65b0\u5efa\u7528\u6237\u3001\u5f00\u542fsudo\u3001zsh\u3001docker\u3001systemd","pubDate":"Sun, 17 Jul 2022 22:42:24 GMT"},{"title":"curl -fsSL \u662f\u4ec0\u4e48\u610f\u601d","link":"https:\/\/blog.lpkt.cn\/posts\/curl-fssl\/","guid":"https:\/\/blog.lpkt.cn\/posts\/curl-fssl\/","description":"--fail --silent --show-error --location","pubDate":"Tue, 28 Jun 2022 17:09:39 GMT"},{"title":"Mega \u8ba4\u8bc1","link":"https:\/\/blog.lpkt.cn\/posts\/mega-auth\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mega-auth\/","description":"Mega \u6ce8\u518c\u548c\u767b\u5f55\u8fc7\u7a0b","pubDate":"Wed, 22 Jun 2022 10:38:57 GMT"},{"title":"docker rootless \u5b89\u88c5\u5931\u8d25\uff1aslirp4netns or vpnkit","link":"https:\/\/blog.lpkt.cn\/posts\/docker-slirp4netns\/","guid":"https:\/\/blog.lpkt.cn\/posts\/docker-slirp4netns\/","description":"\u9700\u8981\u624b\u52a8\u5b89\u88c5 slirp4netns","pubDate":"Fri, 27 May 2022 19:13:22 GMT"},{"title":"\u4f7f\u7528 tree-sitter \u751f\u6210\u8bed\u6cd5\u6811","link":"https:\/\/blog.lpkt.cn\/posts\/tree-sitter\/","guid":"https:\/\/blog.lpkt.cn\/posts\/tree-sitter\/","description":"Tree-sitter \u662f\u4e00\u4e2a\u89e3\u6790\u5668\u751f\u6210\u5de5\u5177\u548c\u589e\u91cf\u89e3\u6790\u5e93\u3002","pubDate":"Sat, 21 May 2022 12:36:39 GMT"},{"title":"Linux journalctl \u65e5\u5fd7","link":"https:\/\/blog.lpkt.cn\/posts\/linux-journalctl-vacuum\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-journalctl-vacuum\/","description":"\u6e05\u7406 journalctl \u65e5\u5fd7\uff0c\u9650\u5236\u65e5\u5fd7\u5927\u5c0f","pubDate":"Fri, 20 May 2022 10:15:23 GMT"},{"title":"Dart Isolate","link":"https:\/\/blog.lpkt.cn\/posts\/flutetr-isolate\/","guid":"https:\/\/blog.lpkt.cn\/posts\/flutetr-isolate\/","description":"Dart \u4e2d\u7684\u5e76\u53d1\u3001\u591a\u7ebf\u7a0b\u95f4\u901a\u4fe1","pubDate":"Sun, 08 May 2022 10:53:08 GMT"},{"title":"perl locale \u8b66\u544a","link":"https:\/\/blog.lpkt.cn\/posts\/perl-locale-warn\/","guid":"https:\/\/blog.lpkt.cn\/posts\/perl-locale-warn\/","description":"perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = \"UTF-8\", LANG = \"C\" are supported and installed on your system.","pubDate":"Fri, 04 Mar 2022 10:47:36 GMT"},{"title":"Flutter \u6587\u5b57\u6ea2\u51fa\u7701\u7565\u4e2d\u95f4\u6216\u524d\u9762","link":"https:\/\/blog.lpkt.cn\/posts\/ftmo\/","guid":"https:\/\/blog.lpkt.cn\/posts\/ftmo\/","description":"Flutter \u5185\u7f6e\u53ef\u4ee5\u7701\u7565\u672a\u77e5\u672b\u5c3e\u6ea2\u51fa\u90e8\u5206\uff0c\u4f46\u662f\u5982\u4f55\u7701\u7565\u4e2d\u95f4\u6216\u524d\u9762\u7684\u90e8\u5206\u5462\uff1f","pubDate":"Mon, 21 Feb 2022 13:38:09 GMT"},{"title":"Linux \u83b7\u53d6\u72b6\u6001\u4fe1\u606f","link":"https:\/\/blog.lpkt.cn\/posts\/linux-get-info\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-get-info\/","description":"\u83b7\u53d6 CPU \u5360\u7528\u7387\u3001\u7f51\u901f\u3001\u53d1\u884c\u7248\u3001CPU \u6e29\u5ea6\u3001\u786c\u76d8\u3001\u5f00\u673a\u65f6\u95f4\u3001\u5185\u5b58\u4fe1\u606f\u7b49","pubDate":"Fri, 28 Jan 2022 15:53:44 GMT"},{"title":"Dart isolate compute() \u62a5\u9519","link":"https:\/\/blog.lpkt.cn\/posts\/dart-compute-isolate\/","guid":"https:\/\/blog.lpkt.cn\/posts\/dart-compute-isolate\/","description":"\u56e0\u4e3a\u5176\u5916\u90e8\u8d44\u6e90\u6709\u5173\u8054\u7684\u5bf9\u8c61\u4e0d\u80fd\u5728 isolate \u4e4b\u95f4\u4f20","pubDate":"Fri, 28 Jan 2022 12:35:58 GMT"},{"title":"Tailscale \u81ea\u5efa DERP \u4e2d\u8f6c","link":"https:\/\/blog.lpkt.cn\/posts\/tailscale-custom-derp\/","guid":"https:\/\/blog.lpkt.cn\/posts\/tailscale-custom-derp\/","description":"\u81ea\u5efa DERP \u4e2d\u8f6c\u670d\u52a1\u5668\uff0c\u51cf\u5c11\u5ef6\u8fdf","pubDate":"Fri, 28 Jan 2022 11:54:52 GMT"},{"title":"Caddy \u5b89\u88c5 + \u5e38\u7528\u914d\u7f6e","link":"https:\/\/blog.lpkt.cn\/posts\/caddy-common\/","guid":"https:\/\/blog.lpkt.cn\/posts\/caddy-common\/","description":"\u5b89\u88c5 + \u9759\u6001\u7f51\u9875 + \u53cd\u4ee3 + \u5b8c\u5168\u8f6c\u53d1","pubDate":"Fri, 28 Jan 2022 11:28:59 GMT"},{"title":"Linux Swap","link":"https:\/\/blog.lpkt.cn\/posts\/linux-new-swap\/","guid":"https:\/\/blog.lpkt.cn\/posts\/linux-new-swap\/","description":"Swap \u662f\u4e00\u79cd\u865a\u62df\u5185\u5b58\u6280\u672f\uff0c\u7528\u4e8e\u5728\u7269\u7406\u5185\u5b58\u4e0d\u8db3\u65f6\u5c06\u90e8\u5206\u5185\u5b58\u6570\u636e\u5199\u5165\u786c\u76d8\u3002","pubDate":"Tue, 13 Jul 2021 23:10:27 GMT"},{"title":"\u9b54\u8da3\u4e2d\u5fc3\u7834\u89e3","link":"https:\/\/blog.lpkt.cn\/posts\/mkcenter\/","guid":"https:\/\/blog.lpkt.cn\/posts\/mkcenter\/","description":"\u5982\u4f55\u4fee\u6539\u9b54\u8da3\u4e2d\u5fc3\u6350\u8d60\u91d1\u989d","pubDate":"Wed, 09 Aug 2017 00:00:00 GMT"},{"title":"Lawnchair \u5f3a\u5236\u5f00\u542fQSB","link":"https:\/\/blog.lpkt.cn\/posts\/qsb\/","guid":"https:\/\/blog.lpkt.cn\/posts\/qsb\/","description":"Lawnchair\uff0c\u5b83\u662f\u7531delete scape\u5f00\u53d1\u7684\u4e00\u6b3e\u542f\u52a8\u5668\uff0c\u540e\u7ecf\u7531\u9b54\u8da3\u4fee\u6539\uff0c\u53d8\u8eab\u6210\u9b54\u8da3\u5b9a\u5236\u7248","pubDate":"Fri, 27 Jan 2017 21:21:24 GMT"}]}}