├── .env.example ├── .github └── workflows │ ├── deploy.yaml │ └── sync.yaml ├── .gitignore ├── LICENSE ├── README.md ├── depker.config.ts ├── eslint.config.js ├── keystatic.config.tsx ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── public ├── content │ ├── config │ │ ├── author.yaml │ │ ├── footer.yaml │ │ ├── friends.yaml │ │ ├── friends │ │ │ └── content.mdoc │ │ ├── header.yaml │ │ ├── home.yaml │ │ ├── home │ │ │ └── content.mdoc │ │ ├── license.yaml │ │ ├── projects.yaml │ │ ├── projects │ │ │ └── content.mdoc │ │ └── seo.yaml │ ├── pages │ │ ├── about │ │ │ └── index.mdoc │ │ ├── links-application │ │ │ └── index.mdoc │ │ └── message-board │ │ │ └── index.mdoc │ └── posts │ │ ├── ace-editor-sets-inertial-scrolling │ │ └── index.mdoc │ │ ├── add-simple-store-for-react │ │ └── index.mdoc │ │ ├── add-simple-store-for-vue │ │ └── index.mdoc │ │ ├── add-simple-store-for-vue3 │ │ └── index.mdoc │ │ ├── add-sync-action-for-vuex │ │ └── index.mdoc │ │ ├── algorithm-complexity-analysis-1 │ │ └── index.mdoc │ │ ├── bing-daily-picture-api │ │ └── index.mdoc │ │ ├── blog-comment-rules │ │ └── index.mdoc │ │ ├── c-bubble-sort │ │ └── index.mdoc │ │ ├── c-insert-sort │ │ └── index.mdoc │ │ ├── c-linked-list-implementation-new │ │ └── index.mdoc │ │ ├── c-linked-list-implementation │ │ └── index.mdoc │ │ ├── c-merge-sort │ │ └── index.mdoc │ │ ├── c-quick-sort │ │ └── index.mdoc │ │ ├── c-select-sort │ │ └── index.mdoc │ │ ├── definition-and-use-of-the-c-struct │ │ └── index.mdoc │ │ ├── design-pattern-series-articles │ │ └── index.mdoc │ │ ├── graph-search-bfs-dfs │ │ └── index.mdoc │ │ ├── hello-world │ │ └── index.mdoc │ │ ├── http-series-articles │ │ └── index.mdoc │ │ ├── iframe-lazy-loading │ │ └── index.mdoc │ │ ├── implement-a-java-microframework-from-zero-1 │ │ └── index.mdoc │ │ ├── implement-a-java-microframework-from-zero-2 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-1 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-2 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-3 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-4 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-5 │ │ └── index.mdoc │ │ ├── implement-a-php-microframework-from-zero-6 │ │ └── index.mdoc │ │ ├── intel-optane-experience │ │ └── index.mdoc │ │ ├── java-binary-tree-implementation │ │ └── index.mdoc │ │ ├── java-graph-implementation │ │ └── index.mdoc │ │ ├── java-linked-list-implementation │ │ └── index.mdoc │ │ ├── java-series-articles │ │ └── index.mdoc │ │ ├── js-generate-list-tree │ │ └── index.mdoc │ │ ├── laragon-scoop-integrated-pit-logging │ │ └── index.mdoc │ │ ├── laravel-generating-directory-tree │ │ └── index.mdoc │ │ ├── middleware-implementation-with-php │ │ └── index.mdoc │ │ ├── mvvm-simple-implementation │ │ └── index.mdoc │ │ ├── my-2020-year-end-summary │ │ └── index.mdoc │ │ ├── my-2021-year-end-summary │ │ └── index.mdoc │ │ ├── my-2022-year-end-summary │ │ └── index.mdoc │ │ ├── my-2023-year-end-summary │ │ └── index.mdoc │ │ ├── my-blog-2017-year-end-summary │ │ └── index.mdoc │ │ ├── my-blog-2018-year-end-summary │ │ └── index.mdoc │ │ ├── my-blog-2019-year-end-summary │ │ └── index.mdoc │ │ ├── mysql-dual-hot-backup │ │ └── index.mdoc │ │ ├── mysql-transaction-isolation │ │ └── index.mdoc │ │ ├── one-line-of-code-elegantly-manages-windows-software │ │ └── index.mdoc │ │ ├── one-year-record │ │ └── index.mdoc │ │ ├── php-gd-generates-verification-code │ │ └── index.mdoc │ │ ├── php-gd-image-processing │ │ └── index.mdoc │ │ ├── recompilation-of-nginx-installed-for-apt-mode-adds-webdav │ │ └── index.mdoc │ │ ├── say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell │ │ └── index.mdoc │ │ ├── spring-quickly-inject-json-parameters │ │ └── index.mdoc │ │ ├── summary-of-experience-over-the-past-year │ │ └── index.mdoc │ │ ├── talk-about-eatwhatyoukill │ │ └── index.mdoc │ │ ├── talk-about-scalable-thread-pool │ │ └── index.mdoc │ │ ├── talk-about-single-sign-on │ │ └── index.mdoc │ │ ├── talk-about-the-status-quo-2020-09 │ │ └── index.mdoc │ │ ├── talk-about-writing-framework │ │ └── index.mdoc │ │ ├── talking-about-bplus-tree │ │ └── index.mdoc │ │ ├── talking-about-browser-event-loop │ │ └── index.mdoc │ │ ├── talking-about-browser-render │ │ └── index.mdoc │ │ ├── talking-about-cache │ │ └── index.mdoc │ │ ├── talking-about-concurrency-basics │ │ └── index.mdoc │ │ ├── talking-about-concurrency-threadlocal │ │ └── index.mdoc │ │ ├── talking-about-concurrency-three-characteristics │ │ └── index.mdoc │ │ ├── talking-about-concurrent-cas-and-aqs │ │ └── index.mdoc │ │ ├── talking-about-concurrent-locks │ │ └── index.mdoc │ │ ├── talking-about-concurrent-synchronized-and-reentrantlock │ │ └── index.mdoc │ │ ├── talking-about-database-index │ │ └── index.mdoc │ │ ├── talking-about-di-and-ioc │ │ └── index.mdoc │ │ ├── talking-about-garbage-collection │ │ └── index.mdoc │ │ ├── talking-about-io │ │ └── index.mdoc │ │ ├── talking-about-jvm-classloader │ │ └── index.mdoc │ │ ├── talking-about-merged-annotation │ │ └── index.mdoc │ │ ├── talking-about-proxy-and-aop │ │ └── index.mdoc │ │ ├── talking-about-skip-list │ │ └── index.mdoc │ │ ├── talking-about-type-erasure │ │ └── index.mdoc │ │ ├── the-fox-theme-chinese-share │ │ └── index.mdoc │ │ ├── theme-origami │ │ └── index.mdoc │ │ ├── vscode-acrylic │ │ └── index.mdoc │ │ ├── vscode-configuration-c-cpp-gdb-debugging-environment-windows │ │ └── index.mdoc │ │ ├── vscode-configuration-java-gdb-debugging-environment-windows │ │ └── index.mdoc │ │ ├── vscode-configuration-php-gdb-debugging-environment-windows │ │ └── index.mdoc │ │ ├── vscode-java-manually-imports-jar-and-source-package │ │ └── index.mdoc │ │ ├── vscode-java-output-chinese-garbled-problem-solving │ │ └── index.mdoc │ │ ├── vue-cli2-project-migration-log │ │ └── index.mdoc │ │ ├── windows-ip-changes-to-automatically-send-mail │ │ └── index.mdoc │ │ ├── wordpress-enabled-service-worker │ │ └── index.mdoc │ │ ├── wordpress-enabled-workbox │ │ └── index.mdoc │ │ ├── wordpress-links-template │ │ └── index.mdoc │ │ ├── writing-spring-tests-with-kotlin │ │ └── index.mdoc │ │ ├── written-before-the-2018-college-entrance-examination │ │ └── index.mdoc │ │ ├── wsl-2-recording │ │ └── index.mdoc │ │ ├── xkeditor │ │ └── index.mdoc │ │ └── xknote │ │ └── index.mdoc ├── favicon.ico └── image │ ├── config │ ├── author │ │ └── avatar.400x400.png │ ├── friends │ │ └── links │ │ │ ├── 0 │ │ │ └── avatar.640x640.jpg │ │ │ ├── 1 │ │ │ └── avatar.160x160.png │ │ │ ├── 2 │ │ │ └── avatar.120x120.png │ │ │ ├── 3 │ │ │ └── avatar.750x750.png │ │ │ ├── 4 │ │ │ └── avatar.360x354.png │ │ │ ├── 5 │ │ │ └── avatar.512x512.png │ │ │ ├── 6 │ │ │ └── avatar.661x661.png │ │ │ ├── 7 │ │ │ └── avatar.640x640.png │ │ │ ├── 8 │ │ │ └── avatar.256x256.png │ │ │ ├── 9 │ │ │ └── avatar.256x256.png │ │ │ ├── 10 │ │ │ └── avatar.500x500.png │ │ │ ├── 11 │ │ │ └── avatar.140x140.png │ │ │ ├── 12 │ │ │ └── avatar.700x700.png │ │ │ ├── 13 │ │ │ └── avatar.270x270.png │ │ │ ├── 14 │ │ │ └── avatar.128x128.png │ │ │ ├── 15 │ │ │ └── avatar.800x800.jpg │ │ │ ├── 16 │ │ │ └── avatar.959x960.jpg │ │ │ ├── 17 │ │ │ └── avatar.640x640.jpg │ │ │ ├── 18 │ │ │ └── avatar.530x530.png │ │ │ ├── 19 │ │ │ └── avatar.512x388.png │ │ │ ├── 20 │ │ │ └── avatar.320x320.jpg │ │ │ ├── 21 │ │ │ └── avatar.700x700.jpg │ │ │ ├── 22 │ │ │ └── avatar.400x400.png │ │ │ ├── 23 │ │ │ └── avatar.640x638.jpg │ │ │ ├── 24 │ │ │ └── avatar.402x402.jpg │ │ │ ├── 25 │ │ │ └── avatar.1247x1280.png │ │ │ ├── 26 │ │ │ └── avatar.960x960.jpg │ │ │ ├── 27 │ │ │ └── avatar.640x640.jpg │ │ │ ├── 28 │ │ │ └── avatar.1893x1594.jpg │ │ │ ├── 29 │ │ │ └── avatar.640x640.png │ │ │ ├── 30 │ │ │ └── avatar.1558x1556.png │ │ │ ├── 31 │ │ │ └── avatar.1600x1600.jpg │ │ │ ├── 32 │ │ │ └── avatar.640x640.png │ │ │ ├── 33 │ │ │ └── avatar.640x640.png │ │ │ ├── 34 │ │ │ └── avatar.500x500.png │ │ │ └── 35 │ │ │ └── avatar.240x240.jpeg │ └── seo │ │ └── logo.400x400.jpg │ ├── pages │ └── about │ │ ├── 091c3c48-a260-4962-9393-83b07e93ad5f.1089x1089.png │ │ └── e6cd1fca-6578-4ab9-9f93-239f7e26f97a.1080x1080.png │ └── posts │ ├── algorithm-complexity-analysis-1 │ └── 6ac78212-125a-46af-8cc1-f1045c7aff5a.699x223.jpg │ ├── implement-a-java-microframework-from-zero-1 │ └── 63a92cf8-d4b7-4875-88ca-6a4bf491dd2c.866x527.jpg │ ├── implement-a-php-microframework-from-zero-1 │ └── e748d64a-60a6-4bd9-b36e-540586180c31.975x764.jpg │ ├── implement-a-php-microframework-from-zero-2 │ └── 4cd64103-63dd-4ca6-aae1-45d11aa12dd9.975x523.jpg │ ├── implement-a-php-microframework-from-zero-3 │ └── eb82605c-82fd-47b7-b015-18abda0f8c3a.975x523.jpg │ ├── implement-a-php-microframework-from-zero-4 │ └── e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg │ ├── js-generate-list-tree │ ├── f6fd99d9-097d-4b47-959c-6a9acfa51865.933x784.jpg │ └── fb871850-ce81-4ec8-a9e6-3460d85edfb1.722x861.jpg │ ├── laravel-generating-directory-tree │ └── f4f040b4-b7a2-44d0-9a12-16d95be754dd.339x446.jpg │ ├── middleware-implementation-with-php │ └── 2752770a-2c5b-41dc-96d6-75cff97a7286.975x432.jpg │ ├── mvvm-simple-implementation │ ├── 493facdd-0059-4bbf-af03-6204af8d62f5.903x779.jpg │ └── f3a4b197-fca4-45d0-beb2-78c7169f41b9.898x370.jpg │ ├── my-2020-year-end-summary │ └── e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg │ ├── my-2022-year-end-summary │ ├── 2022-ga.1175x809.png │ ├── blog-on-k8s.2048x2032.png │ ├── friends.456x162.png │ ├── pxl_20220910_123053223.mp.3280x2464.jpg │ ├── pxl_20220910_123420493.4000x3000.jpg │ ├── pxl_20220910_154933115.3000x4000.jpg │ ├── pxl_20220910_155223555.4000x1785.jpg │ └── pxl_20221231_181531167.4000x3000.jpg │ ├── my-2023-year-end-summary │ ├── IMG_20230502_163337278.4096x3072.jpg │ ├── IMG_20230502_174413285.8192x6144.jpg │ ├── IMG_20231231_222544024.3337x2503.jpg │ ├── ZFC_0080.1920x1280.jpg │ ├── ZFC_0372.1920x1280.jpg │ ├── ZFC_0948.1920x1280.jpg │ ├── ZFC_1164.1920x1440.jpg │ ├── ZFC_1192.1920x1280.jpg │ ├── ZFC_1784.1920x1080.jpg │ ├── ZFC_1787.1920x1080.jpg │ ├── ZFC_1821.1280x1920.jpg │ ├── ZFC_1848.1920x1280.jpg │ ├── ZFC_3005.1920x1280.jpg │ ├── ZFC_3008.1920x1280.jpg │ ├── ZFC_3348.1920x1280.jpg │ ├── ZFC_3643.1920x1280.jpg │ ├── ZFC_3707.1280x1920.jpg │ ├── ZFC_3724.1920x1280.jpg │ ├── ZFC_3814.1920x1280.jpg │ ├── ZFC_3977.1920x1280.jpg │ ├── ZFC_3979.1280x1920.jpg │ ├── ZFC_4086.1280x1920.jpg │ ├── ZFC_4186.1280x1920.jpg │ ├── ZFC_4187.1280x1920.jpg │ ├── ZFC_4189.1280x1920.jpg │ ├── ZFC_4193.1280x1920.jpg │ ├── mmexport1686407203500.1920x1080.png │ └── mmexport1686407572960.1920x1080.png │ ├── mysql-dual-hot-backup │ ├── 32d342bc-224d-419e-a17a-ed0b23b958b9.757x121.jpg │ ├── 34c3df0d-6cf8-4565-af3a-c11fcdea23fa.570x156.jpg │ ├── 39bb3d70-0cd6-4646-9aff-e2363dbd4cc4.277x45.jpg │ ├── 99a909f9-bdad-4b34-ad61-cafed394bbd6.469x120.jpg │ └── cc1c6dc1-f567-4ab9-9db0-b8e472c77955.543x362.jpg │ ├── one-line-of-code-elegantly-manages-windows-software │ ├── 10e48691-4213-40bc-be25-490c3ad8f2a8.975x545.jpg │ ├── 648799f7-6103-4319-98aa-9d411540506c.975x545.jpg │ ├── 82d8dfbf-919f-4f94-8e3d-09ec3dc24c5b.975x545.jpg │ ├── a9d45940-73cf-42aa-8781-7e65eb5dc6a6.975x545.jpg │ ├── ae417e5c-40eb-4401-a84f-43cc6db8c392.975x545.jpg │ ├── af78c7ba-7e0e-4982-9555-b114318a0581.975x545.jpg │ └── d8a55841-0bd4-4c4f-99de-8a763296afdf.975x545.jpg │ ├── say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell │ ├── 00225d13-2dfa-4272-8dd0-3db7eb307016.975x565.jpg │ ├── 0a5ab00a-0dec-4a53-9d74-4473ca695aed.975x565.jpg │ ├── 2e42ae46-bca1-468a-b468-99443cd47404.1161x672.jpg │ ├── 5558d397-4939-4383-8633-b3a8293a5261.675x661.jpg │ ├── 8feba270-6af8-4e87-9595-d17f39be06bd.975x565.jpg │ ├── a6efc193-c778-44d6-8562-85b1f056eed5.570x156.jpg │ ├── b93991c1-94d5-485c-ab7b-1ec8c9fd6c69.975x443.jpg │ ├── ba386069-dbc8-41f9-90ff-2dae50c16147.975x565.jpg │ ├── ce6af511-ca9c-437b-aec9-f7ffb70bf9d5.975x565.jpg │ └── ef106b87-2a12-4b4e-816d-4ef3c84f7e93.975x565.jpg │ ├── talk-about-eatwhatyoukill │ ├── 3301a38c-976c-446c-8b89-703b76c54823.691x119.jpg │ ├── 58136bf9-65ee-4ec5-b565-0dcea4315f6a.691x307.jpg │ └── b7666f9c-9a11-4ae8-8718-d5d1e7f8239d.710x260.jpg │ ├── talk-about-single-sign-on │ ├── 1fc90739-d6bb-4796-940c-da87eb2e24a7.425x418.jpg │ ├── 6f546af3-2340-4291-9124-155f9a8d6cf0.472x478.jpg │ ├── 9aebc89e-45ee-4a2e-8373-2dbb94674eef.516x800.jpg │ ├── cd9e6e5f-52fa-4307-b9d9-bc062e0f7ec4.1043x1074.jpg │ ├── e8c7bd9a-8e17-4492-88fb-6908e89cc015.659x1007.jpg │ └── e959a09f-1ba0-44a7-aba8-b528150cefa8.952x614.jpg │ ├── talk-about-the-status-quo-2020-09 │ └── 1d5325e0-9a28-4448-bc8f-4e2b3aa8841f.960x736.jpg │ ├── talk-about-writing-framework │ └── b53fa985-4ecc-48fc-b22f-428688c5fdbc.936x757.jpg │ ├── talking-about-bplus-tree │ ├── 031c8928-b788-4138-b780-6988b38e3a70.718x324.jpg │ └── 3eede2f8-27cb-4d27-8ed8-95bb8f3e20a9.975x340.jpg │ ├── talking-about-browser-event-loop │ ├── 2893c71b-90d9-4dfd-a494-1ce351916c9f.291x126.jpg │ └── 308e6df0-cd8a-414d-a1eb-39abd35fb132.586x280.jpg │ ├── talking-about-browser-render │ ├── 11c23d84-2350-402f-ad95-895a90ae8c74.770x839.png │ ├── 3a60bf29-fd4d-4da3-8b08-3065d64c6bdc.975x381.jpg │ ├── 40154c12-65e7-4a71-a336-62ef63e922c2.975x175.jpg │ ├── 511d55d5-a2d5-46c5-b0fd-ca8b3a111c4d.975x614.jpg │ ├── a10db461-0e0b-46f0-be97-8a16c38e9e91.835x446.jpg │ ├── bff23f1b-57d3-432a-bad3-ab2848b237e2.431x542.jpg │ ├── e296e00d-ba4f-42aa-848a-e414e4239829.802x489.jpg │ └── ef7ae084-1984-422c-8899-9c623f4155c6.551x372.jpg │ ├── talking-about-cache │ ├── 5121966a-8010-449a-8465-0677d4aa0cfd.569x621.jpg │ ├── 77916f18-856d-427b-a3c2-19873ecf23c1.521x614.jpg │ └── 809f6d73-5ee1-4245-bef8-6734d4173de2.521x611.jpg │ ├── talking-about-concurrency-basics │ └── 89119a17-8b56-4742-95e2-a9dafe1580b6.631x479.jpg │ ├── talking-about-concurrency-threadlocal │ └── f5c22dd3-3df1-468a-bdc3-54f1c99dd2b9.975x304.jpg │ ├── talking-about-concurrency-three-characteristics │ ├── 186e1b03-2b3d-49c9-a940-e4781d422f27.641x288.jpg │ ├── 3c142ebf-e790-4f3e-a65f-3c33428e001b.628x636.jpg │ └── 5804dce2-3bb1-4131-88cb-bbcaed1e9e8f.855x667.jpg │ ├── talking-about-concurrent-locks │ └── 0cdeeee2-bf0a-43f4-8ea9-b3a382aa0743.975x432.jpg │ ├── talking-about-concurrent-synchronized-and-reentrantlock │ ├── 10be287f-b272-4361-9493-9da41724a931.975x949.jpg │ ├── 250cb117-430f-445e-87bd-6a820ad2a56f.488x659.jpg │ ├── 3ed73081-e661-4120-ac8b-822fa3239c6f.975x1103.jpg │ ├── 7fe138f0-4511-4844-942f-ab200b91f519.975x292.jpg │ ├── de8489e7-80ea-4051-9bde-2ede16af17ae.761x212.jpg │ └── fe79a8de-4048-40fa-9ff9-272bfd0f6dd0.398x225.jpg │ ├── talking-about-garbage-collection │ ├── 1200f778-fae5-4e23-8d23-a6b51e2d76b0.914x243.jpg │ ├── 1b93c26b-b646-4080-8ad7-6b5cc540c6e9.423x161.jpg │ ├── 1ca13471-6324-41b7-855b-78a19a956565.803x187.jpg │ ├── 2f5dc7b2-faf5-42ad-84c0-b25906d34006.746x316.jpg │ ├── 52d695ec-b63c-4297-814d-42a906cdce90.896x294.jpg │ ├── 620f3592-6b19-4674-957d-ffd561277628.926x400.jpg │ ├── 682288a1-15c8-4e69-a1f9-9bb08e614a0f.766x314.jpg │ ├── 685e6ef1-caae-4249-9cff-80c114b25e5e.425x214.jpg │ ├── 6b3493c6-4b37-4408-9137-981372a4e894.1240x544.jpg │ ├── 6d406c64-a9d5-4f1b-9b28-47dbae99bf2b.247x244.jpg │ ├── a0d50591-ba6d-451c-ae6b-862e26c214f6.710x368.jpg │ ├── a4df7920-09db-46e9-a296-e99a7d3d7f89.875x283.jpg │ ├── a94baa27-d23f-424a-9378-52c0f22453dd.746x316.jpg │ ├── b96dc908-719b-40e9-b023-f551756581b2.921x299.jpg │ ├── ca675e49-3eab-4c2f-a69d-4bc5643c923d.825x542.jpg │ ├── d33149f9-4baa-4919-a4b7-1537209e4ee9.832x511.jpg │ ├── ed2dbd06-5842-4a80-9f42-92626d9af0dd.741x306.jpg │ ├── f4940f23-1262-43ee-98d1-36eff284c50a.617x376.jpg │ ├── f7e9cc4a-b48e-4990-b0a4-cf5012111c88.833x503.jpg │ └── f848d719-90f6-4eab-8095-4b80bbb61714.751x303.png │ ├── talking-about-io │ ├── 16b1c289-a523-4d45-b9c8-41d5a1f6381d.948x645.jpg │ ├── 203fc0e1-dcc2-4b02-8ee5-f1206505179f.975x606.jpg │ ├── 4fccc003-4b8c-43f4-92db-b74a696995e7.831x669.jpg │ ├── 5d9413f4-4efc-42d1-bc1e-0cef20e177b2.880x657.jpg │ ├── 6862938f-5ce7-45ec-a871-21a6eeb11268.865x564.jpg │ ├── 8c4152ab-ff07-40b0-81cd-21c073884757.557x413.jpg │ ├── 992324ce-51e2-4e8d-b3fa-e755da1a21fe.402x309.jpg │ ├── 9e458394-71c5-41b3-8960-6bd8d76cb425.975x468.jpg │ └── e7e8dcc9-e60d-414a-913c-91d46c5cb84a.723x424.jpg │ ├── talking-about-jvm-classloader │ ├── 010312d7-a0c7-4731-b72b-bb10f85f588c.662x112.jpg │ ├── b837ce5f-2ebb-4148-9dc1-031d8d6e45d0.491x409.jpg │ └── fe9599d2-4b1e-497e-bb6f-0569c4635b6f.587x402.jpg │ ├── talking-about-merged-annotation │ └── 8381e1c7-a40b-47c2-a2c4-912851d8d4aa.793x414.jpg │ ├── talking-about-proxy-and-aop │ ├── cba6bf3c-f433-469b-9eb8-53dcb4591a07.959x564.jpg │ ├── eca7d56a-e13c-4f6f-9de6-2a3b8806d928.688x556.jpg │ └── ed4af016-41a6-4cee-a428-d4f84e50588d.975x458.jpg │ ├── talking-about-skip-list │ ├── 30aea029-03f7-4379-aed3-e530f12ad283.975x189.jpg │ ├── 73bb37f0-6a78-4710-8046-3b428bc46ac1.975x208.jpg │ ├── 76327415-551c-4652-a2d1-f25edaf1f5c8.975x203.jpg │ ├── 91c27188-a379-4167-bd86-74520148dcda.975x142.jpg │ ├── cb0a8b0c-4b58-4194-aa24-831ed4d8b64f.975x274.jpg │ └── f63d447e-a72e-42fe-b15c-252f387ab57d.975x224.jpg │ ├── talking-about-type-erasure │ ├── 0423f7a1-c52c-4ddc-bd0e-0fbd584c675d.845x253.jpg │ ├── 33c4344c-1896-4e69-8b41-fb7a85e2c76a.894x289.jpg │ └── b8ec3047-6910-42af-b837-18cadce51705.866x547.jpg │ ├── vscode-acrylic │ ├── 162def46-075d-44be-a327-19814cb7948a.975x523.jpg │ ├── 830c86e5-6257-464e-a5fe-57d8ec407830.975x523.jpg │ └── b8336ce0-db93-4291-a002-9e11378f7109.975x523.jpg │ ├── vscode-configuration-java-gdb-debugging-environment-windows │ ├── 445ef0a6-e90b-4edb-bfbe-e5a66fedaa7c.800x413.jpg │ ├── 479b760b-11ca-4a56-91ae-f97f12d626c4.975x327.jpg │ ├── 521f4874-80e1-4009-9efc-6bdedd7452df.975x523.jpg │ ├── 6ebe988f-1810-4181-9743-18453c8ec918.770x228.jpg │ ├── 7cf49f9e-4741-4879-a259-a1a7413265eb.975x523.jpg │ ├── 92bcd898-9b75-40f5-856e-79f7e30ddf3f.623x252.jpg │ ├── b1e9e690-b4f0-44ee-9918-f52dad7a208e.734x413.jpg │ └── febe0858-9bf5-4cc8-9d2c-8b587fca730d.975x523.jpg │ ├── vscode-configuration-php-gdb-debugging-environment-windows │ ├── 0658a702-f312-4996-9bdd-cebec16d71dd.852x571.jpg │ ├── 0bde6720-9095-4dd4-b774-929d1a61897e.975x523.jpg │ ├── 5a7a9396-d3b1-402d-9471-fb1ff110c79a.975x523.jpg │ ├── 6e67f371-17c8-45bc-bca1-74af06110bc9.975x521.jpg │ ├── 77df43ba-ef39-40db-bfb4-f966357cb9ab.313x262.jpg │ ├── a152725d-70fa-4fbc-82c2-482f1e50bdb3.975x508.jpg │ ├── b188376f-4cfa-419c-b391-4397f5107ef4.975x523.jpg │ ├── b223401b-c693-4966-a758-fd803bacb67f.835x541.jpg │ ├── c74617fe-bd66-462d-a02f-86f9b30000d7.975x523.jpg │ ├── cfa26d47-c72c-4d82-98a4-e663d67d0337.975x523.jpg │ ├── e55243c5-63a3-4551-beb3-93cb26318fb2.888x382.jpg │ └── fe91955d-98fc-44e9-b9ac-b626792165d7.975x548.jpg │ ├── vscode-java-output-chinese-garbled-problem-solving │ ├── 26fe1026-3307-429a-a12a-6c2a93b215fb.606x309.jpg │ ├── 515b652c-ee23-4223-8041-76f4bf172640.626x482.jpg │ ├── 53b9eea0-0629-4a6c-8908-82ece98f06ea.679x261.jpg │ ├── a5b831fb-6908-4cab-a917-cae1519595d1.975x765.jpg │ └── be915c1c-ed38-4708-8512-338357fbb9d7.975x186.jpg │ ├── vue-cli2-project-migration-log │ ├── 53936521-0d1d-4491-ab77-57d58342f7ea.289x743.png │ └── 9fe94a2f-e936-47c0-acac-537fb582059a.302x600.png │ ├── wordpress-enabled-service-worker │ └── 4ab2a711-4ce1-4008-9dc0-8b4c6e22f9b3.975x475.jpg │ ├── writing-spring-tests-with-kotlin │ └── 15be6816-8448-4aa4-8726-2d3046466d4a.1024x844.jpg │ ├── wsl-2-recording │ ├── 56293883-075e-48ab-b427-f156845ca906.975x326.jpg │ ├── 8043b3b4-45ef-4572-b314-a634078af0a8.975x578.jpg │ ├── 9b64207b-588b-4646-8609-6dea3541762b.975x578.jpg │ ├── d5388e77-5047-4412-843a-3deff55eac11.975x505.jpg │ └── f07f9ec0-cabb-4c37-8184-c99febddc2fd.975x578.jpg │ ├── xkeditor │ ├── 28907719-a1f2-42fc-8bd6-b46459d48ebe.975x457.jpg │ └── 8d1b3502-a349-4999-ac92-d0db53583c70.975x458.jpg │ └── xknote │ ├── 3068876b-d515-4fa7-b047-3b2f0db2728f.975x476.jpg │ ├── 313ebb9c-e2a4-4b42-b556-4881c3865d04.975x476.jpg │ ├── 4a8a0838-636b-4039-929c-8a9ced22c36a.975x476.jpg │ └── e670f590-354b-47ad-9c4a-5cbf60139944.975x476.jpg ├── renovate.json ├── src ├── adapters │ ├── adapter.ts │ ├── github-adapter.ts │ ├── scraper-adapter.ts │ └── use-adapter.ts ├── app │ ├── (admin) │ │ ├── api │ │ │ └── keystatic │ │ │ │ └── [...params] │ │ │ │ └── route.ts │ │ └── keystatic │ │ │ ├── [[...params]] │ │ │ └── page.tsx │ │ │ ├── keystatic.tsx │ │ │ └── layout.tsx │ ├── (group) │ │ ├── archive │ │ │ └── [slug] │ │ │ │ ├── page.tsx │ │ │ │ └── page │ │ │ │ └── [index] │ │ │ │ └── page.tsx │ │ ├── archives │ │ │ └── page.tsx │ │ ├── category │ │ │ └── [slug] │ │ │ │ ├── page.tsx │ │ │ │ └── page │ │ │ │ └── [index] │ │ │ │ └── page.tsx │ │ └── tag │ │ │ └── [slug] │ │ │ ├── page.tsx │ │ │ └── page │ │ │ └── [index] │ │ │ └── page.tsx │ ├── (home) │ │ ├── page.tsx │ │ └── page │ │ │ └── [index] │ │ │ └── page.tsx │ ├── (metadata) │ │ ├── manifest.json │ │ │ └── route.ts │ │ ├── robots.ts │ │ ├── rss.xml │ │ │ └── route.ts │ │ └── sitemap.ts │ ├── (page) │ │ └── [slug] │ │ │ └── page.tsx │ ├── (post) │ │ └── post │ │ │ └── [slug] │ │ │ └── page.tsx │ ├── (special) │ │ ├── links │ │ │ └── page.tsx │ │ └── projects │ │ │ └── page.tsx │ ├── api │ │ ├── github │ │ │ └── route.ts │ │ ├── scraper │ │ │ └── route.ts │ │ └── search │ │ │ └── route.ts │ ├── error.tsx │ ├── global-error.tsx │ ├── layout.tsx │ └── not-found.tsx ├── components │ ├── docs │ │ ├── article │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── inner.tsx │ │ │ ├── preview.tsx │ │ │ └── styles.css.ts │ │ ├── articles │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── preview.tsx │ │ │ └── styles.css.ts │ │ ├── blockquote │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── code │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── divider │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── github │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── inner.tsx │ │ │ ├── preview.tsx │ │ │ └── styles.css.ts │ │ ├── heading │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── image │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── index.tsx │ │ ├── inline-code │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── katex │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── preview.tsx │ │ │ └── styles.css.ts │ │ ├── layout │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── link │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── list │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── message │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── preview.tsx │ │ │ └── styles.css.ts │ │ ├── paragraph │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── styles.css.ts │ │ └── table │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ ├── layouts │ │ ├── article-info │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── error-found │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── footer │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── grid │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── header │ │ │ ├── blog.tsx │ │ │ ├── index.tsx │ │ │ ├── link.tsx │ │ │ ├── menu.tsx │ │ │ ├── search.tsx │ │ │ ├── styles.css.ts │ │ │ └── theme.tsx │ │ ├── hero │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── main │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── meta-info │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── root │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── metadata.ts │ │ │ └── styles.tsx │ │ └── title │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ ├── root │ │ ├── analytics │ │ │ └── index.tsx │ │ ├── canvas │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── hello-world │ │ │ └── index.tsx │ │ ├── progress-bar │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ └── spotlight │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ ├── templates │ │ ├── articles │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── group │ │ │ └── index.tsx │ │ ├── page │ │ │ ├── default.tsx │ │ │ └── index.tsx │ │ └── template │ │ │ └── index.tsx │ ├── ui │ │ ├── aspect-ratio │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── button │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── client-only │ │ │ └── ClientOnly.tsx │ │ ├── divider │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── iconify │ │ │ ├── client.tsx │ │ │ ├── index.tsx │ │ │ ├── query.ts │ │ │ └── styles.css.ts │ │ ├── image │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── link │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── loading │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ ├── pagination │ │ │ ├── index.tsx │ │ │ └── styles.css.ts │ │ └── tippy │ │ │ └── index.tsx │ └── widgets │ │ ├── artalk │ │ ├── index.tsx │ │ └── styles.css.ts │ │ ├── copyright │ │ ├── index.tsx │ │ └── styles.css.ts │ │ ├── friends │ │ ├── index.tsx │ │ └── styles.css.ts │ │ ├── projects │ │ ├── index.tsx │ │ └── styles.css.ts │ │ └── toc │ │ ├── index.tsx │ │ └── styles.css.ts ├── contents │ ├── fetcher.ts │ ├── index.ts │ ├── reader.ts │ ├── searcher.ts │ ├── slugger.ts │ └── types.ts ├── env │ ├── private.d.ts │ ├── private.mjs │ ├── public.d.ts │ └── public.mjs ├── hooks │ ├── use-intersection-observer.ts │ └── use-is-client.ts ├── locales │ ├── en.ts │ ├── index.ts │ ├── zh-hans.ts │ └── zh-hant.ts ├── theme │ ├── global.css.ts │ ├── providers.tsx │ ├── theme.css.ts │ └── tokens.ts ├── types │ └── global.d.ts └── utils │ ├── canvas.ts │ └── vender.ts └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/deploy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/.github/workflows/deploy.yaml -------------------------------------------------------------------------------- /.github/workflows/sync.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/.github/workflows/sync.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/README.md -------------------------------------------------------------------------------- /depker.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/depker.config.ts -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/eslint.config.js -------------------------------------------------------------------------------- /keystatic.config.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/keystatic.config.tsx -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /public/content/config/author.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/author.yaml -------------------------------------------------------------------------------- /public/content/config/footer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/footer.yaml -------------------------------------------------------------------------------- /public/content/config/friends.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/friends.yaml -------------------------------------------------------------------------------- /public/content/config/friends/content.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/friends/content.mdoc -------------------------------------------------------------------------------- /public/content/config/header.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/header.yaml -------------------------------------------------------------------------------- /public/content/config/home.yaml: -------------------------------------------------------------------------------- 1 | display: document 2 | -------------------------------------------------------------------------------- /public/content/config/home/content.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/home/content.mdoc -------------------------------------------------------------------------------- /public/content/config/license.yaml: -------------------------------------------------------------------------------- 1 | name: BY-NC-SA 2 | link: https://creativecommons.org/licenses/by-nc-sa/4.0/ 3 | -------------------------------------------------------------------------------- /public/content/config/projects.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/projects.yaml -------------------------------------------------------------------------------- /public/content/config/projects/content.mdoc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/content/config/seo.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/config/seo.yaml -------------------------------------------------------------------------------- /public/content/pages/about/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/pages/about/index.mdoc -------------------------------------------------------------------------------- /public/content/pages/links-application/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/pages/links-application/index.mdoc -------------------------------------------------------------------------------- /public/content/pages/message-board/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/pages/message-board/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/ace-editor-sets-inertial-scrolling/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/ace-editor-sets-inertial-scrolling/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/add-simple-store-for-react/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/add-simple-store-for-react/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/add-simple-store-for-vue/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/add-simple-store-for-vue/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/add-simple-store-for-vue3/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/add-simple-store-for-vue3/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/add-sync-action-for-vuex/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/add-sync-action-for-vuex/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/algorithm-complexity-analysis-1/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/algorithm-complexity-analysis-1/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/bing-daily-picture-api/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/bing-daily-picture-api/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/blog-comment-rules/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/blog-comment-rules/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-bubble-sort/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-bubble-sort/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-insert-sort/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-insert-sort/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-linked-list-implementation-new/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-linked-list-implementation-new/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-linked-list-implementation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-linked-list-implementation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-merge-sort/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-merge-sort/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-quick-sort/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-quick-sort/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/c-select-sort/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/c-select-sort/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/definition-and-use-of-the-c-struct/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/definition-and-use-of-the-c-struct/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/design-pattern-series-articles/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/design-pattern-series-articles/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/graph-search-bfs-dfs/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/graph-search-bfs-dfs/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/hello-world/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/hello-world/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/http-series-articles/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/http-series-articles/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/iframe-lazy-loading/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/iframe-lazy-loading/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-java-microframework-from-zero-1/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-java-microframework-from-zero-1/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-java-microframework-from-zero-2/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-java-microframework-from-zero-2/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-1/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-1/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-2/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-2/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-3/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-3/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-4/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-4/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-5/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-5/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/implement-a-php-microframework-from-zero-6/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/implement-a-php-microframework-from-zero-6/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/intel-optane-experience/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/intel-optane-experience/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/java-binary-tree-implementation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/java-binary-tree-implementation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/java-graph-implementation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/java-graph-implementation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/java-linked-list-implementation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/java-linked-list-implementation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/java-series-articles/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/java-series-articles/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/js-generate-list-tree/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/js-generate-list-tree/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/laragon-scoop-integrated-pit-logging/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/laragon-scoop-integrated-pit-logging/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/laravel-generating-directory-tree/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/laravel-generating-directory-tree/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/middleware-implementation-with-php/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/middleware-implementation-with-php/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/mvvm-simple-implementation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/mvvm-simple-implementation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-2020-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-2020-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-2021-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-2021-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-2022-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-2022-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-2023-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-2023-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-blog-2017-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-blog-2017-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-blog-2018-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-blog-2018-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/my-blog-2019-year-end-summary/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/my-blog-2019-year-end-summary/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/mysql-dual-hot-backup/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/mysql-dual-hot-backup/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/mysql-transaction-isolation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/mysql-transaction-isolation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/one-line-of-code-elegantly-manages-windows-software/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/one-line-of-code-elegantly-manages-windows-software/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/one-year-record/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/one-year-record/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/php-gd-generates-verification-code/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/php-gd-generates-verification-code/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/php-gd-image-processing/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/php-gd-image-processing/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/recompilation-of-nginx-installed-for-apt-mode-adds-webdav/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/recompilation-of-nginx-installed-for-apt-mode-adds-webdav/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/spring-quickly-inject-json-parameters/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/spring-quickly-inject-json-parameters/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/summary-of-experience-over-the-past-year/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/summary-of-experience-over-the-past-year/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talk-about-eatwhatyoukill/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talk-about-eatwhatyoukill/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talk-about-scalable-thread-pool/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talk-about-scalable-thread-pool/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talk-about-single-sign-on/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talk-about-single-sign-on/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talk-about-the-status-quo-2020-09/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talk-about-the-status-quo-2020-09/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talk-about-writing-framework/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talk-about-writing-framework/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-bplus-tree/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-bplus-tree/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-browser-event-loop/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-browser-event-loop/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-browser-render/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-browser-render/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-cache/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-cache/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrency-basics/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrency-basics/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrency-threadlocal/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrency-threadlocal/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrency-three-characteristics/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrency-three-characteristics/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrent-cas-and-aqs/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrent-cas-and-aqs/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrent-locks/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrent-locks/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-concurrent-synchronized-and-reentrantlock/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-concurrent-synchronized-and-reentrantlock/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-database-index/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-database-index/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-di-and-ioc/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-di-and-ioc/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-garbage-collection/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-garbage-collection/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-io/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-io/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-jvm-classloader/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-jvm-classloader/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-merged-annotation/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-merged-annotation/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-proxy-and-aop/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-proxy-and-aop/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-skip-list/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-skip-list/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/talking-about-type-erasure/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/talking-about-type-erasure/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/the-fox-theme-chinese-share/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/the-fox-theme-chinese-share/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/theme-origami/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/theme-origami/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-acrylic/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-acrylic/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-configuration-c-cpp-gdb-debugging-environment-windows/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-configuration-c-cpp-gdb-debugging-environment-windows/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-configuration-java-gdb-debugging-environment-windows/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-configuration-java-gdb-debugging-environment-windows/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-configuration-php-gdb-debugging-environment-windows/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-configuration-php-gdb-debugging-environment-windows/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-java-manually-imports-jar-and-source-package/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-java-manually-imports-jar-and-source-package/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vscode-java-output-chinese-garbled-problem-solving/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vscode-java-output-chinese-garbled-problem-solving/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/vue-cli2-project-migration-log/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/vue-cli2-project-migration-log/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/windows-ip-changes-to-automatically-send-mail/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/windows-ip-changes-to-automatically-send-mail/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/wordpress-enabled-service-worker/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/wordpress-enabled-service-worker/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/wordpress-enabled-workbox/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/wordpress-enabled-workbox/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/wordpress-links-template/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/wordpress-links-template/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/writing-spring-tests-with-kotlin/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/writing-spring-tests-with-kotlin/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/written-before-the-2018-college-entrance-examination/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/written-before-the-2018-college-entrance-examination/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/wsl-2-recording/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/wsl-2-recording/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/xkeditor/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/xkeditor/index.mdoc -------------------------------------------------------------------------------- /public/content/posts/xknote/index.mdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/content/posts/xknote/index.mdoc -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/image/config/author/avatar.400x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/author/avatar.400x400.png -------------------------------------------------------------------------------- /public/image/config/friends/links/0/avatar.640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/0/avatar.640x640.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/1/avatar.160x160.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/1/avatar.160x160.png -------------------------------------------------------------------------------- /public/image/config/friends/links/10/avatar.500x500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/10/avatar.500x500.png -------------------------------------------------------------------------------- /public/image/config/friends/links/11/avatar.140x140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/11/avatar.140x140.png -------------------------------------------------------------------------------- /public/image/config/friends/links/12/avatar.700x700.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/12/avatar.700x700.png -------------------------------------------------------------------------------- /public/image/config/friends/links/13/avatar.270x270.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/13/avatar.270x270.png -------------------------------------------------------------------------------- /public/image/config/friends/links/14/avatar.128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/14/avatar.128x128.png -------------------------------------------------------------------------------- /public/image/config/friends/links/15/avatar.800x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/15/avatar.800x800.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/16/avatar.959x960.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/16/avatar.959x960.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/17/avatar.640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/17/avatar.640x640.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/18/avatar.530x530.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/18/avatar.530x530.png -------------------------------------------------------------------------------- /public/image/config/friends/links/19/avatar.512x388.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/19/avatar.512x388.png -------------------------------------------------------------------------------- /public/image/config/friends/links/2/avatar.120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/2/avatar.120x120.png -------------------------------------------------------------------------------- /public/image/config/friends/links/20/avatar.320x320.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/20/avatar.320x320.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/21/avatar.700x700.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/21/avatar.700x700.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/22/avatar.400x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/22/avatar.400x400.png -------------------------------------------------------------------------------- /public/image/config/friends/links/23/avatar.640x638.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/23/avatar.640x638.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/24/avatar.402x402.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/24/avatar.402x402.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/25/avatar.1247x1280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/25/avatar.1247x1280.png -------------------------------------------------------------------------------- /public/image/config/friends/links/26/avatar.960x960.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/26/avatar.960x960.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/27/avatar.640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/27/avatar.640x640.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/28/avatar.1893x1594.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/28/avatar.1893x1594.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/29/avatar.640x640.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/29/avatar.640x640.png -------------------------------------------------------------------------------- /public/image/config/friends/links/3/avatar.750x750.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/3/avatar.750x750.png -------------------------------------------------------------------------------- /public/image/config/friends/links/30/avatar.1558x1556.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/30/avatar.1558x1556.png -------------------------------------------------------------------------------- /public/image/config/friends/links/31/avatar.1600x1600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/31/avatar.1600x1600.jpg -------------------------------------------------------------------------------- /public/image/config/friends/links/32/avatar.640x640.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/32/avatar.640x640.png -------------------------------------------------------------------------------- /public/image/config/friends/links/33/avatar.640x640.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/33/avatar.640x640.png -------------------------------------------------------------------------------- /public/image/config/friends/links/34/avatar.500x500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/34/avatar.500x500.png -------------------------------------------------------------------------------- /public/image/config/friends/links/35/avatar.240x240.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/35/avatar.240x240.jpeg -------------------------------------------------------------------------------- /public/image/config/friends/links/4/avatar.360x354.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/4/avatar.360x354.png -------------------------------------------------------------------------------- /public/image/config/friends/links/5/avatar.512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/5/avatar.512x512.png -------------------------------------------------------------------------------- /public/image/config/friends/links/6/avatar.661x661.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/6/avatar.661x661.png -------------------------------------------------------------------------------- /public/image/config/friends/links/7/avatar.640x640.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/7/avatar.640x640.png -------------------------------------------------------------------------------- /public/image/config/friends/links/8/avatar.256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/8/avatar.256x256.png -------------------------------------------------------------------------------- /public/image/config/friends/links/9/avatar.256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/friends/links/9/avatar.256x256.png -------------------------------------------------------------------------------- /public/image/config/seo/logo.400x400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/config/seo/logo.400x400.jpg -------------------------------------------------------------------------------- /public/image/pages/about/091c3c48-a260-4962-9393-83b07e93ad5f.1089x1089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/pages/about/091c3c48-a260-4962-9393-83b07e93ad5f.1089x1089.png -------------------------------------------------------------------------------- /public/image/pages/about/e6cd1fca-6578-4ab9-9f93-239f7e26f97a.1080x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/pages/about/e6cd1fca-6578-4ab9-9f93-239f7e26f97a.1080x1080.png -------------------------------------------------------------------------------- /public/image/posts/algorithm-complexity-analysis-1/6ac78212-125a-46af-8cc1-f1045c7aff5a.699x223.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/algorithm-complexity-analysis-1/6ac78212-125a-46af-8cc1-f1045c7aff5a.699x223.jpg -------------------------------------------------------------------------------- /public/image/posts/implement-a-java-microframework-from-zero-1/63a92cf8-d4b7-4875-88ca-6a4bf491dd2c.866x527.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/implement-a-java-microframework-from-zero-1/63a92cf8-d4b7-4875-88ca-6a4bf491dd2c.866x527.jpg -------------------------------------------------------------------------------- /public/image/posts/implement-a-php-microframework-from-zero-1/e748d64a-60a6-4bd9-b36e-540586180c31.975x764.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/implement-a-php-microframework-from-zero-1/e748d64a-60a6-4bd9-b36e-540586180c31.975x764.jpg -------------------------------------------------------------------------------- /public/image/posts/implement-a-php-microframework-from-zero-2/4cd64103-63dd-4ca6-aae1-45d11aa12dd9.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/implement-a-php-microframework-from-zero-2/4cd64103-63dd-4ca6-aae1-45d11aa12dd9.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/implement-a-php-microframework-from-zero-3/eb82605c-82fd-47b7-b015-18abda0f8c3a.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/implement-a-php-microframework-from-zero-3/eb82605c-82fd-47b7-b015-18abda0f8c3a.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/implement-a-php-microframework-from-zero-4/e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/implement-a-php-microframework-from-zero-4/e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg -------------------------------------------------------------------------------- /public/image/posts/js-generate-list-tree/f6fd99d9-097d-4b47-959c-6a9acfa51865.933x784.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/js-generate-list-tree/f6fd99d9-097d-4b47-959c-6a9acfa51865.933x784.jpg -------------------------------------------------------------------------------- /public/image/posts/js-generate-list-tree/fb871850-ce81-4ec8-a9e6-3460d85edfb1.722x861.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/js-generate-list-tree/fb871850-ce81-4ec8-a9e6-3460d85edfb1.722x861.jpg -------------------------------------------------------------------------------- /public/image/posts/laravel-generating-directory-tree/f4f040b4-b7a2-44d0-9a12-16d95be754dd.339x446.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/laravel-generating-directory-tree/f4f040b4-b7a2-44d0-9a12-16d95be754dd.339x446.jpg -------------------------------------------------------------------------------- /public/image/posts/middleware-implementation-with-php/2752770a-2c5b-41dc-96d6-75cff97a7286.975x432.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/middleware-implementation-with-php/2752770a-2c5b-41dc-96d6-75cff97a7286.975x432.jpg -------------------------------------------------------------------------------- /public/image/posts/mvvm-simple-implementation/493facdd-0059-4bbf-af03-6204af8d62f5.903x779.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mvvm-simple-implementation/493facdd-0059-4bbf-af03-6204af8d62f5.903x779.jpg -------------------------------------------------------------------------------- /public/image/posts/mvvm-simple-implementation/f3a4b197-fca4-45d0-beb2-78c7169f41b9.898x370.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mvvm-simple-implementation/f3a4b197-fca4-45d0-beb2-78c7169f41b9.898x370.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2020-year-end-summary/e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2020-year-end-summary/e136b35d-29d6-4094-96c7-b47bc7af0816.66x55.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/2022-ga.1175x809.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/2022-ga.1175x809.png -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/blog-on-k8s.2048x2032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/blog-on-k8s.2048x2032.png -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/friends.456x162.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/friends.456x162.png -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/pxl_20220910_123053223.mp.3280x2464.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/pxl_20220910_123053223.mp.3280x2464.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/pxl_20220910_123420493.4000x3000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/pxl_20220910_123420493.4000x3000.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/pxl_20220910_154933115.3000x4000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/pxl_20220910_154933115.3000x4000.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/pxl_20220910_155223555.4000x1785.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/pxl_20220910_155223555.4000x1785.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2022-year-end-summary/pxl_20221231_181531167.4000x3000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2022-year-end-summary/pxl_20221231_181531167.4000x3000.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/IMG_20230502_163337278.4096x3072.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/IMG_20230502_163337278.4096x3072.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/IMG_20230502_174413285.8192x6144.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/IMG_20230502_174413285.8192x6144.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/IMG_20231231_222544024.3337x2503.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/IMG_20231231_222544024.3337x2503.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_0080.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_0080.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_0372.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_0372.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_0948.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_0948.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1164.1920x1440.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1164.1920x1440.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1192.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1192.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1784.1920x1080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1784.1920x1080.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1787.1920x1080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1787.1920x1080.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1821.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1821.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_1848.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_1848.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3005.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3005.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3008.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3008.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3348.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3348.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3643.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3643.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3707.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3707.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3724.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3724.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3814.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3814.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3977.1920x1280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3977.1920x1280.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_3979.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_3979.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_4086.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_4086.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_4186.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_4186.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_4187.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_4187.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_4189.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_4189.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/ZFC_4193.1280x1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/ZFC_4193.1280x1920.jpg -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/mmexport1686407203500.1920x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/mmexport1686407203500.1920x1080.png -------------------------------------------------------------------------------- /public/image/posts/my-2023-year-end-summary/mmexport1686407572960.1920x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/my-2023-year-end-summary/mmexport1686407572960.1920x1080.png -------------------------------------------------------------------------------- /public/image/posts/mysql-dual-hot-backup/32d342bc-224d-419e-a17a-ed0b23b958b9.757x121.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mysql-dual-hot-backup/32d342bc-224d-419e-a17a-ed0b23b958b9.757x121.jpg -------------------------------------------------------------------------------- /public/image/posts/mysql-dual-hot-backup/34c3df0d-6cf8-4565-af3a-c11fcdea23fa.570x156.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mysql-dual-hot-backup/34c3df0d-6cf8-4565-af3a-c11fcdea23fa.570x156.jpg -------------------------------------------------------------------------------- /public/image/posts/mysql-dual-hot-backup/39bb3d70-0cd6-4646-9aff-e2363dbd4cc4.277x45.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mysql-dual-hot-backup/39bb3d70-0cd6-4646-9aff-e2363dbd4cc4.277x45.jpg -------------------------------------------------------------------------------- /public/image/posts/mysql-dual-hot-backup/99a909f9-bdad-4b34-ad61-cafed394bbd6.469x120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mysql-dual-hot-backup/99a909f9-bdad-4b34-ad61-cafed394bbd6.469x120.jpg -------------------------------------------------------------------------------- /public/image/posts/mysql-dual-hot-backup/cc1c6dc1-f567-4ab9-9db0-b8e472c77955.543x362.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/mysql-dual-hot-backup/cc1c6dc1-f567-4ab9-9db0-b8e472c77955.543x362.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/10e48691-4213-40bc-be25-490c3ad8f2a8.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/10e48691-4213-40bc-be25-490c3ad8f2a8.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/648799f7-6103-4319-98aa-9d411540506c.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/648799f7-6103-4319-98aa-9d411540506c.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/82d8dfbf-919f-4f94-8e3d-09ec3dc24c5b.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/82d8dfbf-919f-4f94-8e3d-09ec3dc24c5b.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/a9d45940-73cf-42aa-8781-7e65eb5dc6a6.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/a9d45940-73cf-42aa-8781-7e65eb5dc6a6.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/ae417e5c-40eb-4401-a84f-43cc6db8c392.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/ae417e5c-40eb-4401-a84f-43cc6db8c392.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/af78c7ba-7e0e-4982-9555-b114318a0581.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/af78c7ba-7e0e-4982-9555-b114318a0581.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/one-line-of-code-elegantly-manages-windows-software/d8a55841-0bd4-4c4f-99de-8a763296afdf.975x545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/one-line-of-code-elegantly-manages-windows-software/d8a55841-0bd4-4c4f-99de-8a763296afdf.975x545.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/00225d13-2dfa-4272-8dd0-3db7eb307016.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/00225d13-2dfa-4272-8dd0-3db7eb307016.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/0a5ab00a-0dec-4a53-9d74-4473ca695aed.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/0a5ab00a-0dec-4a53-9d74-4473ca695aed.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/2e42ae46-bca1-468a-b468-99443cd47404.1161x672.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/2e42ae46-bca1-468a-b468-99443cd47404.1161x672.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/5558d397-4939-4383-8633-b3a8293a5261.675x661.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/5558d397-4939-4383-8633-b3a8293a5261.675x661.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/8feba270-6af8-4e87-9595-d17f39be06bd.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/8feba270-6af8-4e87-9595-d17f39be06bd.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/a6efc193-c778-44d6-8562-85b1f056eed5.570x156.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/a6efc193-c778-44d6-8562-85b1f056eed5.570x156.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/b93991c1-94d5-485c-ab7b-1ec8c9fd6c69.975x443.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/b93991c1-94d5-485c-ab7b-1ec8c9fd6c69.975x443.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ba386069-dbc8-41f9-90ff-2dae50c16147.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ba386069-dbc8-41f9-90ff-2dae50c16147.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ce6af511-ca9c-437b-aec9-f7ffb70bf9d5.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ce6af511-ca9c-437b-aec9-f7ffb70bf9d5.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ef106b87-2a12-4b4e-816d-4ef3c84f7e93.975x565.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/say-goodbye-to-the-ugly-and-hard-to-use-windows-terminal-and-build-a-good-powershell/ef106b87-2a12-4b4e-816d-4ef3c84f7e93.975x565.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-eatwhatyoukill/3301a38c-976c-446c-8b89-703b76c54823.691x119.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-eatwhatyoukill/3301a38c-976c-446c-8b89-703b76c54823.691x119.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-eatwhatyoukill/58136bf9-65ee-4ec5-b565-0dcea4315f6a.691x307.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-eatwhatyoukill/58136bf9-65ee-4ec5-b565-0dcea4315f6a.691x307.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-eatwhatyoukill/b7666f9c-9a11-4ae8-8718-d5d1e7f8239d.710x260.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-eatwhatyoukill/b7666f9c-9a11-4ae8-8718-d5d1e7f8239d.710x260.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/1fc90739-d6bb-4796-940c-da87eb2e24a7.425x418.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/1fc90739-d6bb-4796-940c-da87eb2e24a7.425x418.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/6f546af3-2340-4291-9124-155f9a8d6cf0.472x478.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/6f546af3-2340-4291-9124-155f9a8d6cf0.472x478.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/9aebc89e-45ee-4a2e-8373-2dbb94674eef.516x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/9aebc89e-45ee-4a2e-8373-2dbb94674eef.516x800.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/cd9e6e5f-52fa-4307-b9d9-bc062e0f7ec4.1043x1074.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/cd9e6e5f-52fa-4307-b9d9-bc062e0f7ec4.1043x1074.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/e8c7bd9a-8e17-4492-88fb-6908e89cc015.659x1007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/e8c7bd9a-8e17-4492-88fb-6908e89cc015.659x1007.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-single-sign-on/e959a09f-1ba0-44a7-aba8-b528150cefa8.952x614.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-single-sign-on/e959a09f-1ba0-44a7-aba8-b528150cefa8.952x614.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-the-status-quo-2020-09/1d5325e0-9a28-4448-bc8f-4e2b3aa8841f.960x736.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-the-status-quo-2020-09/1d5325e0-9a28-4448-bc8f-4e2b3aa8841f.960x736.jpg -------------------------------------------------------------------------------- /public/image/posts/talk-about-writing-framework/b53fa985-4ecc-48fc-b22f-428688c5fdbc.936x757.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talk-about-writing-framework/b53fa985-4ecc-48fc-b22f-428688c5fdbc.936x757.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-bplus-tree/031c8928-b788-4138-b780-6988b38e3a70.718x324.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-bplus-tree/031c8928-b788-4138-b780-6988b38e3a70.718x324.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-bplus-tree/3eede2f8-27cb-4d27-8ed8-95bb8f3e20a9.975x340.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-bplus-tree/3eede2f8-27cb-4d27-8ed8-95bb8f3e20a9.975x340.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-event-loop/2893c71b-90d9-4dfd-a494-1ce351916c9f.291x126.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-event-loop/2893c71b-90d9-4dfd-a494-1ce351916c9f.291x126.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-event-loop/308e6df0-cd8a-414d-a1eb-39abd35fb132.586x280.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-event-loop/308e6df0-cd8a-414d-a1eb-39abd35fb132.586x280.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/11c23d84-2350-402f-ad95-895a90ae8c74.770x839.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/11c23d84-2350-402f-ad95-895a90ae8c74.770x839.png -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/3a60bf29-fd4d-4da3-8b08-3065d64c6bdc.975x381.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/3a60bf29-fd4d-4da3-8b08-3065d64c6bdc.975x381.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/40154c12-65e7-4a71-a336-62ef63e922c2.975x175.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/40154c12-65e7-4a71-a336-62ef63e922c2.975x175.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/511d55d5-a2d5-46c5-b0fd-ca8b3a111c4d.975x614.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/511d55d5-a2d5-46c5-b0fd-ca8b3a111c4d.975x614.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/a10db461-0e0b-46f0-be97-8a16c38e9e91.835x446.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/a10db461-0e0b-46f0-be97-8a16c38e9e91.835x446.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/bff23f1b-57d3-432a-bad3-ab2848b237e2.431x542.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/bff23f1b-57d3-432a-bad3-ab2848b237e2.431x542.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/e296e00d-ba4f-42aa-848a-e414e4239829.802x489.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/e296e00d-ba4f-42aa-848a-e414e4239829.802x489.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-browser-render/ef7ae084-1984-422c-8899-9c623f4155c6.551x372.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-browser-render/ef7ae084-1984-422c-8899-9c623f4155c6.551x372.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-cache/5121966a-8010-449a-8465-0677d4aa0cfd.569x621.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-cache/5121966a-8010-449a-8465-0677d4aa0cfd.569x621.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-cache/77916f18-856d-427b-a3c2-19873ecf23c1.521x614.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-cache/77916f18-856d-427b-a3c2-19873ecf23c1.521x614.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-cache/809f6d73-5ee1-4245-bef8-6734d4173de2.521x611.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-cache/809f6d73-5ee1-4245-bef8-6734d4173de2.521x611.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrency-basics/89119a17-8b56-4742-95e2-a9dafe1580b6.631x479.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrency-basics/89119a17-8b56-4742-95e2-a9dafe1580b6.631x479.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrency-threadlocal/f5c22dd3-3df1-468a-bdc3-54f1c99dd2b9.975x304.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrency-threadlocal/f5c22dd3-3df1-468a-bdc3-54f1c99dd2b9.975x304.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrency-three-characteristics/186e1b03-2b3d-49c9-a940-e4781d422f27.641x288.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrency-three-characteristics/186e1b03-2b3d-49c9-a940-e4781d422f27.641x288.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrency-three-characteristics/3c142ebf-e790-4f3e-a65f-3c33428e001b.628x636.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrency-three-characteristics/3c142ebf-e790-4f3e-a65f-3c33428e001b.628x636.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrency-three-characteristics/5804dce2-3bb1-4131-88cb-bbcaed1e9e8f.855x667.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrency-three-characteristics/5804dce2-3bb1-4131-88cb-bbcaed1e9e8f.855x667.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-locks/0cdeeee2-bf0a-43f4-8ea9-b3a382aa0743.975x432.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-locks/0cdeeee2-bf0a-43f4-8ea9-b3a382aa0743.975x432.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/10be287f-b272-4361-9493-9da41724a931.975x949.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/10be287f-b272-4361-9493-9da41724a931.975x949.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/250cb117-430f-445e-87bd-6a820ad2a56f.488x659.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/250cb117-430f-445e-87bd-6a820ad2a56f.488x659.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/3ed73081-e661-4120-ac8b-822fa3239c6f.975x1103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/3ed73081-e661-4120-ac8b-822fa3239c6f.975x1103.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/7fe138f0-4511-4844-942f-ab200b91f519.975x292.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/7fe138f0-4511-4844-942f-ab200b91f519.975x292.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/de8489e7-80ea-4051-9bde-2ede16af17ae.761x212.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/de8489e7-80ea-4051-9bde-2ede16af17ae.761x212.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/fe79a8de-4048-40fa-9ff9-272bfd0f6dd0.398x225.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-concurrent-synchronized-and-reentrantlock/fe79a8de-4048-40fa-9ff9-272bfd0f6dd0.398x225.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/1200f778-fae5-4e23-8d23-a6b51e2d76b0.914x243.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/1200f778-fae5-4e23-8d23-a6b51e2d76b0.914x243.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/1b93c26b-b646-4080-8ad7-6b5cc540c6e9.423x161.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/1b93c26b-b646-4080-8ad7-6b5cc540c6e9.423x161.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/1ca13471-6324-41b7-855b-78a19a956565.803x187.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/1ca13471-6324-41b7-855b-78a19a956565.803x187.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/2f5dc7b2-faf5-42ad-84c0-b25906d34006.746x316.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/2f5dc7b2-faf5-42ad-84c0-b25906d34006.746x316.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/52d695ec-b63c-4297-814d-42a906cdce90.896x294.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/52d695ec-b63c-4297-814d-42a906cdce90.896x294.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/620f3592-6b19-4674-957d-ffd561277628.926x400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/620f3592-6b19-4674-957d-ffd561277628.926x400.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/682288a1-15c8-4e69-a1f9-9bb08e614a0f.766x314.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/682288a1-15c8-4e69-a1f9-9bb08e614a0f.766x314.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/685e6ef1-caae-4249-9cff-80c114b25e5e.425x214.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/685e6ef1-caae-4249-9cff-80c114b25e5e.425x214.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/6b3493c6-4b37-4408-9137-981372a4e894.1240x544.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/6b3493c6-4b37-4408-9137-981372a4e894.1240x544.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/6d406c64-a9d5-4f1b-9b28-47dbae99bf2b.247x244.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/6d406c64-a9d5-4f1b-9b28-47dbae99bf2b.247x244.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/a0d50591-ba6d-451c-ae6b-862e26c214f6.710x368.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/a0d50591-ba6d-451c-ae6b-862e26c214f6.710x368.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/a4df7920-09db-46e9-a296-e99a7d3d7f89.875x283.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/a4df7920-09db-46e9-a296-e99a7d3d7f89.875x283.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/a94baa27-d23f-424a-9378-52c0f22453dd.746x316.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/a94baa27-d23f-424a-9378-52c0f22453dd.746x316.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/b96dc908-719b-40e9-b023-f551756581b2.921x299.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/b96dc908-719b-40e9-b023-f551756581b2.921x299.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/ca675e49-3eab-4c2f-a69d-4bc5643c923d.825x542.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/ca675e49-3eab-4c2f-a69d-4bc5643c923d.825x542.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/d33149f9-4baa-4919-a4b7-1537209e4ee9.832x511.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/d33149f9-4baa-4919-a4b7-1537209e4ee9.832x511.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/ed2dbd06-5842-4a80-9f42-92626d9af0dd.741x306.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/ed2dbd06-5842-4a80-9f42-92626d9af0dd.741x306.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/f4940f23-1262-43ee-98d1-36eff284c50a.617x376.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/f4940f23-1262-43ee-98d1-36eff284c50a.617x376.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/f7e9cc4a-b48e-4990-b0a4-cf5012111c88.833x503.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/f7e9cc4a-b48e-4990-b0a4-cf5012111c88.833x503.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-garbage-collection/f848d719-90f6-4eab-8095-4b80bbb61714.751x303.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-garbage-collection/f848d719-90f6-4eab-8095-4b80bbb61714.751x303.png -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/16b1c289-a523-4d45-b9c8-41d5a1f6381d.948x645.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/16b1c289-a523-4d45-b9c8-41d5a1f6381d.948x645.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/203fc0e1-dcc2-4b02-8ee5-f1206505179f.975x606.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/203fc0e1-dcc2-4b02-8ee5-f1206505179f.975x606.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/4fccc003-4b8c-43f4-92db-b74a696995e7.831x669.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/4fccc003-4b8c-43f4-92db-b74a696995e7.831x669.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/5d9413f4-4efc-42d1-bc1e-0cef20e177b2.880x657.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/5d9413f4-4efc-42d1-bc1e-0cef20e177b2.880x657.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/6862938f-5ce7-45ec-a871-21a6eeb11268.865x564.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/6862938f-5ce7-45ec-a871-21a6eeb11268.865x564.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/8c4152ab-ff07-40b0-81cd-21c073884757.557x413.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/8c4152ab-ff07-40b0-81cd-21c073884757.557x413.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/992324ce-51e2-4e8d-b3fa-e755da1a21fe.402x309.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/992324ce-51e2-4e8d-b3fa-e755da1a21fe.402x309.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/9e458394-71c5-41b3-8960-6bd8d76cb425.975x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/9e458394-71c5-41b3-8960-6bd8d76cb425.975x468.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-io/e7e8dcc9-e60d-414a-913c-91d46c5cb84a.723x424.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-io/e7e8dcc9-e60d-414a-913c-91d46c5cb84a.723x424.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-jvm-classloader/010312d7-a0c7-4731-b72b-bb10f85f588c.662x112.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-jvm-classloader/010312d7-a0c7-4731-b72b-bb10f85f588c.662x112.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-jvm-classloader/b837ce5f-2ebb-4148-9dc1-031d8d6e45d0.491x409.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-jvm-classloader/b837ce5f-2ebb-4148-9dc1-031d8d6e45d0.491x409.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-jvm-classloader/fe9599d2-4b1e-497e-bb6f-0569c4635b6f.587x402.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-jvm-classloader/fe9599d2-4b1e-497e-bb6f-0569c4635b6f.587x402.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-merged-annotation/8381e1c7-a40b-47c2-a2c4-912851d8d4aa.793x414.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-merged-annotation/8381e1c7-a40b-47c2-a2c4-912851d8d4aa.793x414.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-proxy-and-aop/cba6bf3c-f433-469b-9eb8-53dcb4591a07.959x564.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-proxy-and-aop/cba6bf3c-f433-469b-9eb8-53dcb4591a07.959x564.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-proxy-and-aop/eca7d56a-e13c-4f6f-9de6-2a3b8806d928.688x556.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-proxy-and-aop/eca7d56a-e13c-4f6f-9de6-2a3b8806d928.688x556.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-proxy-and-aop/ed4af016-41a6-4cee-a428-d4f84e50588d.975x458.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-proxy-and-aop/ed4af016-41a6-4cee-a428-d4f84e50588d.975x458.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/30aea029-03f7-4379-aed3-e530f12ad283.975x189.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/30aea029-03f7-4379-aed3-e530f12ad283.975x189.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/73bb37f0-6a78-4710-8046-3b428bc46ac1.975x208.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/73bb37f0-6a78-4710-8046-3b428bc46ac1.975x208.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/76327415-551c-4652-a2d1-f25edaf1f5c8.975x203.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/76327415-551c-4652-a2d1-f25edaf1f5c8.975x203.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/91c27188-a379-4167-bd86-74520148dcda.975x142.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/91c27188-a379-4167-bd86-74520148dcda.975x142.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/cb0a8b0c-4b58-4194-aa24-831ed4d8b64f.975x274.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/cb0a8b0c-4b58-4194-aa24-831ed4d8b64f.975x274.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-skip-list/f63d447e-a72e-42fe-b15c-252f387ab57d.975x224.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-skip-list/f63d447e-a72e-42fe-b15c-252f387ab57d.975x224.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-type-erasure/0423f7a1-c52c-4ddc-bd0e-0fbd584c675d.845x253.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-type-erasure/0423f7a1-c52c-4ddc-bd0e-0fbd584c675d.845x253.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-type-erasure/33c4344c-1896-4e69-8b41-fb7a85e2c76a.894x289.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-type-erasure/33c4344c-1896-4e69-8b41-fb7a85e2c76a.894x289.jpg -------------------------------------------------------------------------------- /public/image/posts/talking-about-type-erasure/b8ec3047-6910-42af-b837-18cadce51705.866x547.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/talking-about-type-erasure/b8ec3047-6910-42af-b837-18cadce51705.866x547.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-acrylic/162def46-075d-44be-a327-19814cb7948a.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-acrylic/162def46-075d-44be-a327-19814cb7948a.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-acrylic/830c86e5-6257-464e-a5fe-57d8ec407830.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-acrylic/830c86e5-6257-464e-a5fe-57d8ec407830.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-acrylic/b8336ce0-db93-4291-a002-9e11378f7109.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-acrylic/b8336ce0-db93-4291-a002-9e11378f7109.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/445ef0a6-e90b-4edb-bfbe-e5a66fedaa7c.800x413.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/445ef0a6-e90b-4edb-bfbe-e5a66fedaa7c.800x413.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/479b760b-11ca-4a56-91ae-f97f12d626c4.975x327.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/479b760b-11ca-4a56-91ae-f97f12d626c4.975x327.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/521f4874-80e1-4009-9efc-6bdedd7452df.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/521f4874-80e1-4009-9efc-6bdedd7452df.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/6ebe988f-1810-4181-9743-18453c8ec918.770x228.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/6ebe988f-1810-4181-9743-18453c8ec918.770x228.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/7cf49f9e-4741-4879-a259-a1a7413265eb.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/7cf49f9e-4741-4879-a259-a1a7413265eb.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/92bcd898-9b75-40f5-856e-79f7e30ddf3f.623x252.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/92bcd898-9b75-40f5-856e-79f7e30ddf3f.623x252.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/b1e9e690-b4f0-44ee-9918-f52dad7a208e.734x413.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/b1e9e690-b4f0-44ee-9918-f52dad7a208e.734x413.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/febe0858-9bf5-4cc8-9d2c-8b587fca730d.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-java-gdb-debugging-environment-windows/febe0858-9bf5-4cc8-9d2c-8b587fca730d.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/0658a702-f312-4996-9bdd-cebec16d71dd.852x571.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/0658a702-f312-4996-9bdd-cebec16d71dd.852x571.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/0bde6720-9095-4dd4-b774-929d1a61897e.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/0bde6720-9095-4dd4-b774-929d1a61897e.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/5a7a9396-d3b1-402d-9471-fb1ff110c79a.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/5a7a9396-d3b1-402d-9471-fb1ff110c79a.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/6e67f371-17c8-45bc-bca1-74af06110bc9.975x521.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/6e67f371-17c8-45bc-bca1-74af06110bc9.975x521.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/77df43ba-ef39-40db-bfb4-f966357cb9ab.313x262.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/77df43ba-ef39-40db-bfb4-f966357cb9ab.313x262.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/a152725d-70fa-4fbc-82c2-482f1e50bdb3.975x508.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/a152725d-70fa-4fbc-82c2-482f1e50bdb3.975x508.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/b188376f-4cfa-419c-b391-4397f5107ef4.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/b188376f-4cfa-419c-b391-4397f5107ef4.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/b223401b-c693-4966-a758-fd803bacb67f.835x541.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/b223401b-c693-4966-a758-fd803bacb67f.835x541.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/c74617fe-bd66-462d-a02f-86f9b30000d7.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/c74617fe-bd66-462d-a02f-86f9b30000d7.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/cfa26d47-c72c-4d82-98a4-e663d67d0337.975x523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/cfa26d47-c72c-4d82-98a4-e663d67d0337.975x523.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/e55243c5-63a3-4551-beb3-93cb26318fb2.888x382.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/e55243c5-63a3-4551-beb3-93cb26318fb2.888x382.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/fe91955d-98fc-44e9-b9ac-b626792165d7.975x548.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-configuration-php-gdb-debugging-environment-windows/fe91955d-98fc-44e9-b9ac-b626792165d7.975x548.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-java-output-chinese-garbled-problem-solving/26fe1026-3307-429a-a12a-6c2a93b215fb.606x309.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-java-output-chinese-garbled-problem-solving/26fe1026-3307-429a-a12a-6c2a93b215fb.606x309.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-java-output-chinese-garbled-problem-solving/515b652c-ee23-4223-8041-76f4bf172640.626x482.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-java-output-chinese-garbled-problem-solving/515b652c-ee23-4223-8041-76f4bf172640.626x482.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-java-output-chinese-garbled-problem-solving/53b9eea0-0629-4a6c-8908-82ece98f06ea.679x261.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-java-output-chinese-garbled-problem-solving/53b9eea0-0629-4a6c-8908-82ece98f06ea.679x261.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-java-output-chinese-garbled-problem-solving/a5b831fb-6908-4cab-a917-cae1519595d1.975x765.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-java-output-chinese-garbled-problem-solving/a5b831fb-6908-4cab-a917-cae1519595d1.975x765.jpg -------------------------------------------------------------------------------- /public/image/posts/vscode-java-output-chinese-garbled-problem-solving/be915c1c-ed38-4708-8512-338357fbb9d7.975x186.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vscode-java-output-chinese-garbled-problem-solving/be915c1c-ed38-4708-8512-338357fbb9d7.975x186.jpg -------------------------------------------------------------------------------- /public/image/posts/vue-cli2-project-migration-log/53936521-0d1d-4491-ab77-57d58342f7ea.289x743.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vue-cli2-project-migration-log/53936521-0d1d-4491-ab77-57d58342f7ea.289x743.png -------------------------------------------------------------------------------- /public/image/posts/vue-cli2-project-migration-log/9fe94a2f-e936-47c0-acac-537fb582059a.302x600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/vue-cli2-project-migration-log/9fe94a2f-e936-47c0-acac-537fb582059a.302x600.png -------------------------------------------------------------------------------- /public/image/posts/wordpress-enabled-service-worker/4ab2a711-4ce1-4008-9dc0-8b4c6e22f9b3.975x475.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wordpress-enabled-service-worker/4ab2a711-4ce1-4008-9dc0-8b4c6e22f9b3.975x475.jpg -------------------------------------------------------------------------------- /public/image/posts/writing-spring-tests-with-kotlin/15be6816-8448-4aa4-8726-2d3046466d4a.1024x844.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/writing-spring-tests-with-kotlin/15be6816-8448-4aa4-8726-2d3046466d4a.1024x844.jpg -------------------------------------------------------------------------------- /public/image/posts/wsl-2-recording/56293883-075e-48ab-b427-f156845ca906.975x326.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wsl-2-recording/56293883-075e-48ab-b427-f156845ca906.975x326.jpg -------------------------------------------------------------------------------- /public/image/posts/wsl-2-recording/8043b3b4-45ef-4572-b314-a634078af0a8.975x578.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wsl-2-recording/8043b3b4-45ef-4572-b314-a634078af0a8.975x578.jpg -------------------------------------------------------------------------------- /public/image/posts/wsl-2-recording/9b64207b-588b-4646-8609-6dea3541762b.975x578.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wsl-2-recording/9b64207b-588b-4646-8609-6dea3541762b.975x578.jpg -------------------------------------------------------------------------------- /public/image/posts/wsl-2-recording/d5388e77-5047-4412-843a-3deff55eac11.975x505.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wsl-2-recording/d5388e77-5047-4412-843a-3deff55eac11.975x505.jpg -------------------------------------------------------------------------------- /public/image/posts/wsl-2-recording/f07f9ec0-cabb-4c37-8184-c99febddc2fd.975x578.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/wsl-2-recording/f07f9ec0-cabb-4c37-8184-c99febddc2fd.975x578.jpg -------------------------------------------------------------------------------- /public/image/posts/xkeditor/28907719-a1f2-42fc-8bd6-b46459d48ebe.975x457.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xkeditor/28907719-a1f2-42fc-8bd6-b46459d48ebe.975x457.jpg -------------------------------------------------------------------------------- /public/image/posts/xkeditor/8d1b3502-a349-4999-ac92-d0db53583c70.975x458.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xkeditor/8d1b3502-a349-4999-ac92-d0db53583c70.975x458.jpg -------------------------------------------------------------------------------- /public/image/posts/xknote/3068876b-d515-4fa7-b047-3b2f0db2728f.975x476.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xknote/3068876b-d515-4fa7-b047-3b2f0db2728f.975x476.jpg -------------------------------------------------------------------------------- /public/image/posts/xknote/313ebb9c-e2a4-4b42-b556-4881c3865d04.975x476.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xknote/313ebb9c-e2a4-4b42-b556-4881c3865d04.975x476.jpg -------------------------------------------------------------------------------- /public/image/posts/xknote/4a8a0838-636b-4039-929c-8a9ced22c36a.975x476.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xknote/4a8a0838-636b-4039-929c-8a9ced22c36a.975x476.jpg -------------------------------------------------------------------------------- /public/image/posts/xknote/e670f590-354b-47ad-9c4a-5cbf60139944.975x476.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/public/image/posts/xknote/e670f590-354b-47ad-9c4a-5cbf60139944.975x476.jpg -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/renovate.json -------------------------------------------------------------------------------- /src/adapters/adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/adapters/adapter.ts -------------------------------------------------------------------------------- /src/adapters/github-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/adapters/github-adapter.ts -------------------------------------------------------------------------------- /src/adapters/scraper-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/adapters/scraper-adapter.ts -------------------------------------------------------------------------------- /src/adapters/use-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/adapters/use-adapter.ts -------------------------------------------------------------------------------- /src/app/(admin)/api/keystatic/[...params]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(admin)/api/keystatic/[...params]/route.ts -------------------------------------------------------------------------------- /src/app/(admin)/keystatic/[[...params]]/page.tsx: -------------------------------------------------------------------------------- 1 | export default function Page() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /src/app/(admin)/keystatic/keystatic.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(admin)/keystatic/keystatic.tsx -------------------------------------------------------------------------------- /src/app/(admin)/keystatic/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(admin)/keystatic/layout.tsx -------------------------------------------------------------------------------- /src/app/(group)/archive/[slug]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(group)/archive/[slug]/page.tsx -------------------------------------------------------------------------------- /src/app/(group)/archive/[slug]/page/[index]/page.tsx: -------------------------------------------------------------------------------- 1 | export { default, generateMetadata } from "../../page"; 2 | -------------------------------------------------------------------------------- /src/app/(group)/archives/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(group)/archives/page.tsx -------------------------------------------------------------------------------- /src/app/(group)/category/[slug]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(group)/category/[slug]/page.tsx -------------------------------------------------------------------------------- /src/app/(group)/category/[slug]/page/[index]/page.tsx: -------------------------------------------------------------------------------- 1 | export { default, generateMetadata } from "../../page"; 2 | -------------------------------------------------------------------------------- /src/app/(group)/tag/[slug]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(group)/tag/[slug]/page.tsx -------------------------------------------------------------------------------- /src/app/(group)/tag/[slug]/page/[index]/page.tsx: -------------------------------------------------------------------------------- 1 | export { default, generateMetadata } from "../../page"; 2 | -------------------------------------------------------------------------------- /src/app/(home)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(home)/page.tsx -------------------------------------------------------------------------------- /src/app/(home)/page/[index]/page.tsx: -------------------------------------------------------------------------------- 1 | export { default, generateMetadata } from "../../page"; 2 | -------------------------------------------------------------------------------- /src/app/(metadata)/manifest.json/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(metadata)/manifest.json/route.ts -------------------------------------------------------------------------------- /src/app/(metadata)/robots.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(metadata)/robots.ts -------------------------------------------------------------------------------- /src/app/(metadata)/rss.xml/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(metadata)/rss.xml/route.ts -------------------------------------------------------------------------------- /src/app/(metadata)/sitemap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(metadata)/sitemap.ts -------------------------------------------------------------------------------- /src/app/(page)/[slug]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(page)/[slug]/page.tsx -------------------------------------------------------------------------------- /src/app/(post)/post/[slug]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(post)/post/[slug]/page.tsx -------------------------------------------------------------------------------- /src/app/(special)/links/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(special)/links/page.tsx -------------------------------------------------------------------------------- /src/app/(special)/projects/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/(special)/projects/page.tsx -------------------------------------------------------------------------------- /src/app/api/github/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/api/github/route.ts -------------------------------------------------------------------------------- /src/app/api/scraper/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/api/scraper/route.ts -------------------------------------------------------------------------------- /src/app/api/search/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/api/search/route.ts -------------------------------------------------------------------------------- /src/app/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/error.tsx -------------------------------------------------------------------------------- /src/app/global-error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/global-error.tsx -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/not-found.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/app/not-found.tsx -------------------------------------------------------------------------------- /src/components/docs/article/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/article/client.tsx -------------------------------------------------------------------------------- /src/components/docs/article/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/article/index.tsx -------------------------------------------------------------------------------- /src/components/docs/article/inner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/article/inner.tsx -------------------------------------------------------------------------------- /src/components/docs/article/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/article/preview.tsx -------------------------------------------------------------------------------- /src/components/docs/article/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/article/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/articles/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/articles/client.tsx -------------------------------------------------------------------------------- /src/components/docs/articles/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/articles/index.tsx -------------------------------------------------------------------------------- /src/components/docs/articles/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/articles/preview.tsx -------------------------------------------------------------------------------- /src/components/docs/articles/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/articles/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/blockquote/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/blockquote/index.tsx -------------------------------------------------------------------------------- /src/components/docs/blockquote/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/blockquote/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/code/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/code/index.tsx -------------------------------------------------------------------------------- /src/components/docs/code/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/code/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/divider/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/divider/index.tsx -------------------------------------------------------------------------------- /src/components/docs/divider/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/divider/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/github/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/github/client.tsx -------------------------------------------------------------------------------- /src/components/docs/github/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/github/index.tsx -------------------------------------------------------------------------------- /src/components/docs/github/inner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/github/inner.tsx -------------------------------------------------------------------------------- /src/components/docs/github/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/github/preview.tsx -------------------------------------------------------------------------------- /src/components/docs/github/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/github/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/heading/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/heading/index.tsx -------------------------------------------------------------------------------- /src/components/docs/heading/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/heading/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/image/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/image/index.tsx -------------------------------------------------------------------------------- /src/components/docs/image/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/image/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/index.tsx -------------------------------------------------------------------------------- /src/components/docs/inline-code/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/inline-code/index.tsx -------------------------------------------------------------------------------- /src/components/docs/inline-code/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/inline-code/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/katex/client.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | export * from "./index"; 3 | -------------------------------------------------------------------------------- /src/components/docs/katex/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/katex/index.tsx -------------------------------------------------------------------------------- /src/components/docs/katex/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/katex/preview.tsx -------------------------------------------------------------------------------- /src/components/docs/katex/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/katex/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/layout/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/layout/index.tsx -------------------------------------------------------------------------------- /src/components/docs/layout/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/layout/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/link/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/link/index.tsx -------------------------------------------------------------------------------- /src/components/docs/link/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/link/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/list/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/list/index.tsx -------------------------------------------------------------------------------- /src/components/docs/list/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/list/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/message/client.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | export * from "./index"; 3 | -------------------------------------------------------------------------------- /src/components/docs/message/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/message/index.tsx -------------------------------------------------------------------------------- /src/components/docs/message/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/message/preview.tsx -------------------------------------------------------------------------------- /src/components/docs/message/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/message/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/paragraph/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/paragraph/index.tsx -------------------------------------------------------------------------------- /src/components/docs/paragraph/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/paragraph/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/styles.css.ts -------------------------------------------------------------------------------- /src/components/docs/table/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/table/index.tsx -------------------------------------------------------------------------------- /src/components/docs/table/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/docs/table/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/article-info/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/article-info/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/article-info/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/article-info/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/error-found/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/error-found/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/error-found/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/error-found/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/footer/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/footer/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/footer/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/footer/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/grid/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/grid/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/grid/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/grid/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/header/blog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/blog.tsx -------------------------------------------------------------------------------- /src/components/layouts/header/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/header/link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/link.tsx -------------------------------------------------------------------------------- /src/components/layouts/header/menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/menu.tsx -------------------------------------------------------------------------------- /src/components/layouts/header/search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/search.tsx -------------------------------------------------------------------------------- /src/components/layouts/header/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/header/theme.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/header/theme.tsx -------------------------------------------------------------------------------- /src/components/layouts/hero/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/hero/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/hero/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/hero/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/main/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/main/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/main/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/main/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/meta-info/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/meta-info/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/meta-info/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/meta-info/styles.css.ts -------------------------------------------------------------------------------- /src/components/layouts/root/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/root/client.tsx -------------------------------------------------------------------------------- /src/components/layouts/root/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/root/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/root/metadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/root/metadata.ts -------------------------------------------------------------------------------- /src/components/layouts/root/styles.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/root/styles.tsx -------------------------------------------------------------------------------- /src/components/layouts/title/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/title/index.tsx -------------------------------------------------------------------------------- /src/components/layouts/title/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/layouts/title/styles.css.ts -------------------------------------------------------------------------------- /src/components/root/analytics/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/analytics/index.tsx -------------------------------------------------------------------------------- /src/components/root/canvas/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/canvas/index.tsx -------------------------------------------------------------------------------- /src/components/root/canvas/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/canvas/styles.css.ts -------------------------------------------------------------------------------- /src/components/root/hello-world/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/hello-world/index.tsx -------------------------------------------------------------------------------- /src/components/root/progress-bar/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/progress-bar/index.tsx -------------------------------------------------------------------------------- /src/components/root/progress-bar/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/progress-bar/styles.css.ts -------------------------------------------------------------------------------- /src/components/root/spotlight/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/spotlight/index.tsx -------------------------------------------------------------------------------- /src/components/root/spotlight/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/root/spotlight/styles.css.ts -------------------------------------------------------------------------------- /src/components/templates/articles/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/articles/index.tsx -------------------------------------------------------------------------------- /src/components/templates/articles/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/articles/styles.css.ts -------------------------------------------------------------------------------- /src/components/templates/group/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/group/index.tsx -------------------------------------------------------------------------------- /src/components/templates/page/default.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/page/default.tsx -------------------------------------------------------------------------------- /src/components/templates/page/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/page/index.tsx -------------------------------------------------------------------------------- /src/components/templates/template/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/templates/template/index.tsx -------------------------------------------------------------------------------- /src/components/ui/aspect-ratio/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/aspect-ratio/index.tsx -------------------------------------------------------------------------------- /src/components/ui/aspect-ratio/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/aspect-ratio/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/button/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/button/index.tsx -------------------------------------------------------------------------------- /src/components/ui/button/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/button/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/client-only/ClientOnly.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/client-only/ClientOnly.tsx -------------------------------------------------------------------------------- /src/components/ui/divider/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/divider/index.tsx -------------------------------------------------------------------------------- /src/components/ui/divider/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/divider/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/iconify/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/iconify/client.tsx -------------------------------------------------------------------------------- /src/components/ui/iconify/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/iconify/index.tsx -------------------------------------------------------------------------------- /src/components/ui/iconify/query.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/iconify/query.ts -------------------------------------------------------------------------------- /src/components/ui/iconify/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/iconify/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/image/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/image/index.tsx -------------------------------------------------------------------------------- /src/components/ui/image/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/image/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/link/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/link/index.tsx -------------------------------------------------------------------------------- /src/components/ui/link/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/link/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/loading/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/loading/index.tsx -------------------------------------------------------------------------------- /src/components/ui/loading/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/loading/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/pagination/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/pagination/index.tsx -------------------------------------------------------------------------------- /src/components/ui/pagination/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/pagination/styles.css.ts -------------------------------------------------------------------------------- /src/components/ui/tippy/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/ui/tippy/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/artalk/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/artalk/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/artalk/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/artalk/styles.css.ts -------------------------------------------------------------------------------- /src/components/widgets/copyright/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/copyright/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/copyright/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/copyright/styles.css.ts -------------------------------------------------------------------------------- /src/components/widgets/friends/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/friends/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/friends/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/friends/styles.css.ts -------------------------------------------------------------------------------- /src/components/widgets/projects/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/projects/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/projects/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/projects/styles.css.ts -------------------------------------------------------------------------------- /src/components/widgets/toc/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/toc/index.tsx -------------------------------------------------------------------------------- /src/components/widgets/toc/styles.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/components/widgets/toc/styles.css.ts -------------------------------------------------------------------------------- /src/contents/fetcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/fetcher.ts -------------------------------------------------------------------------------- /src/contents/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/index.ts -------------------------------------------------------------------------------- /src/contents/reader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/reader.ts -------------------------------------------------------------------------------- /src/contents/searcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/searcher.ts -------------------------------------------------------------------------------- /src/contents/slugger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/slugger.ts -------------------------------------------------------------------------------- /src/contents/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/contents/types.ts -------------------------------------------------------------------------------- /src/env/private.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/env/private.d.ts -------------------------------------------------------------------------------- /src/env/private.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/env/private.mjs -------------------------------------------------------------------------------- /src/env/public.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/env/public.d.ts -------------------------------------------------------------------------------- /src/env/public.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/env/public.mjs -------------------------------------------------------------------------------- /src/hooks/use-intersection-observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/hooks/use-intersection-observer.ts -------------------------------------------------------------------------------- /src/hooks/use-is-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/hooks/use-is-client.ts -------------------------------------------------------------------------------- /src/locales/en.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/locales/en.ts -------------------------------------------------------------------------------- /src/locales/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/locales/index.ts -------------------------------------------------------------------------------- /src/locales/zh-hans.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/locales/zh-hans.ts -------------------------------------------------------------------------------- /src/locales/zh-hant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/locales/zh-hant.ts -------------------------------------------------------------------------------- /src/theme/global.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/theme/global.css.ts -------------------------------------------------------------------------------- /src/theme/providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/theme/providers.tsx -------------------------------------------------------------------------------- /src/theme/theme.css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/theme/theme.css.ts -------------------------------------------------------------------------------- /src/theme/tokens.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/theme/tokens.ts -------------------------------------------------------------------------------- /src/types/global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/types/global.d.ts -------------------------------------------------------------------------------- /src/utils/canvas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/utils/canvas.ts -------------------------------------------------------------------------------- /src/utils/vender.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/src/utils/vender.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syfxlin/blog/HEAD/tsconfig.json --------------------------------------------------------------------------------